<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Gallaecio&amp;feedformat=atom</id>
		<title>KDE TechBase - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Gallaecio&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Special:Contributions/Gallaecio"/>
		<updated>2013-05-25T12:06:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/Template:Box1</id>
		<title>Template:Box1</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Template:Box1"/>
				<updated>2013-04-28T20:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;alert {{{4}}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; valign:top&amp;quot;&amp;gt;{{{3}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:10px; float:left&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;{{{2}}}&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{{1}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;clearfix&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Use this template for content that needs to be specially emphasized. Syntax: {{Input|1=&amp;lt;nowiki&amp;gt;{{Box1|2=Title|3=Image|4=color|1=text}}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The template takes four arguments:&lt;br /&gt;
# The text of the main body of the box&lt;br /&gt;
# The title of the box&lt;br /&gt;
# An image file to be displayed in the top left of the box - the image size should be 40 x 40&lt;br /&gt;
# The background color (optional): possible values&lt;br /&gt;
#* default is yellow&lt;br /&gt;
#* ''alert-info'' gives blue - use with care; it doesn't work well with links&lt;br /&gt;
#* ''alert-success'' gives green&lt;br /&gt;
#* ''alert-error'' gives red&lt;br /&gt;
&lt;br /&gt;
Example: {{Input|1=&amp;lt;nowiki&amp;gt;{{Box1|2=Example|3=[[Image:Dialog-information.png|left|40px|link=]]|1=This is an example box}}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Box1|2=Example|3=[[Image:Dialog-information.png|left|40px|link=]]|1=This is an example box}}&lt;br /&gt;
&lt;br /&gt;
Please avoid using this template directly in pages. If you need something that doesn't already exist, consider making a new template based on this template. That way it will be much easier to maintain TechBase, and the risk of introducing unintended effects on your page is reduced considerably.&lt;br /&gt;
&lt;br /&gt;
Existing templates based on this template: [[Template:Info]], [[Template:Note]], [[Template:Tip]], [[Template:Warning]], [[Template:Remember]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Template]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Template:Note</id>
		<title>Template:Note</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Template:Note"/>
				<updated>2013-04-28T20:11:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Removed an unnecesary closing tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Box1|2={{{2|Note}}}|3=[[Image:Note-box-icon.png|noframe|left|40px]]|4=alert-success|1={{{1}}} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template displays an info box in the page. Syntax: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Note|2=title|1=text}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# The body of the box&lt;br /&gt;
# (optional) the title of the box - Translators: Consider creating a translated version of this template instead of using this parameter every time.&lt;br /&gt;
&lt;br /&gt;
Example: {{Input|1=&amp;lt;nowiki&amp;gt;{{Note|1=Take note of this.}}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|1=Take note of this.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Template:Note</id>
		<title>Template:Note</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Template:Note"/>
				<updated>2013-04-28T20:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Removed an unnecesary break.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Box1|2={{{2|Note}}}|3=[[Image:Note-box-icon.png|noframe|left|40px]]|4=alert-success|1={{{1}}} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template displays an info box in the page. Syntax: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Note|2=title|1=text}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# The body of the box&lt;br /&gt;
# (optional) the title of the box - Translators: Consider creating a translated version of this template instead of using this parameter every time.&lt;br /&gt;
&lt;br /&gt;
Example: {{Input|1=&amp;lt;nowiki&amp;gt;{{Note|1=Take note of this.}}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Note|1=Take note of this.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Template]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Policies/Kdelibs_Coding_Style</id>
		<title>Policies/Kdelibs Coding Style</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Policies/Kdelibs_Coding_Style"/>
				<updated>2013-02-28T20:07:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Fixed the links to the astyle-kdelibs script, now hosted in git.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
This document describes the recommended coding style for kdelibs. Nobody is forced to use this style, but to have consistent formatting of the source code files it is recommended to make use of it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
'''In short: Kdelibs coding style follows the [http://wiki.qt-project.org/Coding_Style Qt 4 coding style].'''&lt;br /&gt;
&lt;br /&gt;
== Indentation == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
* No tabs&lt;br /&gt;
* 4 Spaces instead of one tab&lt;br /&gt;
&lt;br /&gt;
== Variable declaration == &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* Each variable declaration on a new line&lt;br /&gt;
* Each new word in a variable name starts with a capital letter (so-called camelCase)&lt;br /&gt;
* Avoid abbreviations&lt;br /&gt;
* Take useful names. No short names, except:&lt;br /&gt;
** Single character variable names can denote counters and temporary variables whose purpose is obvious&lt;br /&gt;
* Variables and functions start with a lowercase letter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
KProgressBar *prbar;&lt;br /&gt;
QString prtxt, errstr;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
KProgressBar *downloadProgressBar;&lt;br /&gt;
QString progressText;&lt;br /&gt;
QString errorString;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespace == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
* Use blank lines to group statements&lt;br /&gt;
* Use only one empty line&lt;br /&gt;
* Use one space after each keyword&lt;br /&gt;
* For pointers or references, use a single space before '*' or '&amp;amp;', but not after&lt;br /&gt;
* No space after a cast&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
QString* myString;&lt;br /&gt;
if(true){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
QString *myString;&lt;br /&gt;
if (true) {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Braces == &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
As a base rule, the left curly brace goes on the same line as the start of the statement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true) {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Exception: Function implementations, class, struct and namespace declarations always have the opening brace on the start of a line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
void debug(int i)&lt;br /&gt;
{&lt;br /&gt;
    qDebug(&amp;quot;foo: %i&amp;quot;, i);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Debug&lt;br /&gt;
{&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
Use curly braces even when the body of a conditional statement contains only one line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true)&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; ++i)&lt;br /&gt;
    qDebug(&amp;quot;%i&amp;quot;, i);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true) {&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; ++i) {&lt;br /&gt;
    qDebug(&amp;quot;%i&amp;quot;, i);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Switch statements == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Case labels are on the same column as the switch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
switch (myEnum) {&lt;br /&gt;
case Value1:&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
case Value2:&lt;br /&gt;
    doSomethingElse();&lt;br /&gt;
    // fall through&lt;br /&gt;
default:&lt;br /&gt;
    defaultHandling();&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Line breaks == &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Try to keep lines shorter than 100 characters, inserting line breaks as necessary.&lt;br /&gt;
&lt;br /&gt;
== Qt Includes == &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* If you add #includes for Qt classes, use both the module and class name.  This allows library code to be used by applications without excessive compiler include paths.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
#include &amp;lt;QString&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
#include &amp;lt;QtCore/QString&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Artistic Style (astyle) automatic code formatting == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
You can use [http://astyle.sourceforge.net/ astyle] (&amp;gt;=1.23) to format code or to test if you have followed this document. Run the following command:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
astyle --indent=spaces=4 --brackets=linux \&lt;br /&gt;
       --indent-labels --pad=oper --unpad=paren \&lt;br /&gt;
       --one-line=keep-statements --convert-tabs \&lt;br /&gt;
       --indent-preprocessor \&lt;br /&gt;
       `find -type f -name '*.cpp'-or -name '*.cc' -or -name '*.h'`&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
With astyle (&amp;gt;=2.01) you need to run the following command:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
astyle --indent=spaces=4 --brackets=linux \&lt;br /&gt;
       --indent-labels --pad-oper --unpad-paren --pad-header \&lt;br /&gt;
       --keep-one-line-statements --convert-tabs \&lt;br /&gt;
       --indent-preprocessor \&lt;br /&gt;
       `find -type f -name '*.cpp' -or -name '*.cc' -or -name '*.h'`&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
You can find a shell script to run this command in:&lt;br /&gt;
&lt;br /&gt;
* [https://projects.kde.org/projects/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/astyle-kdelibs kde-dev-scripts/astyle-kdelibs] (POSIX)&lt;br /&gt;
* [https://projects.kde.org/projects/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/astyle-kdelibs.bat kde-dev-scripts/astyle-kdelibs.bat] (Windows)&lt;br /&gt;
&lt;br /&gt;
== Emacs and Vim scripts == &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
The &amp;quot;scripts&amp;quot; directory in the kdesdk module contains, among other useful things, some useful additions to the Emacs and Vim text editors that make it easier to edit KDE code with them.&lt;br /&gt;
 &lt;br /&gt;
=== Emacs ===&lt;br /&gt;
The [http://websvn.kde.org/trunk/KDE/kdesdk/scripts/kde-emacs kde-emacs] directory contains a set of key bindings, macros and general useful code. It is compatible with both GNU Emacs and XEmacs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
To start using kde-emacs, add the following to your .emacs:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'load-path &amp;quot;/path/to/kde-emacs&amp;quot;)&lt;br /&gt;
(require 'kde-emacs)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Many settings can be changed by editing the &amp;quot;kde-emacs&amp;quot; group via &amp;lt;tt&amp;gt;M-x customize-group&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
For more information, including what the key bindings are and what additional settings you could add to your .emacs, please check &amp;lt;tt&amp;gt;kde-emacs.el&amp;lt;/tt&amp;gt; itself.&lt;br /&gt;
&lt;br /&gt;
=== Vim === &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
You can find a vim script in [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/kde-devel-vim.vim kdesdk/scripts/kde-devel-vim.vim] that helps you to keep the coding style correct. In addition to defaulting to the kdelibs coding style it will automatically use the correct style for Solid and kdepim code. If you want to add rules for other projects feel free to add them in the SetCodingStyle function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
To use the script, include it in your {{path|~/.vimrc}} like this:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
source /path/to/kde/sources/kdesdk/scripts/kde-devel-vim.vim&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
Document started by Urs Wolfer. Some parts of this document have been adopted from the Qt Coding Style document posted by Zack Rusin on kde-core-devel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
[[Category:Policies]] [[Category:C++]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Thread:Talk:Installing_third_party_softwares_in_terminal/Build/kdesrc-build/error_message_when_starting/reply</id>
		<title>Thread:Talk:Installing third party softwares in terminal/Build/kdesrc-build/error message when starting/reply</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Thread:Talk:Installing_third_party_softwares_in_terminal/Build/kdesrc-build/error_message_when_starting/reply"/>
				<updated>2013-02-28T19:53:43Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Reply to error message when starting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure you got the right person?&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:35Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;unhaicona&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusión ==&lt;br /&gt;
Existen tres xeitos de instalar iconas: de maneira global como parte dun tema visual, como parte do tema visual dun aplicativo en concreto, ou de maneira independente. Escolla a instalación que mellor se adapte ás súas necesidades.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Autor inicial:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:35Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;unhaicona&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusión ==&lt;br /&gt;
Existen tres xeitos de instalar iconas: de maneira global como parte dun tema visual, como parte do tema visual dun aplicativo en concreto, ou de maneira independente. Escolla a instalación que mellor se adapte ás súas necesidades.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Autor inicial:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3/gl]]&lt;br /&gt;
[[Category:Arquitectura/gl]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/58/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/58/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/58/gl"/>
				<updated>2012-12-22T09:43:35Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:KDE3/gl]]&lt;br /&gt;
[[Category:Arquitectura/gl]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/57/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/57/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/57/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Autor inicial:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;unhaicona&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;unhaicona&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusión ==&lt;br /&gt;
Existen tres xeitos de instalar iconas: de maneira global como parte dun tema visual, como parte do tema visual dun aplicativo en concreto, ou de maneira independente. Escolla a instalación que mellor se adapte ás súas necesidades.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/55/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/55/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/55/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;unhaicona&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/56/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/56/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/56/gl"/>
				<updated>2012-12-22T09:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Conclusión ==&lt;br /&gt;
Existen tres xeitos de instalar iconas: de maneira global como parte dun tema visual, como parte do tema visual dun aplicativo en concreto, ou de maneira independente. Escolla a instalación que mellor se adapte ás súas necesidades.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/52/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/52/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/52/gl"/>
				<updated>2012-12-22T09:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/53/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/53/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/53/gl"/>
				<updated>2012-12-22T09:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Non ten que nomear as iconas de ningún xeito especial, e ademais as iconas non se procesarán, é dicir, nin se lles aplicarán efectos nin se terán en conta a súa profundidade de cor e resolución.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/54/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/54/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/54/gl"/>
				<updated>2012-12-22T09:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas independentes poden cargarse co cargador de iconas, indicando o grupo ''User'':&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;br /&gt;
&lt;br /&gt;
=== Iconas independentes ===&lt;br /&gt;
&lt;br /&gt;
As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/50/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/50/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/50/gl"/>
				<updated>2012-12-22T09:43:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Iconas independentes ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/51/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/51/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/51/gl"/>
				<updated>2012-12-22T09:43:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas independentes instálanse en {{path|$KDEDIR/share/apps/$APPNAME/pics}}. Para instalalas, engada o seguinte ao seu ficheiro {{path|Makefile.am}}.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/47/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/47/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/47/gl"/>
				<updated>2012-12-22T09:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Cargar iconas de tema visual ===&lt;br /&gt;
As iconas de tema visual cárganse co cargador de iconas, empregando os grupos de iconas estándar. Por exemplo:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/48/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/48/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/48/gl"/>
				<updated>2012-12-22T09:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/49/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/49/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/49/gl"/>
				<updated>2012-12-22T09:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Isto cargará a icona «kfind», coa profundidade de cor e resolución coas que está configurado o grupo ''Desktop''.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
Para instalala nun directorio específico do aplicativo, empregue estas:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/44/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/44/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/44/gl"/>
				<updated>2012-12-22T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KDE_ICON = open kfind&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/45/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/45/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/45/gl"/>
				<updated>2012-12-22T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalala nun directorio específico do aplicativo, empregue estas:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/46/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/46/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/46/gl"/>
				<updated>2012-12-22T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemplos:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/41/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/41/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/41/gl"/>
				<updated>2012-12-22T09:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemplos:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/42/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/42/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/42/gl"/>
				<updated>2012-12-22T09:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/43/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/43/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/43/gl"/>
				<updated>2012-12-22T09:43:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar estas iconas de maneira global, engada a seguinte liña ao ficheiro {{path|Makefile.am}}.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Instalar iconas de tema visual ===&lt;br /&gt;
&lt;br /&gt;
O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/39/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/39/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/39/gl"/>
				<updated>2012-12-22T09:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O sistema de configuración das fontes de KDE —e en concreto &amp;lt;code&amp;gt;am_edit&amp;lt;/code&amp;gt;— permite a instalación de iconas de tema visual. O primeiro que debe facer é nomear as iconas de xeito que quede claro onde quedarán instaladas, tal e como se indica na seguinte táboa:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/40/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/40/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/40/gl"/>
				<updated>2012-12-22T09:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!|profundidade de cor&lt;br /&gt;
! resolución&lt;br /&gt;
! -&lt;br /&gt;
! contexto&lt;br /&gt;
! -&lt;br /&gt;
! nome&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action &lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device &lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directorio raíz ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/36/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/36/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/36/gl"/>
				<updated>2012-12-22T09:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Directorio raíz ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/37/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/37/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/37/gl"/>
				<updated>2012-12-22T09:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas de tema visual poden instalarse de maneira global, con respecto á instalación de KDE, ou nun lugar específico para cada aplicativo. No caso da instalación global, a xerarquía do tema de iconas parte do directorio {{path|$KDEDIR/share/icons}}; no caso da instalación por aplicativo, a xerarquía partirá de {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/38/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/38/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/38/gl"/>
				<updated>2012-12-22T09:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Instalar iconas de tema visual ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
=== Xerarquía de directorios ===&lt;br /&gt;
&lt;br /&gt;
A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/33/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/33/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/33/gl"/>
				<updated>2012-12-22T09:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Xerarquía de directorios ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/34/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/34/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/34/gl"/>
				<updated>2012-12-22T09:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A seguinte é a xerarquía de directorios nos que se almacenan as iconas de tema visual.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/35/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/35/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/35/gl"/>
				<updated>2012-12-22T09:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;br /&gt;
&lt;br /&gt;
Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/31/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/31/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/31/gl"/>
				<updated>2012-12-22T09:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''action'''. A icona representa unha acción nunha barra de ferramentas. Por exemplo, «Abrir» ou «Gardar».&lt;br /&gt;
* '''application'''. A icona representa un aplicativo. For exemplo, «kfind» representa KFind.&lt;br /&gt;
* '''device'''. A icona representa algo relacionado cun dispositivo. Por exemplo, «floppy» (''disquete'') our «mount» (''montar'').&lt;br /&gt;
* '''filesystem'''. A icona representa un elemento do sistema de ficheiros. Por exemplo, «directory» (''directorio''), «socket» (''sócket'') ou «trashcan» (''lixo'').&lt;br /&gt;
* '''mimetype'''. A icona representa un tipo de ficheiro MIME. Por exemplo, «text/html».&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/32/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/32/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/32/gl"/>
				<updated>2012-12-22T09:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Os ''contextos'' son importantes á hora de escoller a icona. Cando o usuario vai escoller unha icona, en vez de amosarlle a lista completa de iconas do sistema, o usuario pode filtrar a lista de iconas escollendo un contexto.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;br /&gt;
&lt;br /&gt;
=== Contexto das iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/29/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/29/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/29/gl"/>
				<updated>2012-12-22T09:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Contexto das iconas ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/30/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/30/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/30/gl"/>
				<updated>2012-12-22T09:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas de tema visual almacénanse nunha xerarquía de directorios segundo (1) a súa '''profundidade de cor''', (2) '''resolución''', e (3) '''contexto'''. O concepto de «contexto» é unha novidade introducida polo esquema de iconas de KDE. O contexto dunha icona é o que ''representa'' a icona. Estes son os contextos estándar:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;br /&gt;
&lt;br /&gt;
;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
&lt;br /&gt;
;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/26/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/26/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/26/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;40 cores&lt;br /&gt;
:16×16 píxeles.&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/27/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/27/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/27/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Cor real&lt;br /&gt;
:22×22 píxeles.&lt;br /&gt;
:32×32 píxeles.&lt;br /&gt;
:48×48 píxeles.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/28/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/28/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/28/gl"/>
				<updated>2012-12-22T09:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visite a [http://www.kde-artists.org/introduction.html fábrica de iconas de KDE] para informarse, entre outras cousas, de que resolucións son obrigatorias. Lembre que todas estas resolucións poden asociarse a un grupo de iconas.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;br /&gt;
&lt;br /&gt;
=== Resolucións predeterminadas de iconas ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/23/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/23/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/23/gl"/>
				<updated>2012-12-22T09:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas poden estar dispoñíbeis en distintas resolucións e profundidades de cor. Neste caso, falamos de «iconas de tema visual», mentres que en caso contrario falaremos de «iconas independentes».&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/24/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/24/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/24/gl"/>
				<updated>2012-12-22T09:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Resolucións predeterminadas de iconas ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/25/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/25/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/25/gl"/>
				<updated>2012-12-22T09:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As iconas de tema visual están dispoñíbeis en distintas resolucións e profundidades de cor. Os tamaños estándar son:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;br /&gt;
&lt;br /&gt;
== Instalar iconas ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/21/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/21/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/21/gl"/>
				<updated>2012-12-22T09:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# '''tamano'''. Resolución a empregar para a icona, ignorando o valor co que está configurado o grupo. Os efectos asociados ao grupo aplicaranse de todos xeitos.&lt;br /&gt;
# '''estado'''. O estado da icona. Os valor pode ser calquera dos seguintes: &amp;lt;code&amp;gt;KIcon::DefaultState&amp;lt;/code&amp;gt; (''normal''), &amp;lt;code&amp;gt;KIcon::ActiveState&amp;lt;/code&amp;gt; (''activo'') e &amp;lt;code&amp;gt;KIcon::DisabledState&amp;lt;/code&amp;gt; (''desactivado''). Os botóns das barras de ferramentas, por exemplo, vólvense ''activos'' cando o cursor está situado sobre eles, están ''desactivados'' cando as súas accións non están dispoñíbeis, e o seu estado é ''normal'' no resto das situacións. Cada estado pode levar asociados distintos efectos para fornecer información ao usuario de maneira visual.&lt;br /&gt;
# '''ruta_almacenamento'''. Se quere saber a ruta na que está almacenada a icona que cargou, forneza neste parámetro un punteiro a QString; a ruta gardarase na cadea apuntada.&lt;br /&gt;
# '''podeDevolverNulo'''. En caso de non atopar a icona indicada, o valor a devolver dependerá deste parámetro. Se o parámetro leva o valor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, devolverase un mapa de píxeles nulo; en caso contrario, devolverase a icona «unknown» (''descoñecido'').&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/22/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/22/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/22/gl"/>
				<updated>2012-12-22T09:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalar iconas ==&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Información adicional sobre loadIcon() ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/18/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/18/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/18/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icona;&lt;br /&gt;
icona = cargador-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/19/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/19/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/19/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Información adicional sobre loadIcon() ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/20/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/20/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/20/gl"/>
				<updated>2012-12-22T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vexamos agora o resto dos parámetros que se lle poden pasar a &amp;lt;code&amp;gt;loadIcon()&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/16/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/16/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/16/gl"/>
				<updated>2012-12-22T09:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''Desktop'''. Iconas para empregar no escritorio, no xestor de ficheiros e en espazos similares.&lt;br /&gt;
* '''Toolbar'''. Iconas para barras de ferramentas estándar.&lt;br /&gt;
* '''MainToolbar'''. Iconas para a barra de ferramentas principal. Un mesmo aplicativo pode ter varias barras de ferramentas; sempre haberá uha delas que sexa a principal. Adoita ser a que contén entradas como «Gardar» e «Abrir», e ten iconas máis grandes que o resto de barras.&lt;br /&gt;
* '''Small'''. Varias iconas pequenas, como as que aparecen nos menús contextuais, listas e árbores.&lt;br /&gt;
* '''User'''. Grupo especial para cargar iconas específicas de cada aplicativo. Véxase [[#Instalar iconas|Instalar iconas]].&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/17/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/17/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/17/gl"/>
				<updated>2012-12-22T09:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Por tanto, para cargar a icona «kfind» para o seu uso no grupo «Desktop», deberá empregar o seguinte código:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/14/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/14/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/14/gl"/>
				<updated>2012-12-22T09:43:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Por exemplo, un usuario pode escoller iconos de 32×32 píxeles cunha desaturación de 0,2 para as barras de ferramentas principais.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/15/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/15/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/15/gl"/>
				<updated>2012-12-22T09:43:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A continuación lístanse os grupos dispoñíbeis. Todos eles están definidos na clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon], polo que deben ir prefixados con ''KIcon::'' (por exemplo, &amp;lt;code&amp;gt;KIcon::Desktop&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''name''' - The name of the icon to load. You must pass the bare icon name here, without extension.&lt;br /&gt;
# '''group''' - The icon group. This is explained below.&lt;br /&gt;
&lt;br /&gt;
===  Icon groups  ===&lt;br /&gt;
&lt;br /&gt;
The idea of an ''icon group'' is an important concept in the KDE icon &lt;br /&gt;
scheme.  The icon group denotes where on the screen the icon is going to be used. &lt;br /&gt;
This is relevant because the KDE user can bind icon sizes and visual effects to &lt;br /&gt;
each group. When passing the icon group to the icon loader, you are in fact telling&lt;br /&gt;
it which incarnation of the icon to load. And by requiring the group argument, the &lt;br /&gt;
iconloader provides the means to have a consistent and configurable icon look over &lt;br /&gt;
the whole KDE desktop.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
===  Icon groups  ===&lt;br /&gt;
&lt;br /&gt;
The idea of an ''icon group'' is an important concept in the KDE icon &lt;br /&gt;
scheme.  The icon group denotes where on the screen the icon is going to be used. &lt;br /&gt;
This is relevant because the KDE user can bind icon sizes and visual effects to &lt;br /&gt;
each group. When passing the icon group to the icon loader, you are in fact telling&lt;br /&gt;
it which incarnation of the icon to load. And by requiring the group argument, the &lt;br /&gt;
iconloader provides the means to have a consistent and configurable icon look over &lt;br /&gt;
the whole KDE desktop.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;br /&gt;
&lt;br /&gt;
# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Grupos de iconas ===&lt;br /&gt;
&lt;br /&gt;
The idea of an ''icon group'' is an important concept in the KDE icon &lt;br /&gt;
scheme.  The icon group denotes where on the screen the icon is going to be used. &lt;br /&gt;
This is relevant because the KDE user can bind icon sizes and visual effects to &lt;br /&gt;
each group. When passing the icon group to the icon loader, you are in fact telling&lt;br /&gt;
it which incarnation of the icon to load. And by requiring the group argument, the &lt;br /&gt;
iconloader provides the means to have a consistent and configurable icon look over &lt;br /&gt;
the whole KDE desktop.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/11/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/11/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/11/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# '''nome'''. O nome da icona a cargar. Debe indicar o nome a secas, sen extensión.&lt;br /&gt;
# '''grupo'''. O grupo ao que pertence a icona. O concepto de grupo explícase máis adiante.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/12/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/12/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/12/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grupos de iconas ===&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/13/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/13/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/13/gl"/>
				<updated>2012-12-22T09:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O concepto de «grupo de icona» ten grande importancia dentro do esquema de iconas de KDE. O grupo denota en que parte da pantalla vai empregarse a icona. Esta información é relevante porque os usuarios de KDe poden asociar resolucións de iconas e efectos visuais a cada grupo. Ao pasarlle o grupo ao cargador de iconas, está a indicar que versión da icona cargar. E que o parámetro sexa obrigatorio axuda a conseguir unha aparencia consistente e personalizábel no conxunto do ambiente de escritorio KDE.&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/9/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/9/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/9/gl"/>
				<updated>2012-12-22T09:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/10/gl</id>
		<title>Translations:Development/Architecture/KDE3/Icon Loader/10/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Translations:Development/Architecture/KDE3/Icon_Loader/10/gl"/>
				<updated>2012-12-22T09:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Como pode observar, son moitos os parámtros que pode recibir o método. Os máis importantes son os dous primeiros:&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString name, int group, int size=0,&lt;br /&gt;
                  int state=KIcon::DefaultState, &lt;br /&gt;
                  QString *path_store=0L, bool canReturnNull=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, there are a lot of parameters. The first two are most important:&lt;br /&gt;
&lt;br /&gt;
# '''name''' - The name of the icon to load. You must pass the bare icon name here, without extension.&lt;br /&gt;
# '''group''' - The icon group. This is explained below.&lt;br /&gt;
&lt;br /&gt;
===  Icon groups  ===&lt;br /&gt;
&lt;br /&gt;
The idea of an ''icon group'' is an important concept in the KDE icon &lt;br /&gt;
scheme.  The icon group denotes where on the screen the icon is going to be used. &lt;br /&gt;
This is relevant because the KDE user can bind icon sizes and visual effects to &lt;br /&gt;
each group. When passing the icon group to the icon loader, you are in fact telling&lt;br /&gt;
it which incarnation of the icon to load. And by requiring the group argument, the &lt;br /&gt;
iconloader provides the means to have a consistent and configurable icon look over &lt;br /&gt;
the whole KDE desktop.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl</id>
		<title>Development/Architecture/KDE3/Icon Loader/gl</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE3/Icon_Loader/gl"/>
				<updated>2012-12-22T09:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gallaecio: Importing a new version from external source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cargar e instalar iconas en KDE'''&lt;br /&gt;
&lt;br /&gt;
As iconas son un elemento importante da interface de usuario de calquera ambiente de escritorio. Ben por escolla do usuario, ben polas propias limitacións do hardware, unha mesma icona pode fornecerse en diferentes resolucións e profundidades de cor. Para xestionar a situación dunha maneira fácil, desenvolveuse un xeito estándar de almacenar e acceder ás iconas.&lt;br /&gt;
&lt;br /&gt;
== Cargar iconas ==&lt;br /&gt;
&lt;br /&gt;
===  Acceder ao cargador de iconas ===&lt;br /&gt;
&lt;br /&gt;
As iconas cárganse mediante a clase [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html KIconLoader]. Todo aplicativo de KDe conta cun obxecto de carga de iconas global. Pode acceder ao obxecto co seguinte código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;kglobal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;kiconloader.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KIconLoader *cargador = KGlobal::iconLoader();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  Cargar iconas con loadIcon()  ===&lt;br /&gt;
&lt;br /&gt;
O cargador de iconas non se limita só a iso; tamén garda as iconas na '''caché''' e aplícalles efectos. Para cargar unha icona, empregue o método [http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIconLoader.html#a3 loadIcon()]; a súa declaración é a seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap loadIcon( QString nome, int grupo, int tamano=0,&lt;br /&gt;
                  int estado=KIcon::DefaultState, &lt;br /&gt;
                  QString *ruta_almacenamento=0L, bool podeDevolverNulo=false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, there are a lot of parameters. The first two are most important:&lt;br /&gt;
&lt;br /&gt;
# '''name''' - The name of the icon to load. You must pass the bare icon name here, without extension.&lt;br /&gt;
# '''group''' - The icon group. This is explained below.&lt;br /&gt;
&lt;br /&gt;
===  Icon groups  ===&lt;br /&gt;
&lt;br /&gt;
The idea of an ''icon group'' is an important concept in the KDE icon &lt;br /&gt;
scheme.  The icon group denotes where on the screen the icon is going to be used. &lt;br /&gt;
This is relevant because the KDE user can bind icon sizes and visual effects to &lt;br /&gt;
each group. When passing the icon group to the icon loader, you are in fact telling&lt;br /&gt;
it which incarnation of the icon to load. And by requiring the group argument, the &lt;br /&gt;
iconloader provides the means to have a consistent and configurable icon look over &lt;br /&gt;
the whole KDE desktop.&lt;br /&gt;
&lt;br /&gt;
For example: The user can configure that he wants 32 pixel icons with 0.2&lt;br /&gt;
desaturation for the main toolbars.&lt;br /&gt;
&lt;br /&gt;
The available icon groups are given below. All are defined in the&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/kdecore/html/classKIcon.html KIcon]&lt;br /&gt;
class, so prefix them with ''KIcon::''.&lt;br /&gt;
&lt;br /&gt;
* '''Desktop''' - Icons for use on the desktop, in the filemanager and similar places.&lt;br /&gt;
* '''Toolbar''' - Icon for in normal toolbars.&lt;br /&gt;
* '''MainToolbar''' - Icons for in the main toolbar. An application can have multiple toolbars, of which one is allways the main toolbar. This typically has entries like &amp;quot;Save&amp;quot; and &amp;quot;Open&amp;quot; and contains larger icons than the other toolbars.&lt;br /&gt;
* '''Small''' - Various small icons, like the ones in popup menus, listviews and treelists.&lt;br /&gt;
* '''User''' - Special group for loading application specific icons. This is explained in section 3: Installing icons.&lt;br /&gt;
&lt;br /&gt;
So, to load the icon &amp;quot;kfind&amp;quot; for use in the ''Desktop'' group, you'd use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap icon;&lt;br /&gt;
icon = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  loadIcon continued  ===&lt;br /&gt;
&lt;br /&gt;
Now lets discuss the other parameters of ''loadIcon''.&lt;br /&gt;
&lt;br /&gt;
# '''size''' - Override the globally configured size for the specified icon group. Effects bound to the group are still applied.&lt;br /&gt;
# '''state''' - The icon state. The icon state is one of ''KIcon::DefaultState'', ''KIcon::ActiveState'' or ''KIcon::DisabledState''. The icon state denotes in which state the icon is. Toolbar buttons, for example, are in state ''active'' if the mouse pointer is above them, in state ''disabled'' when they are not available, and ''default'' otherwise. Each icon state can have different effects assigned to it to give the user visual feedback.&lt;br /&gt;
# '''path_store''' - If you want to know where the icon you just loaded is in the filesystem, you can pass a pointer to a QString here and the icon path is stored there.&lt;br /&gt;
# '''canReturnNull''' - If the requested icon is not found, the result of ''loadIcon'' depends on this parameter. If ''canReturnNull'' is ''true'', a null pixmap will be returned, if not, the &amp;quot;unknown&amp;quot; icon is returned.&lt;br /&gt;
&lt;br /&gt;
== Installing icons ==&lt;br /&gt;
&lt;br /&gt;
Icons may come in different sizes and display depths.&lt;br /&gt;
I shall refer to these icons as ''themed icons''. Icons that come in&lt;br /&gt;
just one form are referred to as ''unthemed icons''.&lt;br /&gt;
&lt;br /&gt;
=== Default icon sizes ===&lt;br /&gt;
&lt;br /&gt;
Themed icons come in different sizes and display depths. The standard sizes&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
;40 Colors&lt;br /&gt;
:16x16 pixels&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
&lt;br /&gt;
;Truecolor&lt;br /&gt;
:22x22 pixels&lt;br /&gt;
:32x32 pixels&lt;br /&gt;
:48x48 pixels&lt;br /&gt;
&lt;br /&gt;
Please refer to the [http://www.kde-artists.org/introduction.html KDE icon factory]&lt;br /&gt;
for information on which icon sizes are mandatory and more.&lt;br /&gt;
Remember that each of these sizes can be bound to an icon group.&lt;br /&gt;
&lt;br /&gt;
=== Icon context ===&lt;br /&gt;
&lt;br /&gt;
Themed icons are stored in a directory hierarchy according to their&lt;br /&gt;
'''1. depth''', '''2. size''' and '''3. context'''. &lt;br /&gt;
The term ''context'' is new concept introduced by the KDE icon scheme. &lt;br /&gt;
The context of an icon is what the icon ''means''. The standard &lt;br /&gt;
contexts are given below:&lt;br /&gt;
&lt;br /&gt;
* '''action''' - The icon represents an action in a toolbar, for example &amp;quot;Open&amp;quot; or &amp;quot;Save&amp;quot;.&lt;br /&gt;
* '''application''' - The icon represents an application, for example &amp;quot;kfind&amp;quot;.&lt;br /&gt;
* '''device''' - The icon represents something related to a device, for example &amp;quot;floppy&amp;quot; or &amp;quot;mount&amp;quot;.&lt;br /&gt;
* '''filesystem''' - The icon represents something in the filesystem, for example &amp;quot;directory&amp;quot;, &amp;quot;socket&amp;quot; or &amp;quot;trashcan&amp;quot;.&lt;br /&gt;
* '''mimetype''' - The icon represents an mimetype, for example &amp;quot;text/html&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Contexts'' are important in one case: selecting an&lt;br /&gt;
icon. When an application wants the user to select an icon for, say, a &lt;br /&gt;
toolbar, it would be very user unfriendly to show every single icon&lt;br /&gt;
installed in KDE.  Instead, it is much better to let the user select &lt;br /&gt;
an icon from the &amp;quot;action&amp;quot; icons only. These all represent some action and&lt;br /&gt;
therefore are suitable for in toolbars.&lt;br /&gt;
&lt;br /&gt;
===  Directory hierarchy  ===&lt;br /&gt;
&lt;br /&gt;
The directory hierarchy in which themed icons are stored follows.&lt;br /&gt;
The directory names are self explanatory.&lt;br /&gt;
&lt;br /&gt;
 hicolor/&lt;br /&gt;
     22x22/&lt;br /&gt;
         actions/&lt;br /&gt;
         apps/&lt;br /&gt;
         devices/&lt;br /&gt;
         filesystems/&lt;br /&gt;
         mimetypes/&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
     48x48/&lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
 locolor/&lt;br /&gt;
     16x16/&lt;br /&gt;
         ...&lt;br /&gt;
     22x22/&lt;br /&gt;
         ...&lt;br /&gt;
     32x32/&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
=== Directory roots ===&lt;br /&gt;
&lt;br /&gt;
Themed icons can be installed either globally with respect to KDE, or in&lt;br /&gt;
application specific place.  In the global case, the icon theme hierarchy &lt;br /&gt;
resides under {{path|$KDEDIR/share/icons}} while in the application specific&lt;br /&gt;
case, it is under {{path|$KDEDIR/share/apps/$APPNAME/icons}}.&lt;br /&gt;
&lt;br /&gt;
=== Installing themed icons ===&lt;br /&gt;
&lt;br /&gt;
The KDE source configuration system (specifically, am_edit) has support for&lt;br /&gt;
installing themed icons. First, you have to name your icons in a way that it&lt;br /&gt;
is clear where it must be installed. The naming convention is explained in&lt;br /&gt;
the table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!|depth&lt;br /&gt;
! size&lt;br /&gt;
! -&lt;br /&gt;
! context&lt;br /&gt;
! -&lt;br /&gt;
! name&lt;br /&gt;
! .png&lt;br /&gt;
|-&lt;br /&gt;
|| hi || 16 || || action&lt;br /&gt;
|-&lt;br /&gt;
|| lo || 22 || || app&lt;br /&gt;
|-&lt;br /&gt;
||    || 32 || || device&lt;br /&gt;
|-&lt;br /&gt;
||    || 48 || || filesys&lt;br /&gt;
|-&lt;br /&gt;
||    ||    || || mime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 lo22-action-open.png&lt;br /&gt;
 hi48-app-kfind.png&lt;br /&gt;
&lt;br /&gt;
To install these icons globally, add this line to your &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 KDE_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
and to install them in an application specific directory, use this:&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/icons&lt;br /&gt;
 icon_ICON = open kfind&lt;br /&gt;
&lt;br /&gt;
=== Loading themed icons ===&lt;br /&gt;
Themed icons are loaded with the iconloader, using the standard icon groups.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;kfind&amp;quot;, KIcon::Desktop);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load the &amp;quot;kfind&amp;quot; icon, of depth and size specified for the&lt;br /&gt;
''Desktop'' group.&lt;br /&gt;
&lt;br /&gt;
=== Unthemed icons ===&lt;br /&gt;
&lt;br /&gt;
Unthemed icons are installed in {{path|$KDEDIR/share/apps/$APPNAME/pics}}.&lt;br /&gt;
To install them, use this in you &amp;lt;tt&amp;gt;Makefile.am&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 icondir = $(kde_datadir)/myapp/pics&lt;br /&gt;
 icon_DATA = open kfind&lt;br /&gt;
&lt;br /&gt;
You must not give the icons special names.&lt;br /&gt;
Also, no further processing is done on them: no effects and size,depth selection &lt;br /&gt;
is done.&lt;br /&gt;
&lt;br /&gt;
Unthemed icons can be loaded with the iconloader using the ''User''&lt;br /&gt;
group. This will load a user icon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
QPixmap pm;&lt;br /&gt;
pm = loader-&amp;gt;loadIcon(&amp;quot;myicon&amp;quot;, KIcon::User);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
There are 3 ways to install icons: global themed, application&lt;br /&gt;
specific themed and unthemed. All types of icons can be loaded with the&lt;br /&gt;
iconloader. You should choose a specific installation depending on your&lt;br /&gt;
needs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' Geert Jansen [mailto:jansen@kde.org &amp;amp;lt;jansen@kde.org&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Gallaecio</name></author>	</entry>

	</feed>