move kinfocenter from apps to workspace

svn path=/trunk/KDE/kdebase/apps/; revision=1091589
This commit is contained in:
Aaron J. Seigo 2010-02-17 03:34:23 +00:00
parent 418bae0553
commit 1dbf2e3dda
187 changed files with 0 additions and 35395 deletions

View file

@ -34,7 +34,6 @@ if ( Q_WS_MAC )
endif ( Q_WS_MAC )
if ( Q_WS_X11 )
add_subdirectory( kinfocenter )
add_subdirectory( nsplugins )
add_subdirectory( konsole )
add_subdirectory( kdepasswd )

View file

@ -1,4 +1,3 @@
add_subdirectory(kinfocenter)
add_subdirectory(dolphin)
add_subdirectory(kappfinder)
add_subdirectory(kfind)

View file

@ -1,18 +0,0 @@
add_subdirectory(devices)
add_subdirectory(dma)
add_subdirectory(interrupts)
add_subdirectory(ioports)
add_subdirectory(memory)
add_subdirectory(nics)
add_subdirectory(opengl)
add_subdirectory(partitions)
add_subdirectory(pci)
add_subdirectory(processor)
add_subdirectory(protocols)
add_subdirectory(samba)
add_subdirectory(scsi)
add_subdirectory(sound)
add_subdirectory(usb)
add_subdirectory(xserver)
add_subdirectory(view1394)
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en)

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/devices)

View file

@ -1,60 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Device Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>device</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Device Information</title>
<para>
This page displays information about the available devices.
</para>
<note>
<para>
The exact information displayed is system-dependent. On some systems,
device information cannot be displayed yet.
</para>
</note>
<para>
On &Linux;, this information is read from <filename
class="devicefile">/proc/devices</filename> and <filename
class="devicefile">/proc/misc</filename>, which are only available if
the <filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the kernel. Devices are listed by group (Character, Block,
or Miscellaneous). The device major number is listed, followed by an
identifying label.
</para>
<para>
The user cannot modify any settings on this page.
</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/dma)

View file

@ -1,64 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title><acronym>DMA</acronym> Channel Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>DMA</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title><acronym>DMA</acronym> Channel Information</title>
<para> This page displays information about the <acronym>DMA</acronym>
(Direct Memory Access) Channels. A <acronym>DMA</acronym> channel is a
direct connection that allows devices to transfer data to and from
memory without going through the processor. Typically, i386-architecture
systems (<acronym>PC</acronym>'s) have eight <acronym>DMA</acronym>
channels (0-7). </para>
<note> <para> The exact information displayed is system-dependent. On
some systems, <acronym>DMA</acronym> Channel information cannot be
displayed yet. </para> </note>
<para> On &Linux;, this information is read from <filename
class="devicefile">/proc/dma</filename>, which is only available if the
<filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the kernel. </para>
<para> A list of all currently-registered (<acronym>ISA</acronym> bus)
<acronym>DMA</acronym> channels that are in use is shown. The first
column shows the <acronym>DMA</acronym> channel, and the second column
shows the device which uses that channel. </para>
<para>
Unused <acronym>DMA</acronym> channels are not listed.
</para>
<para>
The user cannot modify any settings on this page.
</para>
</sect1>
</article>

View file

@ -1,267 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&kinfocenter;">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &infocenter;</title>
<authorgroup>
<author>
<firstname>Michael</firstname>
<surname>McBride</surname>
<affiliation><address>&Mike.McBride.mail;</address></affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2010-01-08</date>
<releaseinfo>&kde; 4.4</releaseinfo>
<abstract>
<para>This documentation describes &kde;'s information center.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>kinfocenter</keyword>
<keyword>system</keyword>
<keyword>information</keyword>
<keyword>module</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>The &infocenter;</title>
<para>
The &infocenter; (from now on referred to simply as <quote>the
information center</quote>) provides you with a centralized and convenient
overview of your system and desktop environment.
</para>
<para>
The information center is made up of multiple modules. Each module is a
separate application, but the information center organizes all of these
programs into a convenient location.
</para>
<para>
This next section details the use of the information center itself. For
information on individual modules, please see <link linkend="module">Info
Center Modules</link>
</para>
<sect1 id="information-center-starting">
<title>Starting the &infocenter;</title>
<para>
The &infocenter; can be started 3 ways:
</para>
<orderedlist>
<listitem>
<para>
By selecting <menuchoice><guimenu>Applications
</guimenu><guisubmenu>System</guisubmenu><guimenuitem>Info
Center</guimenuitem></menuchoice> from the application launcher in the panel.
</para>
</listitem>
<listitem>
<para>
By pressing <keycombo
action="simul">&Alt;<keycap>F2</keycap></keycombo>.
This will bring up &krunner;. Type
<userinput><command>kinfocenter</command></userinput>, and press &Enter;.
</para>
</listitem>
<listitem>
<para>
You can type <command>kinfocenter &amp;</command> at any command prompt.
</para>
</listitem>
</orderedlist>
<para>
All three of these methods are equivalent, and produce the same result.
</para>
</sect1>
<sect1 id="information-center-screen">
<title>The &infocenter; Screen</title>
<para>
When you start the information center, you are presented with a window,
which can be divided into 3 functional parts.
</para>
<screenshot>
<screeninfo>The &infocenter; Screen.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kinfocenter.png" format="PNG"/></imageobject>
<textobject><phrase>The &infocenter; Screen</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Across the top is a menubar. The menubar will provide you with quick
access to most of &infocenter;'s features like quitting, configuring shortcuts
and getting help.
</para>
<para>
Along the left hand side, is a column with a filter field at the top.
This is a where you choose which
module to investigate. You can learn how to navigate through the modules
in the section called <link linkend="module-intro">Navigating
Modules</link>.
</para>
<para>
The main panel shows you the system information about the selected module.
</para>
<!--
<para>
In this example, we are running &kde; 2.99, we started &infocenter;
as user <systemitem class="username">adridg</systemitem>, the computer is
named <systemitem class="systemname">aramis</systemitem>, it is a
FreeBSD system, Version 4.4-RELEASE, on a Pentium.
</para> -->
</sect1>
</chapter>
<!--*****************************************************************-->
<chapter id="module">
<title>The &infocenter; Modules</title>
<sect1 id="module-intro">
<title>Navigating Modules</title>
<para>
This is a list of the <emphasis>standard</emphasis> configuration
modules (sorted by category) provided by the <application
role="package">&kde; base</application> package. Please note that there
may be many more modules on your system if you have installed additional
software.
</para>
<itemizedlist>
<listitem>
<para><ulink url="help:/kinfocenter/devices/index.html">Devices</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/dma/index.html">DMA-Channels</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/view1394/index.html">IEEE 1394 Devices</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/interrupts/index.html">Interrupts</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/ioports/index.html">IO-Ports</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/memory/index.html">Memory</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/nics/index.html">Network Interfaces</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/opengl/index.html">OpenGL</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/partitions/index.html">Partitions</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/pci/index.html">PCI</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/processor/index.html">Processor</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/protocols/index.html">Protocols</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/samba/index.html">Samba Status Information</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/scsi/index.html">SCSI</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/sound/index.html">Sound</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/usb/index.html">USB Devices</ulink></para>
</listitem>
<listitem>
<para><ulink url="help:/kinfocenter/xserver/index.html">&X-Server;</ulink></para>
</listitem>
</itemizedlist>
</sect1>
<!--****************************************-->
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>&infocenter;</para>
<para>Program copyright 1997-2001 The &infocenter; Developers</para>
<para>Contributors:</para>
<itemizedlist>
<listitem><para>Matthias Hoelzer-Kluepfel
&Matthias.Hoelzer-Kluepfel.mail;</para></listitem>
<listitem><para>&Matthias.Elter; &Matthias.Elter.mail;</para></listitem>
</itemizedlist>
<para>Documentation <trademark class="copyright">copyright 2000 Michael
McBride</trademark> &Mike.McBride.mail;</para>
<para>Contributors:</para>
<itemizedlist>
<listitem><para>&Paul.Campbell; &Paul.Campbell.mail;</para></listitem>
<listitem><para>&Helge.Deller; &Helge.Deller.mail;</para></listitem>
<listitem><para>&Mark.Donohoe;</para></listitem>
<listitem><para>&Patrick.Dowler;</para></listitem>
<listitem><para>&Duncan.Haldane; <email>duncan@kde.org</email></para></listitem>
<listitem><para>&Steffen.Hansen; <email>stefh@mip.ou.dk</email>.</para></listitem>
<listitem><para>Matthias Hoelzer-Kluepfel &Matthias.Hoelzer-Kluepfel.mail;</para></listitem>
<listitem><para>Martin Jones &Martin.R.Jones.mail;</para></listitem>
<listitem><para>&Jost.Schenck; &Jost.Schenck.mail;</para></listitem>
<listitem><para>&Jonathan.Singer; &Jonathan.Singer.mail;</para></listitem>
<listitem><para>&Thomas.Tanghus; &Thomas.Tanghus.mail;</para></listitem>
<listitem><para>&Krishna.Tateneni; &Krishna.Tateneni.mail;</para></listitem>
<listitem><para>Ellis Whitehead <email>ewhitehe@uni-freiburg.de</email></para></listitem>
</itemizedlist>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
</book>
<!--
Local Variables:
mode: sgml
End:
-->

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/interrupts)

View file

@ -1,70 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Interrupt Request (<abbrev>IRQ</abbrev>) Lines</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>IRQ</keyword>
<keyword>interrupts</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Interrupt Request (<abbrev>IRQ</abbrev>) Lines in Use</title>
<para>This page displays information about the Interrupt Request
Lines in use, and the devices that use them.</para>
<para>An <acronym>IRQ</acronym> is a hardware line used in a
<acronym>PC</acronym> by (<acronym>ISA</acronym> bus) devices like
keyboards, modems, sound cards, &etc;, to send interrupt signals to the
processor to tell it that the device is ready to send or accept data.
Unfortunately, there are only sixteen <acronym>IRQ</acronym>'s (0-15)
available in the i386 (<acronym>PC</acronym>) architecture for sharing among
the various <acronym>ISA</acronym> devices.</para>
<para>Many hardware problems are the result of <acronym>IRQ</acronym>
conflicts, when two devices try to use the same <acronym>IRQ</acronym>, or
software is misconfigured to use a different <acronym>IRQ</acronym> from the
one a device is actually configured for.</para>
<note><para>The exact information displayed is system-dependent. On some
systems, <acronym>IRQ</acronym> information cannot be displayed
yet.</para></note>
<para>On &Linux;, this information is read from
<filename class="directory">/proc/interrupts</filename>, which is only
available if the <filename class="directory">/proc</filename>
pseudo-filesystem is compiled into the kernel.</para>
<para>The first column, is the <acronym>IRQ</acronym> number. The second
column, is the number of interrupts that have been received since the last
reboot. The third column shows the type of interrupt. The fourth,
identifies the device assigned to that interrupt.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/ioports)

View file

@ -1,64 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>I/O Port</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>ioports</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Input/Output Port Information</title>
<para>This page displays information about the I/O ports.</para>
<para>I/O Ports are memory addresses used by the processor for direct
communication with a device that has sent an
interrupt signal to the processor.</para>
<para>The exchange of commands or data between the processor and the device
takes place through the I/O port address of the device, which is a
hexadecimal
number. No two devices can share the same I/O port. Many devices use
multiple
I/O port addresses, which are expressed as a range of hexadecimal
numbers. </para>
<note><para>The exact information displayed is system-dependent. On some
systems, I/O port information can not yet be displayed.</para></note>
<para>On &Linux;, this information is read from <filename
class="devicefile">/proc/ioports</filename> which is only available if
the <filename class="devicefile">/proc</filename> pseudo-filesystem is
compiled into the kernel. A list of all currently-registered I/O port
regions that are in use is shown.</para>
<para>The first column is the I/O port (or the range of I/O ports), the
second column identifies the device that uses these I/O ports.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/memory)

View file

@ -1,108 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Memory Information</title>
<articleinfo>
<authorgroup>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-13</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>memory</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Memory Information</title>
<para>This module displays the current memory usage. It is updated
constantly, and can be very useful for pinpointing bottlenecks when certain
applications are executed.</para>
<sect2 id="memory-intro">
<title>Memory Types</title>
<para>The first thing you must understand, is there are two types of
<quote>memory</quote>, available to the operating system and the programs
that run within it.</para>
<para>The first type, is called physical memory. This is the memory located
within the memory chips, within your computer. This is the
<acronym>RAM</acronym> (for Random Access Memory) you bought when you
purchased your computer.</para>
<para>The second type of memory, is called virtual or swap memory. This
block of memory, is actually space on the hard drive. The operating
system reserves a space on the hard drive for <quote>swap space</quote>.
The operating system can use this virtual memory (or swap space), if it
runs out of physical memory. The reason this is called
<quote>swap</quote> memory, is the operating system takes some data that
it doesn't think you will want for a while, and saves that to disk in
this reserved space. The operating system then loads the new data you
need right now. It has <quote>swapped</quote> the not needed data, for
the data you need right now. Virtual or swap memory is not as fast as
physical memory, so operating systems try to keep data (especially often
used data), in the physical memory.</para>
<para>The total memory, is the combined total of physical memory and
virtual memory.</para>
</sect2>
<sect2 id="memory-use">
<title>Memory Information Module</title>
<para>This window is divided into a top and bottom section</para>
<para>The top section shows you the total physical memory, total free
physical memory, shared memory, and buffered memory.</para>
<para>All four values are represented as the total number of bytes, and
as the number of megabytes (1 megabyte = slightly more than 1,000,000
bytes)</para>
<para>The bottom section shows you three graphs: </para>
<itemizedlist>
<listitem><para><guilabel>Total Memory</guilabel> (this is the combination of physical and virtual memory).</para></listitem>
<listitem><para><guilabel>Physical Memory</guilabel></para></listitem>
<listitem><para>Virtual memory, or <guilabel>Swap Space</guilabel>.</para></listitem>
</itemizedlist>
<para>The green areas are free, and the red areas are used.</para>
<tip><para>The exact values of each type of memory are not critical, and
they change regularly. When you evaluate this page, look at
trends.</para>
<para>Does your computer have plenty of free space (green areas)? If
not, you can increase the swap size or increase the physical
memory.</para>
<para>Also, if your computer seems sluggish: is your physical memory
full, and does the hard drive always seem to be running? This suggests
that you do not have enough physical memory, and your computer is
relying on the slower virtual memory for commonly used data. Increasing
your physical memory will improve the responsiveness of your
computer.</para></tip>
</sect2>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/nics)

View file

@ -1,45 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Network Interfaces</title>
<articleinfo>
<authorgroup>
<author>&Lauri.Watts;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-11</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>Network</keyword>
<keyword>Interfaces</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Network Interfaces</title>
<para>
This page displays information about the network interfaces
installed in your computer.
</para>
<note><para>The exact information displayed is system-dependent. On
some systems, this information can not yet be displayed.</para></note>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,2 +0,0 @@
########### install files ###############
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/opengl)

View file

@ -1,47 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title><acronym>OpenGL</acronym></title>
<articleinfo>
<authorgroup>
<author><personname><firstname>Ilya</firstname><surname>Korniyko</surname></personname><email>k_ilya@ukr.net</email></author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date></date>
<releaseinfo></releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>OpenGL</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="opengl">
<title>OpenGL</title>
<para>This page displays information about installed <acronym>OpenGL</acronym> implementation.
OpenGL (for "Open Graphics Library") is a cross-platform,
hardware independent interface for 3D graphics. </para>
<para><acronym>GLX</acronym> is the binding for OpenGL to X Window system.</para>
<para> <acronym>DRI</acronym> (Direct Rendering Infrastucture) provides hardware acceleration for OpenGL.
You must have a videocard with 3D accelerator and properly installed driver for this.</para>
<para> </para>
<para>Read more at the official OpenGL site <ulink url="http://www.opengl.org">http://www.opengl.org</ulink> </para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/partitions)

View file

@ -1,56 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Partition Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>drive partition</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>Partition Information</title>
<para>This page displays information about partitions on your hard
drives.</para>
<note><para>The exact information displayed is system-dependent. On
some systems, partition information cannot be displayed
yet.</para></note>
<para>On &Linux;, this information is read from <filename
class="devicefile">/proc/partitions</filename>, which is only available
if the <filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the (2.1.x or later) kernel.</para>
<para>The first two columns are the major and minor numbers
respectively. The third column is the number of blocks (usually 1
block = 1024 bytes). The fourth column is a label for the
device.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/pci)

View file

@ -1,57 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title><acronym>PCI</acronym>-bus and Installed <acronym>PCI</acronym> Cards</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>PCI</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="pci">
<title><acronym>PCI</acronym>-bus and Installed <acronym>PCI</acronym>
Cards</title>
<para>This page displays information about the
<acronym>PCI</acronym>-bus and installed <acronym>PCI</acronym> cards,
and other devices that use the Peripheral Component Interconnect
(<acronym>PCI</acronym>) bus.</para>
<note><para>The exact information displayed is system-dependent. On some
systems, <acronym>PCI</acronym>-information can not yet be
displayed.</para> </note>
<para>On &Linux;, this information is read from <filename
class="devicefile">/proc/pci</filename> which is only available if the
<filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the kernel. A listing of all <acronym>PCI</acronym>
devices found during kernel initialization, and their configuration, is
shown.</para>
<para>Each entry begins with a bus, device and function number.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/processor)

View file

@ -1,56 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Processor Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>CPU</keyword>
<keyword>processor</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="processor">
<title>Processor Information</title>
<para>This page displays information about the system
Central Processing Unit (<acronym>CPU</acronym>).</para>
<note><para>The exact information displayed is system-dependent. On
some systems, processor information cannot be displayed
yet.</para></note>
<para>On &Linux;, this information is read from <filename
class="devicefile">/proc/cpuinfo</filename>, which is only available if
the <filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the kernel.</para>
<para>The exact contents of the window will depend on the
<acronym>CPU</acronym>(s) in your machine, but the window is organized
into two columns. The first column is the parameter, and the second
column is the value of that parameter.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/protocols)

View file

@ -1,39 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Protocols</title>
<articleinfo>
<authorgroup>
<author>&Lauri.Watts;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<keywordset>
<keyword>KDE</keyword>
<keyword>Protocols</keyword>
<keyword>IOSlaves</keyword>
</keywordset>
</articleinfo>
<sect1 id="protocols">
<title>Protocols</title>
<para>On the top of the window you will see a drop down box where you can select IOSlaves that
are installed on your system. IOSlaves are how &kde; applications
<quote>talk</quote> to other computers, other applications, or act on
files.</para>
<para>Selecting an IOSlave name from drop down box will display some help information
about that IOSlave, such as how to use it, and what it does.</para>
<para>The protocols module is purely informational, you cannot change
any settings here.</para>
</sect1>
</article>

View file

@ -1,4 +0,0 @@
########### install files ###############
#
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/samba)

View file

@ -1,207 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Samba Status Information</title>
<articleinfo>
<authorgroup>
<author>&Alexander.Neundorf;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>Samba</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="sambastatus">
<title>Samba Status Information</title>
<para>The Samba and <acronym>NFS</acronym> Status Monitor is a front end
to the programs <command>smbstatus</command> and
<command>showmount</command>. Smbstatus reports on current Samba
connections, and is part of the suite of Samba tools, which implements
the <acronym>SMB</acronym> (Session Message Block) protocol, also called
the NetBIOS or LanManager protocol.</para>
<para>This protocol can be used to provide printer sharing or drive
sharing services on a network including machines running the various
flavors of &Microsoft; &Windows;.</para>
<para><command>showmount</command> is part of the <acronym>NFS</acronym>
software package. <acronym>NFS</acronym> stands for Network File System
and is the traditional &UNIX; way to share folders over the
network. In this case the output of <command>showmount</command>
<option>-a localhost</option> is parsed. On some systems showmount is in
<filename class="directory">/usr/sbin</filename>, check if you have
showmount in your <envar>PATH</envar>.</para>
<sect2 id="smb-exports">
<title>Exports</title>
<para>On this page you can see a big list which shows the currently
active connections to Samba shares and <acronym>NFS</acronym> exports of
your machine. The first column shows you whether the resource is a Samba
(<acronym>SMB</acronym>) share or a <acronym>NFS</acronym> export. The
second column contains the name of the share, the third the name of the
remote host, which accesses this share. The remaining columns have only
a meaning for Samba-shares.</para>
<para>The fourth column contains the User <abbrev>ID</abbrev> of the
user, who accesses this share. Note that this does not have to be equal
to the &UNIX; user <abbrev>ID</abbrev> of this user. The same applies
for the next column, which displays the group <abbrev>ID</abbrev> of the
user.</para>
<para>Each connection to one of your shares is handled by a single
process (<command>smbd</command>), the next column shows the process
<abbrev>ID</abbrev> (<acronym>pid</acronym>) of this
<command>smbd</command>. If you kill this process the connected user
will be disconnected. If the remote user works from &Windows;, as soon
as this process is killed a new one will be created, so he will almost
not notice it.</para>
<para>The last column shows how many files this user has currently open.
Here you see only, how many files he has <emphasis>open</emphasis> just
now, you don't see how many he copied or formerly opened &etc;</para>
</sect2>
<sect2 id="smb-imports">
<title>Imports</title>
<para> Here you see which Samba- and <acronym>NFS</acronym>-shares from
other hosts are mounted on your local system. The first column shows
whether it is a Samba- or <acronym>NFS</acronym>-share, the second column
displays the name of the share, and the third shows where it is
mounted.</para>
<para>The mounted <acronym>NFS</acronym>-shares you should see on
&Linux; (this has been tested), and it should also work on &Solaris;
(this has not been tested).</para>
</sect2>
<sect2 id="smb-log">
<title>Log</title>
<para>This page presents the contents of your local samba log file in a
nice way. If you open this page, the list will be empty. You have to
press the <guibutton>Update</guibutton> button, then the samba log file
will be read and the results displayed. Check whether the samba log file
on your system is really at the location as specified in the input
line. If it is somewhere else or if it has another name, correct
it. After changing the file name you have to press
<guibutton>Update</guibutton> again.</para>
<para>Samba logs its actions according to the log level (see
<filename>smb.conf</filename>). If loglevel = 1, samba logs only when
somebody connects to your machine and when this connection is closed
again. If log level = 2, it logs also if somebody opens a file and if he
closes the file again. If the log level is higher than 2, yet more
stuff is logged.</para>
<para>If you are interested in who accesses your machine, and which
files are accessed, you should set the log level to 2 and regularly
create a new samba log file (&eg; set up a <command>cron</command> task
which once a week moves your current samba log file into another
folder or something like that). Otherwise your samba log file may
become very big.</para>
<para>With the four checkboxes below the big list you can decide, which
events are displayed in the list. You have to press
<guibutton>Update</guibutton> to see the results. If the log level of
your samba is too low, you won't see everything.</para>
<para>By clicking on the header of one column you can sort the list by
this column.</para>
</sect2>
<sect2 id="smb-statistics">
<title>Statistics</title>
<para>On this page you can filter the contents of the third page for
certain contents.</para>
<para>Let's say the <guilabel>Event</guilabel> field (not the one in the
list) is set to <userinput>Connection</userinput>,
<guilabel>Service/File</guilabel> is set to <userinput>*</userinput>,
<guilabel>Host/User</guilabel> is set to <userinput>*</userinput>,
<guilabel>Show expanded service info</guilabel> is disabled and
<guilabel>Show expanded host info</guilabel> is disabled.</para>
<para>If you press <guibutton>Update</guibutton> now, you will see how
often a connection was opened to share <literal>*</literal> (&ie; to any
share) from host <literal>*</literal> (&ie; from any host). Now enable
<guilabel>Show expanded host info</guilabel> and press
<guibutton>Update</guibutton> again. Now you will see for every host
which matches the wildcard <literal>*</literal>, how many connections
were opened by him.</para>
<para>Now press <guibutton>clear</guibutton>.</para>
<para>Now set the <guilabel>Event</guilabel> field to File Access and
enable <guilabel>Show expanded service info</guilabel> and press
<guibutton>Update</guibutton> again.</para>
<para>Now you will see how often every single file was accessed. If you
enable <guilabel>Show expanded host info</guilabel> too, you will see
how often every single user opened each file.</para>
<para>In the input lines <guilabel>Service/File</guilabel> and
<guilabel>Host/User</guilabel> you can use the wildcards
<literal>*</literal> and <literal>?</literal> in the same way you use
them at the command line. Regular expressions are not
recognized.</para>
<para>By clicking on the header of a column you can sort the list by
this column. This way you can check out which file was opened most
often, or which user opened the most files or whatever.</para>
</sect2>
<sect2 id="smb-stat-author">
<title>Section Author</title>
<para>Module copyright 2000: Michael Glauche and &Alexander.Neundorf; &Alexander.Neundorf.mail;</para>
<para>Originally written by: Michael Glauche</para>
<para>Currently maintained by: &Alexander.Neundorf; &Alexander.Neundorf.mail;</para>
<itemizedlist>
<title>Contributors</title>
<listitem><para>Conversion to kcontrol applet:</para>
<para>&Matthias.Hoelzer-Kluepfel; &Matthias.Hoelzer-Kluepfel.mail;</para></listitem>
<listitem><para>Use of <classname>K3Process</classname> instead of popen, and more error checking:</para>
<para>&David.Faure; &David.Faure.mail;</para></listitem>
<listitem><para>Conversion to kcmodule, added tab pages 2,3,4, bug
fixed:</para>
<para>&Alexander.Neundorf; &Alexander.Neundorf.mail;</para></listitem>
</itemizedlist>
<para>Documentation copyright 2000 &Alexander.Neundorf; &Alexander.Neundorf.mail;</para>
<para>Documentation translated to docbook by &Mike.McBride; &Mike.McBride.mail;</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
</sect2>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/scsi)

View file

@ -1,56 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title><acronym>SCSI</acronym> Interface Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>SCSI</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="scsi">
<title><acronym>SCSI</acronym> Interface Information</title>
<para>This page displays information about Small Computer Systems
Interface (<acronym>SCSI</acronym>) Interfaces and the attached
<acronym>SCSI</acronym> devices.</para>
<note><para>The exact information displayed is system-dependent. On
some systems <acronym>SCSI</acronym> information cannot be displayed
yet.</para></note>
<para>On &Linux;, this information is read from <filename
class="devicefile">/proc/scsi/scsi</filename>, which is only available
if the <filename class="directory">/proc</filename> pseudo-filesystem is
compiled into the kernel. A listing of all <acronym>SCSI</acronym>
devices known to the kernel is shown.</para>
<para>The devices are sorted numerically by their host, channel, and
<acronym>ID</acronym> numbers.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/sound)

View file

@ -1,51 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>Soundcard Information</title>
<articleinfo>
<authorgroup>
<author>&Matthias.Hoelzer-Kluepfel;</author>
<author>&Helge.Deller;</author>
<author>&Duncan.Haldane;</author>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>soundcard</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1 id="soundinfo">
<title>Soundcard Information</title>
<para>This page displays information about any soundcards installed in the
system.</para>
<note><para>The exact information displayed is system-dependent. On some
systems, soundcard information cannot be displayed yet.</para></note>
<para>On &Linux;, this information is read either from <filename
class="devicefile">/dev/sndstat</filename>, if present, or from
<filename class="devicefile">/proc/sound</filename>, which is only
available if the <filename class="directory">/proc</filename>
pseudo-filesystem is compiled into the (2.1.x or later) kernel.</para>
<para>The user cannot modify any settings on this page.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/usb)

View file

@ -1,43 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title><acronym>USB</acronym></title>
<articleinfo>
<authorgroup>
<author>
<firstname></firstname>
<surname></surname>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KControl</keyword>
<keyword>USB</keyword>
<keyword>System Information</keyword>
</keywordset>
</articleinfo>
<sect1 id="usb">
<title><acronym>USB</acronym></title>
<para>This module allows you to see the devices attached to your
<acronym>USB</acronym> bus(es).</para>
<para>This module is for information only, you cannot edit any
information you see here.</para>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/view1394)

View file

@ -1,54 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;">
<title>IEEE 1394 Devices</title>
<articleinfo>
<authorgroup>
<author>&Alexander.Neundorf;&Alexander.Neundorf.mail;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2009-11-05</date>
<releaseinfo>&kde; 4.4</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>devices</keyword>
<keyword>ieee1394</keyword>
<keyword>firewire</keyword>
</keywordset>
</articleinfo>
<sect1 id="view1394">
<title>IEEE 1394 Devices</title>
<para>The IEEE 1394 interface, also known as <trademark>FireWire</trademark>,
is a serial bus interface standard for high-speed
communications and isochronous real-time data transfer.</para>
<para>The list in this module displays all devices attached to IEEE 1394 bus and
allows you to reset the bus by clicking the <guibutton>Generate 1394 Bus Reset</guibutton>
button.</para>
<para>The meaning of the columns in this list:</para>
<itemizedlist>
<listitem><para><guilabel>Name</guilabel>: port or node name, the number can change with each bus reset</para></listitem>
<listitem><para><guilabel>GUID</guilabel>: the 64 bit GUID of the node</para></listitem>
<listitem><para><guilabel>Local</guilabel>: checked if the node is an IEEE 1394 port of your computer</para></listitem>
<listitem><para><guilabel>IRM</guilabel>: checked if the node is isochronous resource manager capable</para></listitem>
<listitem><para><guilabel>CRM</guilabel>: checked if the node is cycle master capable</para></listitem>
<listitem><para><guilabel>ISO</guilabel>: checked if the node supports isochronous transfers</para></listitem>
<listitem><para><guilabel>BM</guilabel>: checked if the node is bus manager capable</para></listitem>
<listitem><para><guilabel>PM</guilabel>: checked if the node is power management capable</para></listitem>
<listitem><para><guilabel>Acc</guilabel>: the cycle clock accuracy of the node, valid from 0 to 100</para></listitem>
<listitem><para><guilabel>Speed</guilabel>: the speed of the node</para></listitem>
<listitem><para><guilabel>Vendor</guilabel>: the vendor of the device</para></listitem>
</itemizedlist>
</sect1>
</article>

View file

@ -1,3 +0,0 @@
########### install files ###############
#
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kinfocenter/xserver)

View file

@ -1,56 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<article lang="&language;" id="xserver">
<title>X Server Information</title>
<articleinfo>
<authorgroup>
<author>&Mike.McBride;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<date>2002-02-12</date>
<releaseinfo>3.00.00</releaseinfo>
<keywordset>
<keyword>KDE</keyword>
<keyword>KControl</keyword>
<keyword>X server</keyword>
<keyword>system information</keyword>
</keywordset>
</articleinfo>
<sect1>
<title>X Server Information</title>
<para>This screen is useful for getting specific information about your
X server and the current session of X.</para>
<para>When you open this module, you are presented with some
information. The left hand side of the window is organized into a
tree. Some of the elements have a plus sign in front of the label.
Clicking this sign opens a <quote>submenu</quote> related to the
label. Clicking on a minus sign in front of a label hides the
submenu.</para>
<para>The right hand side of the window contains the individual
values for each of the parameters on the left.</para>
<para>The information presented will vary depending on your
setup.</para>
<note><para>Some setups may not be able to determine some or all of the
parameters.</para></note>
<para>You can not change any values from this menu. It is for
information only.</para>
</sect1>
</article>

View file

@ -1,72 +0,0 @@
add_definitions( -DKDE_DEFAULT_DEBUG_AREA=1208 )
add_subdirectory( about )
add_subdirectory( solidproc )
add_subdirectory( usbview )
add_subdirectory( memory )
add_subdirectory( partition )
add_subdirectory( ioslaveinfo )
if(NOT WIN32)
add_subdirectory( nics )
add_subdirectory( info )
add_subdirectory( samba )
macro_optional_find_package(OpenGL)
macro_log_feature(OPENGL_FOUND "OpenGL" "API for developing portable, interactive 2D and 3D graphics applications" "http://mesa3d.sourceforge.net" FALSE "" "View OpenGL details in kinfocenter.")
if(OPENGL_FOUND AND OPENGL_GLU_FOUND)
add_subdirectory( opengl )
else(OPENGL_FOUND AND OPENGL_GLU_FOUND)
MESSAGE(STATUS "OpenGL information module has been disabled.")
endif(OPENGL_FOUND AND OPENGL_GLU_FOUND)
macro_optional_find_package(PCIUTILS)
macro_log_feature(PCIUTILS_FOUND "PCIUTILS" "PciUtils is a library for direct access to PCI slots" "http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml" FALSE "" "View PCI details in kinfocenter.")
if(NOT APPLE)
add_subdirectory( pci )
endif(NOT APPLE)
endif(NOT WIN32)
macro_optional_find_package(RAW1394)
macro_log_feature(RAW1394_FOUND "RAW1394" "library for direct access to IEEE 1394 bus" "http://www.linux1394.org/" FALSE "" "View FireWire devices in kinfocenter.")
if(RAW1394_FOUND)
add_subdirectory( view1394 )
endif(RAW1394_FOUND)
set(kinfocenter_SRCS
main.cpp
toplevel.cpp
indexwidget.cpp
dockcontainer.cpp
aboutwidget.cpp
moduletreeview.cpp
global.cpp
modules.cpp
proxywidget.cpp
)
kde4_add_kdeinit_executable( kinfocenter ${kinfocenter_SRCS})
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
find_library(KVM_LIBRARY kvm)
target_link_libraries(kinfocenter ${KVM_LIBRARY})
endif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
target_link_libraries(kdeinit_kinfocenter ${KDE4_KIO_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_KUTILS_LIBS} )
install(TARGETS kdeinit_kinfocenter ${INSTALL_TARGETS_DEFAULT_ARGS})
install(TARGETS kinfocenter ${INSTALL_TARGETS_DEFAULT_ARGS})
########### install files ###############
install( FILES kinfocenter.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
install( FILES kinfocenterui.rc DESTINATION ${DATA_INSTALL_DIR}/kinfocenter )

View file

@ -1,2 +0,0 @@
#! /usr/bin/env bash
$XGETTEXT base/*.cpp base/*.h *.cpp -o $podir/kinfocenter.pot

View file

@ -1,2 +0,0 @@
install( FILES main.html kinfocenter.css DESTINATION ${DATA_INSTALL_DIR}/kinfocenter/about )

View file

@ -1,37 +0,0 @@
#title {
right: 80px;
font-size: x-large;
}
#tagline {
right: 80px;
font-size: x-small;
}
#barCenter {
font-size: x-small;
}
#tableTitle {
font-weight: bold;
padding-bottom: 1ex;
}
.kc_table {
font-size: x-small;
width: 100%;
}
.kc_leftcol {
width: 30%;
}
.kc_rightcol {
font-weight: bold;
}
.kc_use_text {
margin-bottom: 0;
font-size: xx-small;
}

View file

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
/*<![CDATA[*/
@import "%1"; /* kde_infopage.css */
%2 /* maybe @import "kde_infopage_rtl.css"; */
@import "kinfocenter.css";
/*body {font-size: px;}*/
/*]]>*/
</style>
</head>
<body>
<div id="header">
<div id="headerL"/>
<div id="headerR"/>
<div id="title">
%3 <!-- Title -->
</div>
<div id="tagline">
%4 <!-- Catchphrase -->
</div>
</div>
<!-- the bar -->
<div id="bar">
<div id="barT"><div id="barTL"/><div id="barTR"/><div id="barTC"/></div>
<div id="barL">
<div id="barR">
<div id="barCenter" class="bar_text">
%5<!-- Summary -->
</div>
</div>
</div>
<div id="barB"><div id="barBL"/><div id="barBR"/><div id="barBC"/></div>
</div>
<!-- the main text box -->
<div id="box">
<div id="boxT"><div id="boxTL"/><div id="boxTR"/><div id="boxTC"/></div>
<div id="boxL">
<div id="boxR">
<div id="boxCenter">
<!--Content-->
%6
</div>
</div>
</div>
<div id="boxB"><div id="boxBL"/><div id="boxBR"/><div id="boxBC"/></div>
</div>
<div id="footer"><div id="footerL"/><div id="footerR"/></div>
</body>
</html>

View file

@ -1,141 +0,0 @@
/*
Copyright (c) 2000,2001 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "aboutwidget.h"
#include "global.h"
#include "modules.h"
#include "moduletreeview.h"
#include <kstandarddirs.h>
#include <klocale.h>
#include <kdebug.h>
#include <kcursor.h>
#include <kglobalsettings.h>
#include <khtml_part.h>
#include <kapplication.h>
#include <kvbox.h>
#include <QFile>
#include <QTextStream>
#include "aboutwidget.moc"
static const char kcc_infotext[]= I18N_NOOP("KDE Info Center");
static const char title_infotext[]= I18N_NOOP("Get system and desktop environment information");
static const char intro_infotext[]= I18N_NOOP("Welcome to the \"KDE Info Center\", "
"a central place to find information about your "
"computer system.");
static const char use_text[]= I18N_NOOP("Click on the \"Help\" tab on the left to view help "
"for the active "
"control module. Use the \"Search\" tab if you are unsure "
"where to look for "
"a particular configuration option.");
static const char version_text[]= I18N_NOOP("KDE version:");
static const char user_text[]= I18N_NOOP("User:");
static const char host_text[]= I18N_NOOP("Hostname:");
static const char system_text[]= I18N_NOOP("System:");
static const char release_text[]= I18N_NOOP("Release:");
static const char machine_text[]= I18N_NOOP("Machine:");
AboutWidget::AboutWidget(QWidget *parent, ConfigModuleList* configModules, const QString &caption) :
KHBox(parent), _configModules(configModules), _caption(caption) {
setMinimumSize(400, 400);
// set qwhatsthis help
this->setWhatsThis(i18n(intro_infotext));
_viewer = new KHTMLPart( this );
_viewer->widget()->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
connect(_viewer->browserExtension(),
SIGNAL(openUrlRequest(const KUrl&, const KParts::OpenUrlArguments&, const KParts::BrowserArguments&)), this, SLOT(slotModuleLinkClicked(const KUrl&)));
updatePixmap();
}
void AboutWidget::updatePixmap() {
QString file = KStandardDirs::locate("data", "kinfocenter/about/main.html");
QFile f(file);
f.open(QIODevice::ReadOnly);
QTextStream t( &f);
QString res = t.readAll();
res = res.arg(KStandardDirs::locate("data", "kdeui/about/kde_infopage.css") );
if ( kapp->layoutDirection() == Qt::RightToLeft)
res = res.arg( "@import \"%1\";" ).arg(KStandardDirs::locate("data", "kdeui/about/kde_infopage_rtl.css") );
else
res = res.arg("");
QString title, intro, caption;
res = res.arg(i18n(kcc_infotext));
res = res.arg(i18n(title_infotext));
res = res.arg(i18n(intro_infotext));
QString content;
if (_configModules == NULL) {
content += "<table class=\"kc_table\">\n";
#define KC_HTMLROW( a, b ) "<tr><td class=\"kc_leftcol\">" + i18n( a ) + "</td><td class=\"kc_rightcol\">" + b + "</tr>\n"
content += KC_HTMLROW( version_text, KCGlobal::kdeVersion() );
content += KC_HTMLROW( user_text, KCGlobal::userName() );
content += KC_HTMLROW( host_text, KCGlobal::hostName() );
content += KC_HTMLROW( system_text, KCGlobal::systemName() );
content += KC_HTMLROW( release_text, KCGlobal::systemRelease() );
content += KC_HTMLROW( machine_text, KCGlobal::systemMachine() );
#undef KC_HTMLROW
content += "</table>\n";
content += "<p class=\"kc_use_text\">" + i18n(use_text) + "</p>\n";
} else {
content += "<div id=\"tableTitle\">" + _caption + "</div>";
content += "<table class=\"kc_table\">\n";
// traverse the list
foreach(ConfigModule* configModule, *_configModules) {
QString szName;
QString szComment;
content += "<tr><td class=\"kc_leftcol\">";
szName = configModule->moduleName();
szComment = configModule->comment();
content += "<a href=\"%1\">" + szName + "</a></td><td class=\"kc_rightcol\">" + szComment;
KUrl moduleURL(QString("kcm://%1").arg(QString().sprintf("%p", (void*)configModule)) );
QString linkURL(moduleURL.url() );
content = content.arg(linkURL);
_moduleMap.insert(linkURL, configModule);
content += "</td></tr>\n";
}
content += "</table>";
}
_viewer->begin(KUrl(file));
_viewer->write(res.arg(content) );
_viewer->end();
}
void AboutWidget::slotModuleLinkClicked(const KUrl& url) {
ConfigModule* module = _moduleMap[url.url()];
if (module) {
emit moduleSelected(module);
}
}

View file

@ -1,60 +0,0 @@
/*
Copyright (c) 2000,2001 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __aboutwidget_h__
#define __aboutwidget_h__
#include <QWidget>
#include <QListWidgetItem>
#include <QMap>
#include <QPixmap>
#include <kvbox.h>
class QPixmap;
class ConfigModule;
class KHTMLPart;
class KUrl;
class ConfigModuleList;
class AboutWidget : public KHBox
{
Q_OBJECT
public:
explicit AboutWidget(QWidget *parent, ConfigModuleList* modules = NULL, const QString &caption=QString());
signals:
void moduleSelected(ConfigModule *);
private Q_SLOTS:
void slotModuleLinkClicked( const KUrl& );
private:
/**
* Update the pixmap to be shown. Called from resizeEvent and from
* setCategory.
*/
void updatePixmap();
ConfigModuleList * _configModules;
QString _caption;
KHTMLPart *_viewer;
QMap<QString,ConfigModule*> _moduleMap;
};
#endif

View file

@ -1,13 +0,0 @@
# TODO: HAVE_COREAUDIO (for OSX)
# TODO: HAVE_LIBDEVINFO_H (for Solaris 7 and later)
# to be set if both -ldevinfo and libdevinfo.h exist
check_include_files(devinfo.h HAVE_DEVINFO_H) # info_fbsd.cpp
check_include_files(fstab.h HAVE_FSTAB_H) # info_linux.cpp
check_include_files(linux/raw.h HAVE_LINUX_RAW_H) # info_linux.cpp
check_include_files(mntent.h HAVE_MNTENT_H) # info_linux.cpp
check_include_files(sys/ioctl.h HAVE_SYS_IOCTL_H) # info_linux.cpp
check_include_files(sys/raw.h HAVE_SYS_RAW_H) # info_linux.cpp
check_include_files(Alib.h HAVE_ALIB_H) # info_hpux.cpp
configure_file (../base/config-infocenter.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-infocenter.h )

View file

@ -1,30 +0,0 @@
/* Define if you have the CoreAudio API */
#undef HAVE_COREAUDIO
/* Defines if you have libdevinfo of Solaris 7 or later */
#undef HAVE_LIBDEVINFO_H
/* Define to 1 if you have the <devinfo.h> header file. */
#cmakedefine HAVE_DEVINFO_H 1
/* Define to 1 if you have the <fstab.h> header file. */
#cmakedefine HAVE_FSTAB_H 1
/* Define to 1 if you have the <linux/raw.h> header file. */
#cmakedefine HAVE_LINUX_RAW_H 1
/* Define to 1 if you have the <mntent.h> header file. */
#cmakedefine HAVE_MNTENT_H 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#cmakedefine HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/raw.h> header file. */
#cmakedefine HAVE_SYS_RAW_H 1
/* Define to 1 if you have the <Alib.h> header file. */
#cmakedefine HAVE_ALIB_H 1
/* Define to 1 if you have statvfs */
#cmakedefine HAVE_STATVFS 1

View file

@ -1,347 +0,0 @@
/*
* info_aix.cpp
*
* Reza Arbab <arbab@austin.ibm.com>
*
* GetInfo_Partitions() and its helpers (get_fs_usage, fs_adjust_blocks)
* taken from info_hpux.cpp.
*
*/
#include <cf.h>
#define class _class
#include <odmi.h>
#include <sys/cfgodm.h>
#include <sys/cfgdb.h>
#undef class
#include <nl_types.h>
#include <string.h>
#include <kdebug.h>
#include <stdlib.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include <sys/types.h>
#include <unistd.h>
#include <fstab.h>
#include <errno.h>
#include <sys/utsname.h>
char * device_description(struct CuDv *cudv) {
char *desc= NULL;
struct PdDv *pddv = cudv->PdDvLn; /* link to Predefined Devices database */
nl_catd cat;
cat = catopen("/usr/lib/methods/devices.cat", NL_CAT_LOCALE);
if ((int)cat == -1)
return NULL;
desc = strdup(catgets(cat, pddv->setno, pddv->msgno, "N/A") );
catclose(cat);
return desc;
}
bool list_devices(QListView *lBox, char *criteria) {
struct CuDv *cudv; /* Customized Devices */
struct listinfo info;
int i;
char *cudv_desc;
QString cudv_status;
QListViewItem *lastitem= NULL;
lBox->addColumn(i18n("Name"));
lBox->addColumn(i18n("Status"));
lBox->addColumn(i18n("Location"));
lBox->addColumn(i18n("Description"));
if (odm_initialize() == -1) {
kError(0) << "odm_initialize() failed: odmerrno = " << odmerrno << endl;
return (false);
}
cudv = (struct CuDv *) odm_get_list(CuDv_CLASS, criteria, &info, 100, 2);
if ((int)cudv == -1) {
odm_terminate();
kError(0) << "odm_get_list() failed: odmerrno = " << odmerrno << endl;
return (false);
} else if (!cudv) /* empty list */
{
odm_terminate();
return (true);
}
for (i=0; i<info.num; i++) {
switch (cudv[i].status) {
case DEFINED:
cudv_status = QString("Defined");
break;
case AVAILABLE:
cudv_status = QString("Available");
break;
case STOPPED:
cudv_status = QString("Stopped");
break;
default:
cudv_status = QString("Unknown");
}
cudv_desc = device_description(&cudv[i]);
lastitem = new QListViewItem(lBox, lastitem,
QString(cudv[i].name),
cudv_status,
QString(cudv[i].location),
QString(cudv_desc ? cudv_desc : "N/A") );
if (cudv_desc)
free(cudv_desc);
}
if (odm_free_list(cudv, &info) == -1) {
odm_terminate();
kError(0) << "odm_free_list() failed: odmerrno = " << odmerrno << endl;
return (false);
}
odm_terminate();
return true;
}
enum CHIP
{
P2SC, Power, Power2, Power3, Power3_II, PowerPC,
PowerPC_604e, PowerPersonal, RD64_II, RS_III, RS64, RS64_II,
RS64_III, RS64_IV, RSC, ThinkPad, unknown,
NUM_CHIPS
};
static const char chip_name[NUM_CHIPS][16] = { "P2SC", "Power", "Power2", "Power3", "Power3-II", "PowerPC", "PowerPC 604e", "PowerPersonal", "RD64-II", "RS-III", "RS64", "RS64-II", "RS64-III", "RS64-IV", "RSC", "ThinkPad", "unknown" };
struct model {
char model_ID[21];
char machine_type[21];
char processor_speed[21];
unsigned short architecture; /* enum CHIP */
};
const
struct model _models[] = { { "02", "7015-930", "25", Power }, { "10", "7013-530", "25", Power }, { "10", "7016-730", "25", Power }, { "11", "7013-540", "30", Power }, { "14", "7013-540", "30", Power }, { "18", "7013-53H", "33", Power }, { "1C", "7013-550", "41.6", Power }, { "20", "7015-930", "25",
Power }, { "2E", "7015-950", "41", Power }, { "30", "7013-520", "20", Power }, { "31", "7012-320", "20", Power }, { "34", "7013-52H", "25", Power }, { "35", "7012-32H", "25", Power }, { "37", "7012-340", "33", Power }, { "38", "7012-350", "41", Power }, { "41", "7011-20", "33", PowerPC }, {
"45", "7011-220", "33", PowerPC }, { "42", "7006-41T/41W", "80", PowerPC }, { "43", "7008-M20", "33", Power }, { "43", "7008-M2A", "33", Power }, { "46", "7011-250", "66", PowerPC }, { "47", "7011-230", "45", RSC }, { "48", "7009-C10", "80", PowerPC },
/* 4C models use a different table -- see below */
{ "4C", "70XX", "(unknown)", unknown }, { "57", "7012-390", "67", Power2 }, { "57", "7030-3BT", "67", Power2 }, { "57", "9076-SP2 Thin", "67", Power2 }, { "58", "7012-380", "59", Power2 }, { "58", "7030-3AT", "59", Power2 }, { "59", "7012-39H", "67", Power2 }, { "59", "9076-SP2 Thin w/L2", "67",
Power2 }, { "5C", "7013-560", "50", Power }, { "63", "7015-970", "50", Power }, { "63", "7015-97B", "50", Power }, { "64", "7015-980", "62.5", Power }, { "64", "7015-98B", "62.5", Power }, { "66", "7013-580", "62.5", Power }, { "67", "7013-570", "50", Power }, { "67", "7015-R10", "50",
Power }, { "70", "7013-590", "66", Power2 }, { "70", "9076-SP2 Wide", "66", Power2 }, { "71", "7013-58H", "55", Power2 }, { "72", "7013-59H", "66", Power2 }, { "72", "7015-R20", "66", Power2 }, { "72", "9076-SP2 Wide", "66", Power2 }, { "75", "7012-370", "62", Power }, { "75", "7012-375",
"62", Power }, { "75", "9076-SP1 Thin", "62", Power }, { "76", "7012-360", "50", Power }, { "76", "7012-365", "50", Power }, { "77", "7012-350", "41", Power }, { "77", "7012-355", "41", Power }, { "77", "7013-55L", "41.6", Power }, { "79", "7013-591", "77", Power2 }, { "79",
"9076-SP2 Wide", "77", Power2 }, { "80", "7015-990", "71.5", Power2 }, { "81", "7015-R24", "71.5", P2SC }, { "89", "7013-595", "135", P2SC }, { "89", "9076-SP2 Wide", "135", P2SC }, { "90", "7009-C20", "120", PowerPC }, { "91", "7006-42W/42T", "120", PowerPC }, { "94", "7012-397", "160",
P2SC }, { "94", "9076-SP2 Thin", "160", P2SC }, { "A0", "7013-J30", "75", PowerPC }, { "A1", "7013-J40", "112", PowerPC }, { "A3", "7015-R30", "(unknown)", PowerPC }, { "A4", "7015-R40", "(unknown)", PowerPC }, { "A4", "7015-R50", "(unknown)", PowerPC }, { "A4", "9076-SP2 High",
"(unknown)", PowerPC }, { "A6", "7012-G30", "(unknown)", PowerPC }, { "A7", "7012-G40", "(unknown)", PowerPC }, { "C0", "7024-E20", "(unknown)", PowerPC }, { "C0", "7024-E30", "(unknown)", PowerPC }, { "C4", "7025-F30", "(unknown)", PowerPC }, { "F0", "7007-N40", "50", ThinkPad }, { "", "",
"0", 0 } };
const
struct model _4C_models[] = { { "IBM,7017-S70", "7017-S70", "125", RS64 }, { "IBM,7017-S7A", "7017-S7A", "262", RD64_II }, { "IBM,7017-S80", "7017-S80", "450", RS_III }, { "IBM,7017-S85", "pSeries 680", "600", RS64_IV }, { "IBM,7025-F40", "7025-F40", "166/233", PowerPC_604e }, { "IBM,7025-F50",
"7025-F50", "(unknown)", PowerPC_604e }, { "IBM,7025-F80", "7025-F80", "(unknown)", RS64_III }, { "IBM,7026-H10", "7025-H10", "166/233", PowerPC_604e }, { "IBM,7026-H50", "7025-H50", "(unknown)", PowerPC_604e }, { "IBM,7026-H80", "7025-H80", "(unknown)", RS64_III }, { "IBM,7026-M80",
"7026-M80", "500", RS64_III }, { "IBM,7025-F40", "7025-F40", "166/233", PowerPC }, { "IBM,7025-F50", "7025-F50", "(unknown)", PowerPC }, { "IBM,7025-F80", "7025-F80", "450", PowerPC }, { "IBM,7026-B80", "pSeries 640", "375", Power3_II }, { "IBM,7026-H10", "7026-H10", "166/233", PowerPC }, {
"IBM,7026-H50", "7026-H50", "(unknown)", PowerPC }, { "IBM,7026-H70", "7026-H70", "340", RS64_II }, { "IBM,7026-H80", "7026-H80", "450", PowerPC }, { "IBM,7026-M80", "7026-M80", "500", PowerPC }, { "IBM,7042-140", "7043-140", "166/200/233/332", PowerPC }, { "IBM,7042-150", "7043-150",
"375", PowerPC }, { "IBM,7042-240", "7043-240", "166/233", PowerPC }, { "IBM,7043-140", "7043-140", "166/200/233/332", PowerPC }, { "IBM,7043-150", "7043-150", "375", PowerPC }, { "IBM,7043-240", "7043-240", "166/233", PowerPC }, { "IBM,7043-260", "7043-260", "200", Power3 }, { "IBM,7248",
"7248-100", "100", PowerPersonal }, { "IBM,7248", "7248-120", "120", PowerPersonal }, { "IBM,7248", "7248-132", "132", PowerPersonal }, { "IBM,9076-270", "9076-SP Silver Node", "(unknown)", PowerPC }, { "", "", "", 0 },
};
/* all GetInfo_ functions should return true, when the Information
was filled into the lBox-Widget.
returning false indicates, that information was not available.
*/
bool GetInfo_XServer_and_Video(QListView *lBox) {
return GetInfo_XServer_Generic(lBox);
}
/*
* Written using information from:
*
* http://service.software.ibm.com/cgi-bin/support/rs6000.support/techbrowse/tbgaus?gaus_mode=8&documents=B93576892313352&database=task
*
* Not fully implemented. In particular there are ways to resolve the
* "(unknown)" clock speeds of many of these models. See page for details.
*
*/
bool GetInfo_CPU(QListView *lBox) {
struct utsname info;
struct model *table = _models; /* table of model information */
char model_ID[21] = ""; /* information for table lookup */
char cpu_ID[7] = ""; /* unique CPU ID */
int i;
QListViewItem *lastitem= NULL;
lBox->addColumn(i18n("Information"));
lBox->addColumn(i18n("Value"));
if (uname(&info) == -1) {
kError(0) << "uname() failed: errno = " << errno << endl;
return false;
}
strncat(model_ID, info.machine+8, 2); /* we want the ninth and tenth digits */
strncat(cpu_ID, info.machine+2, 6);
if (strcmp(model_ID, "4C") == 0) /* need to use a different model_ID and model table */
{
if (odm_initialize() == -1)
kError(0) << "odm_initialize() failed: odmerrno = " << odmerrno << endl;
else {
struct CuAt cuat; /* Customized Device attribute */
/* equivalent to uname -M */
if (odm_get_first(CuAt_CLASS, (char *)"name='sys0' and attribute='modelname'", &cuat) ) {
strcpy(model_ID, cuat.value);
table = _4C_models;
}
odm_terminate();
}
}
lastitem = new QListViewItem(lBox, lastitem, QString("CPU ID"), QString(cpu_ID));
lastitem = new QListViewItem(lBox, lastitem, QString("Node"), QString(info.nodename));
lastitem = new QListViewItem(lBox, lastitem, QString("OS"), QString(info.sysname) +
QString(" ") + QString(info.version) + QString(".") + QString(info.release));
for (i=0; *(table[i].model_ID); i++)
if (strcmp(model_ID, table[i].model_ID) == 0) {
lastitem = new QListViewItem(lBox, lastitem, QString("Machine Type"), QString(table[i].machine_type));
lastitem = new QListViewItem(lBox, lastitem, QString("Architecture"), QString(chip_name[table[i].architecture]));
lastitem = new QListViewItem(lBox, lastitem, QString("Speed"), QString(table[i].processor_speed) + QString(" Mhz"));
break;
}
return (true);
}
bool GetInfo_IRQ(QListView *) {
return false;
}
bool GetInfo_DMA(QListView *) {
return false;
}
bool GetInfo_PCI(QTreeWidget* tree) {
return list_devices(tree, (char *)"PdDvLn like '*/pci/*'");
}
bool GetInfo_IO_Ports(QListView *) {
return false;
}
bool GetInfo_Sound(QListView *) {
return false;
}
bool GetInfo_Devices(QListView *lBox) {
return list_devices(lBox, (char *)"PdDvLn like '*'");
}
bool GetInfo_SCSI(QListView *lBox) {
return list_devices(lBox, (char *)"PdDvLn like '*/scsi/*'");
}
/* Parts taken from fsusage.c from the Midnight Commander (mc)
Copyright (C) 1991, 1992 Free Software Foundation, In
Return the number of TOSIZE-byte blocks used by
BLOCKS FROMSIZE-byte blocks, rounding away from zero.
TOSIZE must be positive. Return -1 if FROMSIZE is not positive. */
static long fs_adjust_blocks(long blocks, int fromsize, int tosize) {
if (tosize <= 0)
abort();
if (fromsize <= 0)
return -1;
if (fromsize == tosize) /* E.g., from 512 to 512. */
return blocks;
else if (fromsize > tosize) /* E.g., from 2048 to 512. */
return blocks * (fromsize / tosize);
else
/* E.g., from 256 to 512. */
return (blocks + (blocks < 0 ? -1 : 1)) / (tosize / fromsize);
}
/* Fill in the fields of FSP with information about space usage for
the filesystem on which PATH resides.
Return 0 if successful, -1 if not. */
#define CONVERT_BLOCKS(b) fs_adjust_blocks ((b), fsd.f_bsize, 512)
static int get_fs_usage(char *path, long *l_total, long *l_avail) {
struct statfs fsd; /* 4.3BSD, SunOS 4, HP-UX, AIX. */
unsigned long fsu_blocks, fsu_bfree, fsu_bavail;
*l_total = *l_avail = 0;
if (statfs(path, &fsd) < 0)
return -1;
fsu_blocks = CONVERT_BLOCKS (fsd.f_blocks);
fsu_bfree = CONVERT_BLOCKS (fsd.f_bfree);
fsu_bavail = CONVERT_BLOCKS (fsd.f_bavail);
*l_avail = getuid() ? fsu_bavail/2 : fsu_bfree/2;
*l_total = fsu_blocks/2;
return 0;
}
// Some Ideas taken from garbazo from his source in info_fbsd.cpp
bool GetInfo_Partitions(QListView *lbox) {
#define NUMCOLS 5
QString Title[NUMCOLS];
int n;
struct fstab *fstab_ent;
struct statvfs svfs;
long total, avail;
QString str;
QString MB(i18nc("Mebibyte", "MiB "));
if (setfsent() != 1) // Try to open fstab
return false;
Title[0] = i18n("Device");
Title[1] = i18n("Mount Point");
Title[2] = i18n("FS Type");
Title[3] = i18n("Total Size");
Title[4] = i18n("Free Size");
for (n=0; n<NUMCOLS; ++n) {
lbox->addColumn(Title[n]);
}
while ((fstab_ent=getfsent())!=NULL) {
/* fstab_ent->fs_type holds only "rw","xx","ro"... */
memset(&svfs, 0, sizeof(svfs));
statvfs(fstab_ent->fs_file, &svfs);
get_fs_usage(fstab_ent->fs_file, &total, &avail);
if (!strcmp(fstab_ent->fs_type, FSTAB_XX)) // valid drive ?
svfs.f_basetype[0] = 0;
if (svfs.f_basetype[0]) {
new QListViewItem(lbox, QString(fstab_ent->fs_spec),
QString(fstab_ent->fs_file) + QString(" "),
(svfs.f_basetype[0] ? QString(svfs.f_basetype) : i18n("n/a")),
Value((total+512)/1024,6) + MB,
Value((avail+512)/1024,6) + MB);
} else {
new QListViewItem(lbox, QString(fstab_ent->fs_spec),
QString(fstab_ent->fs_file) + QString(" "),
(svfs.f_basetype[0] ? QString(svfs.f_basetype) : i18n("n/a")));
}
}
endfsent();
return true;
}

View file

@ -1,456 +0,0 @@
/*
* info_fbsd.cpp is part of the KDE program kcminfo. This displays
* various information about the system (hopefully a FreeBSD system)
* it's running on.
*
* All of the devinfo bits were blatantly stolen from the devinfo utility
* provided with FreeBSD 5.0 (and later). No gross hacks were harmed
* during the creation of info_fbsd.cpp. Thanks Mike.
*/
/*
* all following functions should return true, when the Information
* was filled into the QTreeWidget. Returning false indicates that
* information was not available.
*/
#include "config-infocenter.h" // HAVE_DEVINFO_H
#include <sys/types.h>
#include <sys/sysctl.h>
#ifdef HAVE_DEVINFO_H
extern "C" {
#include <devinfo.h>
}
#endif
#include <errno.h>
#include <fstab.h>
#include <string.h>
#include <QMap>
#include <QFile>
#include <QTextStream>
class Device {
public:
Device(QString n=QString(), QString d=QString()) {
name=n;
description=d;
}
QString name, description;
};
void ProcessChildren(QString name);
QString GetController(const QString &line);
Device *GetDevice(const QString &line);
#ifdef HAVE_DEVINFO_H
extern "C" {
int print_irq(struct devinfo_rman *rman, void *arg);
int print_dma(struct devinfo_rman *rman, void *arg);
int print_ioports(struct devinfo_rman *rman, void *arg);
int print_resource(struct devinfo_res *res, void *arg);
}
#endif
bool GetInfo_CPU(QTreeWidget* tree) {
// Modified 13 July 2000 for SMP by Brad Hughes - bhughes@trolltech.com
int ncpu;
size_t len;
len = sizeof(ncpu);
sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0);
QString cpustring;
for (int i = ncpu; i > 0; i--) {
/* Stuff for sysctl */
char *buf;
int i_buf;
// get the processor model
sysctlbyname("hw.model", NULL, &len, NULL, 0);
buf = new char[len];
sysctlbyname("hw.model", buf, &len, NULL, 0);
// get the TSC speed if we can
len = sizeof(i_buf);
if (sysctlbyname("machdep.tsc_freq", &i_buf, &len, NULL, 0) != -1) {
cpustring = i18n("CPU %1: %2, %3 MHz", i, buf, i_buf/1000000);
} else {
cpustring = i18n("CPU %1: %2, unknown speed", i, buf);
}
/* Put everything in the listbox */
QStringList list;
list << cpustring;
new QTreeWidgetItem(tree, list);
/* Clean up after ourselves, this time I mean it ;-) */
delete[] buf;
}
return true;
}
bool GetInfo_IRQ(QTreeWidget* tree) {
#ifdef HAVE_DEVINFO_H
/* systat lists the interrupts assigned to devices as well as how many were
generated. Parsing its output however is about as fun as a sandpaper
enema. The best idea would probably be to rip out the guts of systat.
Too bad it's not very well commented */
/* Oh neat, current now has a neat little utility called devinfo */
if (devinfo_init())
return false;
devinfo_foreach_rman(print_irq, tree);
return true;
#else
return false;
#endif
}
bool GetInfo_DMA(QTreeWidget* tree) {
#ifdef HAVE_DEVINFO_H
/* Oh neat, current now has a neat little utility called devinfo */
if (devinfo_init())
return false;
devinfo_foreach_rman(print_dma, tree);
return true;
#else
return false;
#endif
}
bool GetInfo_IO_Ports(QTreeWidget* tree) {
#ifdef HAVE_DEVINFO_H
/* Oh neat, current now has a neat little utility called devinfo */
if (devinfo_init())
return false;
devinfo_foreach_rman(print_ioports, tree);
return true;
#else
return false;
#endif
}
bool GetInfo_Sound(QTreeWidget* tree) {
QFile *sndstat = new QFile("/dev/sndstat");
QTextStream *t;
QString s;
if (!sndstat->exists() || !sndstat->open(QIODevice::ReadOnly)) {
s = i18n("Your sound system could not be queried. /dev/sndstat does not exist or is not readable.");
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
} else {
t = new QTextStream(sndstat);
while (!(s=t->readLine()).isNull()) {
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
}
delete t;
sndstat->close();
}
delete sndstat;
return true;
}
bool GetInfo_SCSI(QTreeWidget* tree) {
FILE *pipe;
QFile *camcontrol = new QFile("/sbin/camcontrol");
QTextStream *t;
QString s;
if (!camcontrol->exists()) {
s = i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be found");
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
} else if ((pipe = popen("/sbin/camcontrol devlist 2>&1", "r")) == NULL) {
s = i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be executed");
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
} else {
/* This prints out a list of all the scsi devies, perhaps eventually we could
parse it as opposed to schlepping it into a listbox */
t = new QTextStream(pipe, QIODevice::ReadOnly);
while (true) {
s = t->readLine();
if (s.isEmpty() )
break;
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
}
delete t;
pclose(pipe);
}
delete camcontrol;
if (!tree->topLevelItemCount())
return false;
return true;
}
bool GetInfo_PCI(QTreeWidget* tree) {
FILE *pipe;
QFile *pcicontrol;
QString s, cmd;
QTreeWidgetItem *olditem= NULL;
pcicontrol = new QFile("/usr/sbin/pciconf");
if (!pcicontrol->exists()) {
delete pcicontrol;
pcicontrol = new QFile("/usr/X11R6/bin/scanpci");
if (!pcicontrol->exists()) {
delete pcicontrol;
pcicontrol = new QFile("/usr/X11R6/bin/pcitweak");
if (!pcicontrol->exists()) {
QStringList list;
list << i18n("Could not find any programs with which to query your system's PCI information");
new QTreeWidgetItem(tree, list);
delete pcicontrol;
return true;
} else {
cmd = "/usr/X11R6/bin/pcitweak -l 2>&1";
}
} else {
cmd = "/usr/X11R6/bin/scanpci";
}
} else {
cmd = "/usr/sbin/pciconf -l -v 2>&1";
}
delete pcicontrol;
if ((pipe = popen(cmd.toLatin1(), "r")) == NULL) {
QStringList list;
list << i18n("PCI subsystem could not be queried: %1 could not be executed", cmd);
olditem = new QTreeWidgetItem(olditem, list);
} else {
/* This prints out a list of all the pci devies, perhaps eventually we could
parse it as opposed to schlepping it into a listbox */
pclose(pipe);
GetInfo_ReadfromPipe(tree, cmd.toLatin1(), true);
}
if (!tree->topLevelItemCount()) {
QString str = i18n("The PCI subsystem could not be queried, this may need root privileges.");
olditem = new QTreeWidgetItem(tree, olditem);
olditem->setText(0, str);
return true;
}
return true;
}
bool GetInfo_Partitions(QTreeWidget* tree) {
struct fstab *fstab_ent;
if (setfsent() != 1) /* Try to open fstab */{
int s_err= errno;
QString s;
s = i18n("Could not check file system info: ");
s += strerror(s_err);
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
} else {
QStringList headers;
headers << i18n("Device") << i18n("Mount Point") << i18n("FS Type") << i18n("Mount Options");
while ((fstab_ent=getfsent())!=NULL) {
QStringList list;
list << fstab_ent->fs_spec << fstab_ent->fs_file << fstab_ent->fs_vfstype << fstab_ent->fs_mntops;
new QTreeWidgetItem(tree, list);
}
tree->sortItems(0, Qt::AscendingOrder);
endfsent(); /* Close fstab */
}
return true;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}
bool GetInfo_Devices(QTreeWidget* tree) {
QFile *f = new QFile("/var/run/dmesg.boot");
if (f->open(QIODevice::ReadOnly)) {
QTextStream qts(f);
QMap<QString, QTreeWidgetItem*> lv_items;
Device *dev;
QString line, controller;
tree->setRootIsDecorated(true);
QStringList headers;
headers << i18n("Device") << i18n("Description");
tree->setHeaderLabels(headers);
while ( !(line=qts.readLine()).isNull() ) {
controller = GetController(line);
if (controller.isNull())
continue;
dev=GetDevice(line);
if (!dev)
continue;
// Ewww assuing motherboard is the only toplevel controller is rather gross
if (controller == "motherboard") {
if (lv_items.contains(QString(dev->name))==false) {
QStringList list;
list << dev->name << dev->description;
lv_items.insert(QString(dev->name), new QTreeWidgetItem(tree, list));
}
} else {
QTreeWidgetItem* parent=lv_items[controller];
if (parent && lv_items.contains(dev->name)==false) {
QStringList list;
list << dev->name << dev->description;
lv_items.insert(QString(dev->name), new QTreeWidgetItem(parent, list));
}
}
}
delete f;
return true;
}
delete f;
return false;
}
QString GetController(const QString &line) {
if ( ( (line.startsWith("ad")) || (line.startsWith("afd")) || (line.startsWith("acd")) ) && (line.indexOf(":") < 6)) {
QString controller = line;
controller.remove(0, controller.indexOf(" at ")+4);
if (controller.indexOf("-slave") != -1) {
controller.remove(controller.indexOf("-slave"), controller.length());
} else if (controller.indexOf("-master") != -1) {
controller.remove(controller.indexOf("-master"), controller.length());
} else
controller=QString();
if (!controller.isNull())
return controller;
}
if (line.indexOf(" on ") != -1) {
QString controller;
controller = line;
controller.remove(0, controller.indexOf(" on ")+4);
if (controller.indexOf(" ") != -1)
controller.remove(controller.indexOf(" "), controller.length());
return controller;
}
return QString();
}
Device *GetDevice(const QString &line) {
Device *dev;
int colon = line.indexOf(":");
if (colon == -1)
return 0;
dev = new Device;
dev->name = line.mid(0, colon);
dev->description = line.mid(line.indexOf("<")+1, line.length());
dev->description.remove(dev->description.indexOf(">"), dev->description.length());
return dev;
}
#ifdef HAVE_DEVINFO_H
int print_irq(struct devinfo_rman *rman, void *arg) {
QTreeWidget* tree = (QTreeWidget *)arg;
if (strcmp(rman->dm_desc, "Interrupt request lines")==0) {
QStringList list;
list << rman->dm_desc;
new QTreeWidgetItem(tree, list);
devinfo_foreach_rman_resource(rman, print_resource, arg);
}
return 0;
}
int print_dma(struct devinfo_rman *rman, void *arg)
{
QTreeWidget* tree = (QTreeWidget *)arg;
if (strcmp(rman->dm_desc, "DMA request lines")==0) {
QStringList list;
list << rman->dm_desc;
new QTreeWidgetItem(tree, list);
devinfo_foreach_rman_resource(rman, print_resource, arg);
}
return(0);
}
int print_ioports(struct devinfo_rman *rman, void *arg)
{
QTreeWidget* tree = (QTreeWidget*) arg;
if (strcmp(rman->dm_desc, "I/O ports")==0) {
QStringList list;
list << rman->dm_desc;
new QTreeWidgetItem(tree, list);
devinfo_foreach_rman_resource(rman, print_resource, arg);
}
else if (strcmp(rman->dm_desc, "I/O memory addresses")==0) {
QStringList list;
list << rman->dm_desc;
new QTreeWidgetItem(tree, list);
devinfo_foreach_rman_resource(rman, print_resource, arg);
}
return 0;
}
int print_resource(struct devinfo_res *res, void *arg)
{
struct devinfo_dev *dev;
struct devinfo_rman *rman;
int hexmode;
QTreeWidget* tree = (QTreeWidget*) arg;
QString s, tmp;
rman = devinfo_handle_to_rman(res->dr_rman);
hexmode = (rman->dm_size > 100) || (rman->dm_size == 0);
tmp.sprintf(hexmode ? "0x%lx" : "%lu", res->dr_start);
s += tmp;
if (res->dr_size > 1) {
tmp.sprintf(hexmode ? "-0x%lx" : "-%lu",
res->dr_start + res->dr_size - 1);
s += tmp;
}
dev = devinfo_handle_to_device(res->dr_device);
if ((dev != NULL) && (dev->dd_name[0] != 0)) {
tmp.sprintf(" (%s)", dev->dd_name);
} else {
tmp.sprintf(" ----");
}
s += tmp;
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
return 0;
}
#endif

View file

@ -1,55 +0,0 @@
/*
1998 by Helge Deller (deller@gmx.de)
free source under GPL
!!!!! this file will be included by info.cpp !!!!!
*/
// Default for unsupportet systems
/* all following functions should return true, when the Information
was filled into the lBox-Widget.
returning false indicates, that information was not available.
*/
bool GetInfo_CPU(QTreeWidget*) {
return false;
}
bool GetInfo_IRQ(QTreeWidget*) {
return false;
}
bool GetInfo_DMA(QTreeWidget*) {
return false;
}
bool GetInfo_PCI(QTreeWidget*) {
return false;
}
bool GetInfo_IO_Ports(QTreeWidget*) {
return false;
}
bool GetInfo_Sound(QTreeWidget*) {
return false;
}
bool GetInfo_Devices(QTreeWidget*) {
return false;
}
bool GetInfo_SCSI(QTreeWidget*) {
return false;
}
bool GetInfo_Partitions(QTreeWidget*) {
return false;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}

View file

@ -1,556 +0,0 @@
/*
!!!!! this file will be included by info.cpp !!!!!
Mostly written 1998-1999 by Helge Deller (deller@gmx.de),
with some pieces of code from Aubert Pierre.
Last modified: done:
1999-06-21 added more models to the lookup-table (deller)
1999-06-18 added support for 64-Bit HP-UX in CPU-detection(deller)
1999-05-04 added audio(alib)-support (deller)
1999-04-27 [tested with HP-UX 10.20 (HP9000/715/64-EISA)]
added support for nearly all categories
(means: not finished!)
1998-11-01 first, nearly empty version (deller)
with a little source for CPU from Aubert Pierre
*/
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/pstat.h>
#include <sys/utsname.h>
#include <sys/statvfs.h>
#include <sys/vfs.h>
#include <fstab.h>
#include <stdlib.h>
#include <QFile>
#include <QFontMetrics>
#include <QTextStream>
# define INFO_CPU_MODEL "/bin/model" // as pipe !!
# define INFO_PCI "" // Please, who know it ????
# define INFO_PCI_EISA "/etc/eisa/system.sci" // File !
# define INFO_IOPORTS_1 "/etc/dmesg" // as pipe !
# define INFO_IOPORTS_2 "/usr/sbin/dmesg" // as pipe !
# define INFO_DEVICES "/etc/ioscan" // as pipe !!
# define INFO_PARTITIONS_1 FSTAB // = "/etc/fstab" (in fstab.h)
# define INFO_PARTITIONS_2 "/etc/checklist"
/* The following table is from an HP-UX 10.20 System
build out of the files
"/usr/lib/sched.models"
or
"/opt/langtools/lib/sched.models"
If you have more entries, then please add them or send them to me!
*/
// entries for PA_REVISION[]
enum V_ENTRIES
{ V_1x0,
V_1x1, V_1x1a, V_1x1b, V_1x1c, V_1x1d, V_1x1e,
V_2x0,
V_LAST};
static const char PA_REVISION[V_LAST][7] = { "1.0", "1.1", "1.1a", "1.1b", "1.1c", "1.1d", "1.1e", "2.0" };
// entries for PA_NAME[]
enum PA_ENTRIES
{ PA7000,
PA7100, PA7100LC, PA7200, PA7300,
PA8000, PA8200, PA8500,
PARISC_PA_LAST};
static const char PA_NAME[PARISC_PA_LAST][11] = { "PA7000", "PA7100", "PA7100LC", "PA7200", "PA7300", "PA8000", "PA8200", "PA8500" };
struct _type_LOOKUPTABLE {
char Name[8];
unsigned short parisc_rev; // = enum V_ENTRIES
unsigned short parisc_name; // = enum PA_ENTRIES
};
static const struct _type_LOOKUPTABLE PA_LOOKUPTABLE[] = {
/* VERSION A.00.07
(there seems to exist several different files with same version-number !)*/
{ "600", V_1x0, PA7000 }, { "635", V_1x0, PA7000 }, { "645", V_1x0, PA7000 }, { "700", V_1x1, PA7000 }, { "705", V_1x1a, PA7000 }, { "710", V_1x1a, PA7000 }, { "712", V_1x1c, PA7100LC }, { "715", V_1x1c, PA7100LC }, { "720", V_1x1a, PA7000 }, { "722", V_1x1c, PA7100LC },
{ "725", V_1x1c, PA7100LC }, { "728", V_1x1d, PA7200 }, { "730", V_1x1a, PA7000 }, { "735", V_1x1b, PA7100 },
{ "742", V_1x1b, PA7100 },
{ "743", V_1x1b, PA7100 }, // or a 1.1c,PA7100LC !!
{ "744", V_1x1e, PA7300 }, { "745", V_1x1b, PA7100 }, { "747", V_1x1b, PA7100 }, { "750", V_1x1a, PA7000 }, { "755", V_1x1b, PA7100 }, { "770", V_1x1d, PA7200 }, { "777", V_1x1d, PA7200 }, { "778", V_1x1e, PA7300 }, { "779", V_1x1e, PA7300 }, { "780", V_2x0, PA8000 },
{ "781", V_2x0, PA8000 }, { "782", V_2x0, PA8200 }, { "783", V_2x0, PA8500 }, { "785", V_2x0, PA8500 },
{ "800", V_1x0, PA7000 }, // and one with: 2.0 / PA8000
{ "801", V_1x1c, PA7100LC }, { "802", V_2x0, PA8000 }, { "803", V_1x1e, PA7300 }, { "804", V_2x0, PA8000 }, { "806", V_1x1c, PA7100LC }, { "807", V_1x1a, PA7000 }, { "808", V_1x0, PA7000 }, { "809", V_1x1d, PA7200 }, { "810", V_2x0, PA8000 }, { "811", V_1x1c, PA7100LC }, { "813", V_1x1e,
PA7300 }, { "815", V_1x0, PA7000 }, { "816", V_1x1c, PA7100LC }, { "817", V_1x1a, PA7000 }, { "819", V_1x1d, PA7200 }, { "820", V_2x0, PA8000 }, { "821", V_1x1d, PA7200 }, { "822", V_1x0, PA7000 }, { "825", V_1x0, PA7000 }, { "826", V_1x1c, PA7100LC }, { "827", V_1x1a, PA7000 }, {
"829", V_1x1d, PA7200 }, { "831", V_1x1d, PA7200 }, { "832", V_1x0, PA7000 }, { "834", V_1x0, PA7000 }, { "835", V_1x0, PA7000 }, { "837", V_1x1a, PA7000 }, { "839", V_1x1d, PA7200 }, { "840", V_1x0, PA7000 }, { "841", V_1x1d, PA7200 }, { "842", V_1x0, PA7000 }, { "845", V_1x0,
PA7000 }, { "847", V_1x1a, PA7000 }, { "849", V_1x1d, PA7200 }, { "850", V_1x0, PA7000 }, { "851", V_1x1d, PA7200 }, { "852", V_1x0, PA7000 }, { "855", V_1x0, PA7000 }, { "856", V_1x1c, PA7100LC }, { "857", V_1x1a, PA7000 }, { "859", V_1x1d, PA7200 }, { "860", V_1x0, PA7000 }, {
"861", V_2x0, PA8000 }, { "865", V_1x0, PA7000 }, { "869", V_1x1d, PA7200 }, { "870", V_1x0, PA7000 }, { "871", V_2x0, PA8000 }, { "877", V_1x1a, PA7000 }, { "879", V_2x0, PA8000 }, { "887", V_1x1b, PA7100 }, { "889", V_2x0, PA8000 }, { "890", V_1x0, PA7000 }, { "891", V_1x1b,
PA7100 }, { "892", V_1x1b, PA7100 }, { "893", V_2x0, PA8000 }, { "895", V_2x0, PA8000 }, { "896", V_2x0, PA8000 }, { "897", V_1x1b, PA7100 }, { "898", V_2x0, PA8200 }, { "899", V_2x0, PA8200 }, { "900", V_1x0, PA7000 }, { "B115", V_1x1e, PA7300 }, { "B120", V_1x1e, PA7300 }, {
"B132L", V_1x1e, PA7300 }, { "B160L", V_1x1e, PA7300 }, { "B180L", V_1x1e, PA7300 }, { "C100", V_1x1d, PA7200 }, { "C110", V_1x1d, PA7200 }, { "C115", V_1x1e, PA7300 }, { "C120", V_1x1e, PA7300 }, { "C130", V_2x0, PA8000 }, { "C140", V_2x0, PA8000 }, { "C160L", V_1x1e, PA7300 }, {
"C160", V_2x0, PA8000 }, { "C180L", V_1x1e, PA7300 }, { "C180-XP", V_2x0, PA8000 }, { "C180", V_2x0, PA8000 }, { "C200+", V_2x0, PA8200 }, { "C230+", V_2x0, PA8200 }, { "C240+", V_2x0, PA8200 }, { "CB260", V_2x0, PA8200 },
{ "D200", V_1x1d, PA7200 }, // or: 1.1c, PA7100LC
{ "D210", V_1x1d, PA7200 }, // or: 1.1c, PA7100LC
{ "D220", V_1x1e, PA7300 }, { "D230", V_1x1e, PA7300 }, { "D250", V_1x1d, PA7200 }, { "D260", V_1x1d, PA7200 }, { "D270", V_2x0, PA8000 }, { "D280", V_2x0, PA8000 }, { "D310", V_1x1c, PA7100LC }, { "D320", V_1x1e, PA7300 }, { "D330", V_1x1e, PA7300 }, { "D350", V_1x1d, PA7200 }, { "D360",
V_1x1d, PA7200 }, { "D370", V_2x0, PA8000 }, { "D380", V_2x0, PA8000 }, { "D400", V_1x1d, PA7200 }, { "D410", V_1x1d, PA7200 }, { "D650", V_2x0, PA8000 }, { "DX0", V_1x1c, PA7100LC }, { "DX5", V_1x1c, PA7100LC }, { "DXO", V_1x1c, PA7100LC }, { "E25", V_1x1c, PA7100LC }, { "E35",
V_1x1c, PA7100LC }, { "E45", V_1x1c, PA7100LC }, { "E55", V_1x1c, PA7100LC }, { "F10", V_1x1a, PA7000 }, { "F20", V_1x1a, PA7000 }, { "F30", V_1x1a, PA7000 }, { "G30", V_1x1a, PA7000 }, { "G40", V_1x1a, PA7000 }, { "G50", V_1x1b, PA7100 }, { "G60", V_1x1b, PA7100 }, { "G70", V_1x1b,
PA7100 }, { "H20", V_1x1a, PA7000 }, { "H30", V_1x1a, PA7000 }, { "H40", V_1x1a, PA7000 }, { "H50", V_1x1b, PA7100 }, { "H60", V_1x1b, PA7100 }, { "H70", V_1x1b, PA7100 }, { "I30", V_1x1a, PA7000 }, { "I40", V_1x1a, PA7000 }, { "I50", V_1x1b, PA7100 }, { "I60", V_1x1b, PA7100 }, {
"I70", V_1x1b, PA7100 }, { "J200", V_1x1d, PA7200 }, { "J210XC", V_1x1d, PA7200 }, { "J210", V_1x1d, PA7200 }, { "J220", V_2x0, PA8000 }, { "J2240", V_2x0, PA8200 }, { "J280", V_2x0, PA8000 }, { "J282", V_2x0, PA8000 }, { "J400", V_2x0, PA8000 }, { "J410", V_2x0, PA8000 }, { "K100",
V_1x1d, PA7200 }, { "K200", V_1x1d, PA7200 }, { "K210", V_1x1d, PA7200 }, { "K230", V_1x1d, PA7200 }, { "K250", V_2x0, PA8000 }, { "K260", V_2x0, PA8000 }, { "K370", V_2x0, PA8200 }, { "K380", V_2x0, PA8200 }, { "K400", V_1x1d, PA7200 }, { "K410", V_1x1d, PA7200 }, { "K420", V_1x1d,
PA7200 }, { "K430", V_1x1d, PA7200 }, { "K450", V_2x0, PA8000 }, { "K460", V_2x0, PA8000 }, { "K470", V_2x0, PA8200 }, { "K570", V_2x0, PA8200 }, { "K580", V_2x0, PA8200 }, { "S700i", V_1x1e, PA7300 }, { "S715", V_1x1e, PA7300 }, { "S744", V_1x1e, PA7300 },
{ "S760", V_1x1e, PA7300 }, { "T500", V_1x1c, PA7100LC }, // or: 1.1b, PA7100
{ "T520", V_1x1b, PA7100 }, { "T540", V_2x0, PA8000 }, { "T600", V_2x0, PA8000 }, { "V2000", V_2x0, PA8000 }, { "V2200", V_2x0, PA8200 }, { "V2250", V_2x0, PA8200 }, { "V2500", V_2x0, PA8500 },
{ "", 0, 0 } /* Last Entry has to be empty. */
};
/* Helper-Functions */
// Value() is defined in info.cpp !!!
static bool Find_in_LOOKUPTABLE(QListView *lBox, char *machine) {
char *Machine;
int len;
const struct _type_LOOKUPTABLE *Entry = PA_LOOKUPTABLE;
QString str;
QListViewItem* olditem = 0;
Machine = machine; // machine is like: "9000/715/D"
while ((*Machine) && (*Machine!='/'))
++Machine;
if (*Machine)
++Machine;
else
Machine=machine;
len = strlen(Machine);
while (Entry->Name[0]) {
if (strncmp(Entry->Name, Machine, len)==0) {
olditem = new QListViewItem(lBox, olditem, i18n("PA-RISC Processor"),
QString(PA_NAME[Entry->parisc_name]));
olditem = new QListViewItem(lBox, olditem, i18n("PA-RISC Revision"),
QString("PA-RISC ") + QString(PA_REVISION[Entry->parisc_rev]));
return true;
} else
++Entry; // next Entry !
}
return false;
}
/* all following functions should return true, when the Information
was filled into the lBox-Widget.
returning false indicates, that information was not available.
*/
bool GetInfo_CPU(QListView *lBox) {
FILE *pipe;
QFile *model;
struct pst_dynamic psd;
struct pst_static pst;
struct pst_processor pro;
struct utsname info;
QString str, str2;
QListViewItem* olditem = 0;
int maxwidth, i;
if ((pstat_getstatic(&pst, sizeof(pst), (size_t)1, 0) == -1) || (pstat_getdynamic(&psd, sizeof(psd), (size_t)1, 0)== -1)) {
return false;
}
maxwidth = 0;
lBox->addColumn(i18n("Information") );
lBox->addColumn(i18n("Value") );
uname(&info);
olditem = new QListViewItem(lBox, olditem, i18n("Machine"), info.machine);
model = new QFile(INFO_CPU_MODEL);
if (model->exists()) {
if ((pipe = popen(INFO_CPU_MODEL, "r"))) {
QTextStream *t = new QTextStream(pipe, QIODevice::ReadOnly);
str = t->readLine();
olditem = new QListViewItem(lBox, olditem, i18n("Model"), str);
delete t;
pclose( pipe );
}
}
delete model;
olditem = new QListViewItem(lBox, olditem, i18n("Machine Identification Number"),
strlen(info.__idnumber) ? QString(info.__idnumber) : i18n("(none)") );
if (psd.psd_proc_cnt<=0)
psd.psd_proc_cnt=1; // Minimum one CPU !
olditem = new QListViewItem(lBox, olditem, i18n("Number of Active Processors"),
Value(psd.psd_proc_cnt));
pstat_getprocessor( &pro, sizeof(pro), 1, 0);
olditem = new QListViewItem(lBox, olditem, i18n("CPU Clock"),
Value(pro.psp_iticksperclktick/10000) + ' ' + i18n("MHz"));
switch (sysconf(_SC_CPU_VERSION)) {
case CPU_HP_MC68020:
str2 = "Motorola 68020";
break;
case CPU_HP_MC68030:
str2 = "Motorola 68030";
break;
case CPU_HP_MC68040:
str2 = "Motorola 68040";
break;
case CPU_PA_RISC1_0:
str2 = "PA-RISC 1.0";
break;
case CPU_PA_RISC1_1:
str2 = "PA-RISC 1.1";
break;
case CPU_PA_RISC1_2:
str2 = "PA-RISC 1.2";
break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (sysconf(_SC_KERNEL_BITS)) {
case 64: str2 = "PA-RISC 2.0w (64 bit)"; break;
case 32: str2 = "PA-RISC 2.0n (32 bit)"; break;
default: str2 = "PA-RISC 2.0"; break;
}; break;
#else /* !defined(_SC_KERNEL_BITS) */
str2 = "PA-RISC 2.0";
break;
#endif
default:
str2 = i18n("(unknown)");
break;
}
olditem = new QListViewItem(lBox, olditem, i18n("CPU Architecture"), str2);
Find_in_LOOKUPTABLE(lBox, info.machine);// try to get extended Information.
for (i=PS_PA83_FPU; i<=PS_PA89_FPU; ++i) {
if ((1<<(i-1)) & pro.psp_coprocessor.psc_present) {
str = QString( (i==PS_PA83_FPU) ? "PS_PA83_FPU" : "PS_PA89_FPU") + QString(" (") + QString(((1<<(i-1))&pro.psp_coprocessor.psc_enabled) ? i18n("enabled") : i18n("disabled") ) + QString(")");
olditem = new QListViewItem(lBox, olditem, i18n("Numerical Coprocessor (FPU)"), str);
}
}// for(coprocessor..)
str = Value(((pst.physical_memory*pst.page_size)/1024/1024)) + i18nc("Mebibyte", "MiB");
olditem = new QListViewItem(lBox, olditem, i18n("Total Physical Memory"), str);
str = Value(pst.page_size) + i18n(" Bytes");
olditem = new QListViewItem(lBox, olditem, i18n("Size of One Page"), str);
return true;
}
bool GetInfo_ReadfromFile(QListView *lBox, const char *Name) {
char buf[2048];
QFile *file = new QFile(Name);
QListViewItem* olditem = 0;
if (!file->open(QIODevice::ReadOnly)) {
delete file;
return false;
}
while (file->readLine(buf, sizeof(buf)-1) >= 0) {
if (strlen(buf))
olditem = new QListViewItem(lBox, olditem, QString::fromLocal8Bit(buf));
}
file->close();
delete file;
return (lBox->childCount());
}
bool GetInfo_IRQ(QListView *) {
return false;
}
bool GetInfo_DMA(QListView *) {
return false;
}
bool GetInfo_PCI(QTreeWidget* tree) {
return (GetInfo_ReadfromFile(tree, INFO_PCI) + GetInfo_ReadfromFile(tree, INFO_PCI_EISA) );
}
bool GetInfo_IO_Ports(QListView *lBox) {
if (GetInfo_ReadfromPipe(lBox, INFO_IOPORTS_1, false))
return true;
else
return GetInfo_ReadfromPipe(lBox, INFO_IOPORTS_2, false);
}
bool GetInfo_Devices(QListView *lBox) {
return GetInfo_ReadfromPipe(lBox, INFO_DEVICES, false);
}
bool GetInfo_SCSI(QListView *lBox) {
return GetInfo_Devices(lBox);
}
/* Parts taken from fsusage.c from the Midnight Commander (mc)
Copyright (C) 1991, 1992 Free Software Foundation, In
Return the number of TOSIZE-byte blocks used by
BLOCKS FROMSIZE-byte blocks, rounding away from zero.
TOSIZE must be positive. Return -1 if FROMSIZE is not positive. */
static long fs_adjust_blocks(long blocks, int fromsize, int tosize) {
if (tosize <= 0)
abort();
if (fromsize <= 0)
return -1;
if (fromsize == tosize) /* E.g., from 512 to 512. */
return blocks;
else if (fromsize > tosize) /* E.g., from 2048 to 512. */
return blocks * (fromsize / tosize);
else
/* E.g., from 256 to 512. */
return (blocks + (blocks < 0 ? -1 : 1)) / (tosize / fromsize);
}
/* Fill in the fields of FSP with information about space usage for
the filesystem on which PATH resides.
Return 0 if successful, -1 if not. */
#define CONVERT_BLOCKS(b) fs_adjust_blocks ((b), fsd.f_bsize, 512)
static int get_fs_usage(char *path, long *l_total, long *l_avail) {
struct statfs fsd; /* 4.3BSD, SunOS 4, HP-UX, AIX. */
unsigned long fsu_blocks, fsu_bfree, fsu_bavail;
*l_total = *l_avail = 0;
if (statfs(path, &fsd) < 0)
return -1;
fsu_blocks = CONVERT_BLOCKS (fsd.f_blocks);
fsu_bfree = CONVERT_BLOCKS (fsd.f_bfree);
fsu_bavail = CONVERT_BLOCKS (fsd.f_bavail);
*l_avail = getuid() ? fsu_bavail/2 : fsu_bfree/2;
*l_total = fsu_blocks/2;
return 0;
}
// Some Ideas taken from garbazo from his source in info_fbsd.cpp
bool GetInfo_Partitions(QListView *lbox) {
#define NUMCOLS 5
QString Title[NUMCOLS];
int n;
struct fstab *fstab_ent;
struct statvfs svfs;
long total, avail;
QString str;
QString MB(i18n("MB")+ " "); // International Text for MB=Mega-Byte
if (setfsent() != 1) // Try to open fstab
return false;
Title[0] = i18n("Device");
Title[1] = i18n("Mount Point");
Title[2] = i18n("FS Type");
Title[3] = i18n("Total Size");
Title[4] = i18n("Free Size");
for (n=0; n<NUMCOLS; ++n) {
lbox->addColumn(Title[n]);
}
while ((fstab_ent=getfsent())!=NULL) {
/* fstab_ent->fs_type holds only "rw","xx","ro"... */
memset(&svfs, 0, sizeof(svfs));
statvfs(fstab_ent->fs_file, &svfs);
get_fs_usage(fstab_ent->fs_file, &total, &avail);
if (!strcmp(fstab_ent->fs_type, FSTAB_XX)) // valid drive ?
svfs.f_basetype[0] = 0;
if (svfs.f_basetype[0]) {
new QListViewItem(lbox, QString(fstab_ent->fs_spec),
QString(fstab_ent->fs_file) + QString(" "),
(svfs.f_basetype[0] ? QString(svfs.f_basetype) : i18n("n/a")),
Value((total+512)/1024,6) + MB,
Value((avail+512)/1024,6) + MB);
} else {
new QListViewItem(lbox, QString(fstab_ent->fs_spec),
QString(fstab_ent->fs_file) + QString(" "),
(svfs.f_basetype[0] ? QString(svfs.f_basetype) : i18n("n/a")));
}
}
endfsent();
return true;
}
bool GetInfo_XServer_and_Video(QListView *lBox) {
lBox = lBox;
return GetInfo_XServer_Generic(lBox);
}
#ifndef HAVE_ALIB_H
bool GetInfo_Sound(QListView * /*lBox*/) {
return false;
}
#else // defined(HAVE_ALIB_H)
#include "Alib.h"
static const char formatNames[6][15] = {
"ADFUnknown", "ADFMuLaw", "ADFALaw",
"ADFLin16", "ADFLin8", "ADFLin8Offset"};
/* handle typo in 1st release of Alib.h */
#ifndef ARightOutputChMask
#define ARightOutputChMask ARighOutputChMask
#endif
bool GetInfo_Sound( QListView *lBox )
{
Audio *audio;
long status;
char server[80];
int i;
QString str,str2;
QListViewItem* olditem = 0;
// server = Hostname....
server[0] = 0;
audio = AOpenAudio( server, &status );
if( status ) {
return false;
}
lBox->addColumn(i18n("Information") );
lBox->addColumn(i18n("Value") );
olditem = new QListViewItem(lBox, olditem, i18n("Audio Name"), QString(audio->audio_name));
olditem = new QListViewItem(lBox, olditem, i18n("Vendor"), QString(audio->vendor));
olditem = new QListViewItem(lBox, olditem, i18n("Alib Version"),
Value(audio->alib_major_version) + QString(".") +
Value(audio->alib_minor_version));
olditem = new QListViewItem(lBox, olditem, i18n("Protocol Revision"),
Value(audio->proto_major_version) + QString(".") +
Value(audio->proto_minor_version));
olditem = new QListViewItem(lBox, olditem, i18n("Vendor Number"),
Value(audio->vnumber));
olditem = new QListViewItem(lBox, olditem, i18n("Release"),
Value(audio->release));
olditem = new QListViewItem(lBox, olditem, i18n("Byte Order"),
QString((audio->byte_order==ALSBFirst)? i18n("ALSBFirst (LSB)"):
((audio->byte_order==AMSBFirst)? i18n("AMSBFirst (MSB)"):
i18n("Invalid Byteorder.")) ));
olditem = new QListViewItem(lBox, olditem, i18n("Bit Order"),
QString((audio->sound_bit_order==ALeastSignificant)?
i18n("ALeastSignificant (LSB)") :
((audio->sound_bit_order==AMostSignificant) ?
i18n("AMostSignificant (MSB)"):i18n("Invalid Bitorder.")) ));
olditem = new QListViewItem(lBox, olditem, i18n("Data Formats"));
for ( i = 0; i < audio->n_data_format; i++ ) {
if (audio->data_format_list[i] <= ADFLin8Offset)
new QListViewItem(olditem, QString(formatNames[audio->data_format_list[i]]));
}
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem, i18n("Sampling Rates"));
for ( i = 0; i < audio->n_sampling_rate; i++ ) {
new QListViewItem(olditem, Value(audio->sampling_rate_list[i]));
}
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem, i18n("Input Sources"));
if ( audio->input_sources & AMonoMicrophoneMask )
new QListViewItem(olditem, i18n("Mono-Microphone"));
if ( audio->input_sources & AMonoAuxiliaryMask )
new QListViewItem(olditem, i18n("Mono-Auxiliary"));
if ( audio->input_sources & ALeftMicrophoneMask )
new QListViewItem(olditem, i18n("Left-Microphone"));
if ( audio->input_sources & ARightMicrophoneMask )
new QListViewItem(olditem, i18n("Right-Microphone"));
if ( audio->input_sources & ALeftAuxiliaryMask )
new QListViewItem(olditem, i18n("Left-Auxiliary"));
if ( audio->input_sources & ARightAuxiliaryMask )
new QListViewItem(olditem, i18n("Right-Auxiliary"));
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem,i18n("Input Channels"));
if ( audio->input_channels & AMonoInputChMask )
new QListViewItem(olditem, i18n("Mono-Channel"));
if ( audio->input_channels & ALeftInputChMask )
new QListViewItem(olditem, i18n("Left-Channel"));
if ( audio->input_channels & ARightInputChMask )
new QListViewItem(olditem, i18n("Right-Channel"));
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem, i18n("Output Destinations"));
if ( audio->output_destinations & AMonoIntSpeakerMask )
new QListViewItem(olditem, i18n("Mono-InternalSpeaker"));
if ( audio->output_destinations & AMonoJackMask )
new QListViewItem(olditem, i18n("Mono-Jack"));
if ( audio->output_destinations & ALeftIntSpeakerMask )
new QListViewItem(olditem, i18n("Left-InternalSpeaker"));
if ( audio->output_destinations & ARightIntSpeakerMask )
new QListViewItem(olditem, i18n("Right-InternalSpeaker"));
if ( audio->output_destinations & ALeftJackMask )
new QListViewItem(olditem, i18n("Left-Jack"));
if ( audio->output_destinations & ARightJackMask )
new QListViewItem(olditem, i18n("Right-Jack"));
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem, i18n("Output Channels"));
if ( audio->output_channels & AMonoOutputChMask )
new QListViewItem(olditem, i18n("Mono-Channel"));
if ( audio->output_channels & ALeftOutputChMask )
new QListViewItem(olditem, i18n("Left-Channel"));
if ( audio->output_channels & ARightOutputChMask )
new QListViewItem(olditem, i18n("Right-Channel"));
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem, i18n("Gain"));
new QListViewItem(olditem, i18n("Input Gain Limits"),
Value(audio->max_input_gain));
new QListViewItem(olditem,i18n("Output Gain Limits"),
Value(audio->min_output_gain) + QString(" ")
+ Value(audio->max_output_gain));
new QListViewItem(olditem, i18n("Monitor Gain Limits"),
Value(audio->min_monitor_gain) + QString(" ")
+ Value(audio->max_monitor_gain));
new QListViewItem(olditem, i18n("Gain Restricted"),
Value(audio->gm_gain_restricted));
olditem->setExpanded(true);
olditem = new QListViewItem(lBox, olditem,i18n("Lock"),
Value(audio->lock));
olditem = new QListViewItem(lBox, olditem, i18n("Queue Length"),
Value(audio->qlen));
olditem = new QListViewItem(lBox, olditem, i18n("Block Size"),
Value(audio->block_size));
olditem = new QListViewItem(lBox, olditem, i18n("Stream Port (decimal)"),
Value(audio->stream_port));
ACloseAudio( audio, &status );
return true;
}
#endif // defined(HAVE_ALIB_H)

View file

@ -1,533 +0,0 @@
/*
Linux-specific Information about the Hardware.
(C) Copyright 1998-2001 by Helge Deller <deller@gmx.de>
To do (maybe?):
- include Information about XFree86 and/or Accelerated X
(needs to change configure-script, to see, if Header-files are available !)
- maybe also include information about the video-framebuffer devices
- rewrite detection-routines (maybe not to use the /proc-fs)
- more & better sound-information
/dev/sndstat support added: 1998-12-08 Duncan Haldane (f.d.m.haldane@cwix.com)
*/
#include <unistd.h>
#include <syscall.h>
#include <stdio.h>
#include <sys/stat.h>
#include <linux/kernel.h>
#include <ctype.h>
#include "config-infocenter.h"
#ifdef HAVE_FSTAB_H /* some Linux-versions don't have fstab.h */
# include <fstab.h>
# include <sys/statfs.h>
# define INFO_PARTITIONS_FULL_INFO /* show complete info */
#elif defined HAVE_MNTENT_H /* but maybe they have mntent.h ? */
# include <mntent.h>
# include <sys/vfs.h>
# define INFO_PARTITIONS_FULL_INFO /* show complete info */
#else
# undef INFO_PARTITIONS_FULL_INFO /* no partitions-info */
#endif
#ifdef HAVE_PCIUTILS
#include "kpci.h"
#endif //HAVE_PCIUTILS
#include <QRegExp>
#include <QFile>
#include <QHeaderView>
#include <klocale.h>
#include <kiconloader.h>
#include <kglobalsettings.h>
#include <kdebug.h>
#define INFO_CPU "/proc/cpuinfo"
#define INFO_IRQ "/proc/interrupts"
#define INFO_DMA "/proc/dma"
#define INFO_PCI "/proc/pci"
#define INFO_IOPORTS "/proc/ioports"
#define INFO_DEV_SNDSTAT "/dev/sndstat"
#define INFO_SOUND "/proc/sound"
#define INFO_ASOUND "/proc/asound/oss/sndstat"
#define INFO_ASOUND09 "/proc/asound/sndstat"
#define INFO_DEVICES "/proc/devices"
#define INFO_MISC "/proc/misc"
#define INFO_SCSI "/proc/scsi/scsi"
#define INFO_PARTITIONS "/proc/partitions"
#define INFO_MOUNTED_PARTITIONS "/etc/mtab" /* on Linux... */
#define MAXCOLUMNWIDTH 600
bool GetInfo_ReadfromFile(QTreeWidget* tree, const char *FileName, const QChar& splitChar) {
bool added = false;
QFile file(FileName);
if (!file.exists()) {
return false;
}
if (!file.open(QIODevice::ReadOnly)) {
return false;
}
QTextStream stream(&file);
QString line = stream.readLine();
while (!line.isNull()) {
QString s1, s2;
if (!line.isEmpty()) {
if (!splitChar.isNull()) {
int pos = line.indexOf(splitChar);
s1 = line.left(pos-1).trimmed();
s2 = line.mid(pos+1).trimmed();
} else
s1 = line;
}
QStringList list;
list << s1 << s2;
new QTreeWidgetItem(tree, list);
added = true;
line = stream.readLine();
}
file.close();
return added;
}
bool GetInfo_CPU(QTreeWidget* tree) {
QStringList headers;
headers << i18n("Information") << i18n("Value");
tree->setHeaderLabels(headers);
return GetInfo_ReadfromFile(tree, INFO_CPU, ':');
}
bool GetInfo_IRQ(QTreeWidget* tree) {
tree->setFont(KGlobalSettings::fixedFont());
tree->setHeaderHidden(true);
return GetInfo_ReadfromFile(tree, INFO_IRQ, 0);
}
bool GetInfo_DMA(QTreeWidget* tree) {
QFile file(INFO_DMA);
QStringList headers;
headers << i18n("DMA-Channel") << i18n("Used By");
tree->setHeaderLabels(headers);
if (file.exists() && file.open(QIODevice::ReadOnly)) {
QTextStream stream(&file);
QString line;
line = stream.readLine();
while (!line.isNull()) {
if (!line.isEmpty()) {
QRegExp rx("^\\s*(\\S+)\\s*:\\s*(\\S+)");
if (-1 != rx.indexIn(line)) {
QStringList list;
list << rx.cap(1) << rx.cap(2);
new QTreeWidgetItem(tree, list);
}
}
line = stream.readLine();
}
file.close();
} else {
return false;
}
return true;
}
bool GetInfo_PCI(QTreeWidget* tree) {
int num;
#ifdef HAVE_PCIUTILS
if ( (num = GetInfo_PCIUtils(tree))) {
return num;
}
#endif //HAVE_PCIUTILS
tree->setHeaderHidden(true);
tree->setSortingEnabled(false);
/* try to get the output of the lspci package first */
if ((num = GetInfo_ReadfromPipe(tree, "lspci -v", true)) || (num = GetInfo_ReadfromPipe(tree, "/sbin/lspci -v", true)) || (num = GetInfo_ReadfromPipe(tree, "/usr/sbin/lspci -v", true)) || (num = GetInfo_ReadfromPipe(tree, "/usr/local/sbin/lspci -v", true)) || (num = GetInfo_ReadfromPipe(tree,
"/usr/bin/lspci -v", true)))
return num;
/* if lspci failed, read the contents of /proc/pci */
return GetInfo_ReadfromFile(tree, INFO_PCI, 0);
}
bool GetInfo_IO_Ports(QTreeWidget* tree) {
QStringList headers;
headers << i18n("I/O-Range") << i18n("Used By");
tree->setHeaderLabels(headers);
return GetInfo_ReadfromFile(tree, INFO_IOPORTS, ':');
}
bool GetInfo_Sound(QTreeWidget* tree) {
tree->setSortingEnabled(false);
if (GetInfo_ReadfromFile(tree, INFO_DEV_SNDSTAT, 0))
return true;
else if (GetInfo_ReadfromFile(tree, INFO_SOUND, 0))
return true;
else if (GetInfo_ReadfromFile(tree, INFO_ASOUND, 0))
return true;
else
return GetInfo_ReadfromFile(tree, INFO_ASOUND09, 0);
}
bool GetInfo_Devices(QTreeWidget* tree) {
kDebug() << "Linux Info Devices" << endl;
QFile file;
QTreeWidgetItem *misc=NULL;
tree->setRootIsDecorated(true);
QStringList headers;
headers << i18n("Devices") << i18n("Major Number") << i18n("Minor Number");
tree->setHeaderLabels(headers);
file.setFileName(INFO_DEVICES);
if (file.exists() && file.open(QIODevice::ReadOnly)) {
QTextStream stream(&file);
QTreeWidgetItem *parent=0L, *child=0L;
QString line = stream.readLine();
while (!line.isNull()) {
if (!line.isEmpty()) {
if (-1 != line.indexOf("character device", 0, Qt::CaseInsensitive)) {
QStringList list;
list << i18n("Character Devices");
parent = new QTreeWidgetItem(tree, list);
parent->setIcon(0, SmallIcon("chardevice"));
parent->setExpanded(true);
} else if (-1 != line.indexOf("block device", 0, Qt::CaseInsensitive)) {
QStringList list;
list << i18n("Block Devices");
parent = new QTreeWidgetItem(tree, list);
parent->setIcon(0, SmallIcon("blockdevice"));
parent->setExpanded(true);
} else {
QRegExp rx("^\\s*(\\S+)\\s+(\\S+)");
if (-1 != rx.indexIn(line)) {
if (parent) {
QStringList list;
list << rx.cap(2) << rx.cap(1);
child = new QTreeWidgetItem(parent, list);
} else {
QStringList list;
list << rx.cap(2) << rx.cap(1);
child = new QTreeWidgetItem(tree, list);
}
if (rx.cap(2)=="misc") {
misc=child;
}
}
}
}
line = stream.readLine();
}
file.close();
} else {
return false;
}
file.setFileName(INFO_MISC);
if (misc && file.exists() && file.open(QIODevice::ReadOnly)) {
QTextStream stream(&file);
misc->setText(0, i18n("Miscellaneous Devices"));
misc->setIcon(0, SmallIcon("memory"));
misc->setExpanded(true);
QString line = stream.readLine();
while (!line.isNull()) {
if (!line.isEmpty()) {
QRegExp rx("^\\s*(\\S+)\\s+(\\S+)");
if (-1 != rx.indexIn(line)) {
QStringList list;
list << rx.cap(2) << "10" << rx.cap(1);
new QTreeWidgetItem(misc, list);
}
}
line = stream.readLine();
}
file.close();
}
return true;
}
bool GetInfo_SCSI(QTreeWidget* tree) {
return GetInfo_ReadfromFile(tree, INFO_SCSI, 0);
}
static void cleanPassword(QString & str) {
int index = 0;
QString passwd("password=");
while (index >= 0) {
index = str.indexOf(passwd, index, Qt::CaseInsensitive);
if (index >= 0) {
index += passwd.length();
while (index < (int) str.length() && str[index] != ' ' && str[index] != ',')
str[index++] = '*';
}
}
}
#ifndef INFO_PARTITIONS_FULL_INFO
bool GetInfo_Partitions(QTreeWidget* tree)
{
return GetInfo_ReadfromFile(tree, INFO_PARTITIONS, 0);
}
#else /* INFO_PARTITIONS_FULL_INFO */
// Some Ideas taken from garbazo from his source in info_fbsd.cpp
#if ( defined(HAVE_LINUX_RAW_H) || defined(HAVE_SYS_RAW_H) ) && defined(HAVE_SYS_IOCTL_H) && defined(__GNUC__) && !defined(__STRICT_ANSI__)
#include <sys/ioctl.h>
#include <fcntl.h>
#if defined(HAVE_SYS_RAW_H)
#include <sys/raw.h>
#elif defined(HAVE_LINUX_RAW_H)
#include <linux/raw.h>
#endif
/*
* get raw device bindings and information
*/
void Get_LinuxRawDevices(QTreeWidget* tree)
{
int f, i, err;
int new_raw_devs = 1;
struct raw_config_request rq;
QString devname;
QString MB(i18nc("Mebibyte", "MiB"));
/* try to open the raw device control file */
f = open("/dev/rawctl", O_RDWR);
if (f == -1) {
f = open("/dev/raw", O_RDWR);
new_raw_devs = 0;
}
if (f == -1)
return;
for (i=1; i<256; i++) {
rq.raw_minor = i;
if (ioctl(f, RAW_GETBIND, &rq))
continue;
if (!rq.block_major) /* unbound ? */
continue;
unsigned int minor = rq.block_minor;
char first_letter;
switch ((int)rq.block_major) {
/* IDE drives */
case 3: first_letter = 'a';
set_ide_name:
devname = QString("/dev/hd%1%2")
.arg(QChar(first_letter + minor/64))
.arg(minor&63);
break;
case 22:first_letter = 'c'; goto set_ide_name;
case 33:first_letter = 'e'; goto set_ide_name;
case 34:first_letter = 'g'; goto set_ide_name;
case 56:first_letter = 'i'; goto set_ide_name;
case 57:first_letter = 'k'; goto set_ide_name;
case 88:first_letter = 'm'; goto set_ide_name;
case 89:first_letter = 'o'; goto set_ide_name;
case 90:first_letter = 'q'; goto set_ide_name;
case 91:first_letter = 's'; goto set_ide_name;
/* SCSI drives */
case 8: first_letter = 'a';
set_scsi_name:
devname = QString("/dev/sd%1%2")
.arg(QChar(first_letter + minor/16))
.arg(minor&15);
break;
case 65:first_letter = 'q'; goto set_scsi_name;
/* Compaq /dev/cciss devices */
case 104: case 105: case 106:
case 107: case 108: case 109:
devname = QString("/dev/cciss/c%1d%2")
.arg((int)rq.block_major-104)
.arg(minor&15);
break;
/* Compaq Intelligent Drive Array (ida) */
case 72: case 73: case 74: case 75:
case 76: case 77: case 78: case 79:
devname = QString("/dev/ida/c%1d%2")
.arg((int)rq.block_major-72)
.arg(minor&15);
break;
default: devname = QString("%1/%2")
.arg((int)rq.block_major)
.arg(minor);
}
/* TODO: get device size */
QString size = "";
QStringList list;
list << devname;
if (new_raw_devs)
list << QString("/dev/raw/raw%1").arg(i);
else
list << QString("/dev/raw%1").arg(i);
list << "raw" << size << " " << "";
new QTreeWidgetItem(tree, list);
}
close(f);
}
#else
#define Get_LinuxRawDevices(x) /* nothing */
#endif
bool GetInfo_Partitions(QTreeWidget* tree) {
QStringList Mounted_Partitions;
bool found_in_List;
int n;
#ifdef HAVE_FSTAB_H
struct fstab *fstab_ent;
# define FS_NAME fstab_ent->fs_spec // device-name
# define FS_FILE fstab_ent->fs_file // mount-point
# define FS_TYPE fstab_ent->fs_vfstype // fs-type
# define FS_MNTOPS fstab_ent->fs_mntops // mount-options
#else
struct mntent *mnt_ent;
FILE *fp;
# define FS_NAME mnt_ent->mnt_fsname // device-name
# define FS_FILE mnt_ent->mnt_dir // mount-point
# define FS_TYPE mnt_ent->mnt_type // fs-type
# define FS_MNTOPS mnt_ent->mnt_opts // mount-options
#endif
struct statfs sfs;
quint64 total, avail;
QString str, mountopts;
QString MB(i18nc("Mebibyte", "MiB"));
#ifdef HAVE_FSTAB_H
if (setfsent() == 0) /* Try to open fstab */
return false;
#else
if (!(fp = setmntent("/etc/fstab", "r")))
return false;
#endif
/* read the list of already mounted file-systems.. */
QFile *file = new QFile(INFO_MOUNTED_PARTITIONS);
if (file->open(QIODevice::ReadOnly)) {
char buf[1024];
while (file->readLine(buf, sizeof(buf )) > 0) {
str = QString::fromLocal8Bit(buf);
if (str.length()) {
int p = str.indexOf(' '); /* find first space. */
if (p)
str.remove(p, 1024); /* erase all chars including space. */
Mounted_Partitions.append(str);
}
}
file->close();
}
delete file;
/* create the header-tables */
MB = QString(" ") + MB;
QStringList headers;
headers << i18n("Device") << i18n("Mount Point") << i18n("FS Type") << i18n("Total Size") << i18n("Free Size") << i18n("Mount Options");
tree->setHeaderLabels(headers);
for (n = 0; n < 6; ++n)
/* loop through all partitions... */
#ifdef HAVE_FSTAB_H
while ((fstab_ent = getfsent()) != NULL)
#else
while ((mnt_ent = getmntent(fp)) != NULL)
#endif
{
total = avail = 0; /* initialize size.. */
found_in_List = (Mounted_Partitions.contains(FS_NAME) > 0);
if (found_in_List && statfs(FS_FILE, &sfs) == 0) {
total = ((quint64) sfs.f_blocks) * sfs.f_bsize;
avail = (getuid() ? sfs.f_bavail : sfs.f_bfree) * ((quint64) sfs.f_bsize);
};
/*
if (stat(fstab_ent->fs_file,&st)!=0)
total = 0;
if (!S_ISDIR(st.st_mode))
total = 0;
*/
mountopts = FS_MNTOPS;
cleanPassword(mountopts);
if (total) {
QStringList list;
list << QString(FS_NAME) + " " << QString(FS_FILE) + " " << QString(FS_TYPE) + " " << Value((int) (((total / 1024) + 512) / 1024), 6) + MB << Value((int) (((avail / 1024) + 512) / 1024), 6) + MB << mountopts;
new QTreeWidgetItem(tree, list);
} else {
QStringList list;
list << QString(FS_NAME) + " " << QString(FS_FILE) + " " << QString(FS_TYPE) + " " << " " << " " << mountopts;
new QTreeWidgetItem(tree, list);
}
}
#ifdef HAVE_FSTAB_H
endfsent(); /* close fstab.. */
#else
endmntent(fp); /* close fstab.. */
#endif
/* get raw device entires if available... */
Get_LinuxRawDevices(tree);
tree->sortItems(1, Qt::AscendingOrder);
return true;
}
#endif /* INFO_PARTITIONS_FULL_INFO */
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}

View file

@ -1,348 +0,0 @@
/*
* info_netbsd.cpp is part of the KDE program kcminfo. This displays
* various information about the NetBSD system it's running on.
*
* Originally written by Jaromir Dolecek <dolecek@ics.muni.cz>. CPU info
* code has been imported from implementation of processor.cpp for KDE 1.0
* by David Brownlee <abs@NetBSD.org> as found in NetBSD packages collection.
* Hubert Feyer <hubertf@NetBSD.org> enhanced the sound information printing
* quite a lot, too.
*
* The code is placed into public domain. Do whatever you want with it.
*/
/*
* all following functions should return true, when the Information
* was filled into the Tree Widget. Returning false indicates that
* information was not available.
*/
#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/mount.h>
#include <stdio.h> /* for NULL */
#include <stdlib.h> /* for malloc(3) */
#include <fstab.h>
#include <QFile>
#include <QFontMetrics>
#include <QStringList>
#include <QTextStream>
#include <QTreeWidgetItemIterator>
#include <kdebug.h>
#include <kio/global.h> /* for KIO::convertSize() */
typedef struct {
int string;
int name;
const char *title;
} hw_info_mib_list_t;
bool GetInfo_CPU(QTreeWidget* tree) {
static hw_info_mib_list_t hw_info_mib_list[]= { { 1, HW_MODEL, "Model" }, { 1, HW_MACHINE, "Machine" }, { 1, HW_MACHINE_ARCH, "Architecture" }, { 0, HW_NCPU, "Number of CPUs" }, { 0, HW_PAGESIZE, "Pagesize" }, { 0, 0, 0 } };
hw_info_mib_list_t *hw_info_mib;
int mib[2], num;
char *buf;
size_t len;
QString value;
QStringList list;
list << i18n("Information") << i18n("Value");
tree->setHeaderLabels(list);
for (hw_info_mib = hw_info_mib_list; hw_info_mib->title; ++hw_info_mib) {
mib[0] = CTL_HW;
mib[1] = hw_info_mib->name;
if (hw_info_mib->string) {
sysctl(mib, 2, NULL, &len, NULL, 0);
if ( (buf = (char*)malloc(len))) {
sysctl(mib, 2, buf, &len, NULL, 0);
value = QString::fromLocal8Bit(buf);
free(buf);
} else {
value = QString("Unknown");
}
} else {
len = sizeof(num);
sysctl(mib, 2, &num, &len, NULL, 0);
value = QString::number(num);
}
QStringList list;
list << hw_info_mib->title << value;
new QTreeWidgetItem(tree, list);
}
return true;
}
// this is used to find out which devices are currently
// on system
static bool GetDmesgInfo(QTreeWidget* tree, const char *filter, void func(QTreeWidget* tree, QString s)) {
QFile *dmesg = new QFile("/var/run/dmesg.boot");
bool usepipe = false;
FILE *pipe= NULL;
QTextStream *t;
bool seencpu = false;
QString s;
bool found = false;
if (dmesg->exists() && dmesg->open(QIODevice::ReadOnly)) {
t = new QTextStream(dmesg);
} else {
delete dmesg;
pipe = popen("/sbin/dmesg", "r");
if (!pipe)
return false;
usepipe = true;
t = new QTextStream(pipe, QIODevice::ReadOnly);
}
while (!(s = t->readLine().toLocal8Bit()).isNull()) {
if (!seencpu) {
if (s.contains("cpu"))
seencpu = true;
else
continue;
}
if (s.contains("boot device") || s.contains("WARNING: old BSD partition ID!"))
break;
if (!filter || s.contains(QRegExp(filter))) {
if (func)
func(tree, s);
else {
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
}
found = true;
}
}
delete t;
if (pipe)
pclose(pipe);
else {
dmesg->close();
delete dmesg;
}
return found;
}
void AddIRQLine(QTreeWidget* tree, QString s) {
int irqnum;
QString s2;
char numstr[3];
bool ok;
s2 = s.mid(s.indexOf(QRegExp("[ (]irq "))+5);
irqnum = s2.remove(QRegExp("[^0-9].*")).toInt(&ok);
if (ok)
snprintf(numstr, 3, "%02d", irqnum);
else {
// this should never happen
strcpy(numstr, "??");
}
QStringList list;
list << numstr << s;
new QTreeWidgetItem(tree, list);
}
bool GetInfo_IRQ(QTreeWidget* tree) {
QStringList headers;
headers << i18n("IRQ") << i18n("Device");
tree->setHeaderLabels(headers);
tree->sortItems(0, Qt::AscendingOrder);
tree->setSortingEnabled(false);
(void) GetDmesgInfo(tree, "[ (]irq ", AddIRQLine);
return true;
}
bool GetInfo_DMA(QTreeWidget*) {
return false;
}
bool GetInfo_PCI(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "at pci", NULL)) {
QStringList list;
list << i18n("No PCI devices found.");
new QTreeWidgetItem(tree, list);
}
return true;
}
bool GetInfo_IO_Ports(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "port 0x", NULL)) {
QStringList list;
list << i18n("No I/O port devices found.");
new QTreeWidgetItem(tree, list);
}
return true;
}
bool GetInfo_Sound(QTreeWidget* tree) {
tree->setSortingEnabled(false);
if (!GetDmesgInfo(tree, "audio", NULL)) {
QStringList list;
list << i18n("No audio devices found.");
new QTreeWidgetItem(tree, list);
}
// append information for each audio devices found
QTreeWidgetItemIterator it(tree, QTreeWidgetItemIterator::All);
while ( *it != NULL) {
QString s, s2;
int pos;
char *dev;
s = (*it)->text(0);
// The autoconf message is in form 'audio0 at auvia0: ...'
if (s.indexOf("audio") == 0 && (pos = s.indexOf(" at ")) > 0) {
s2 = s.mid(pos+4); // skip " at "
s2.remove(QRegExp("[:\n\t ].*"));
dev = strdup(s2.toAscii().data());
GetDmesgInfo(tree, dev, NULL);
free(dev);
}
++it;
}
return true;
}
bool GetInfo_Devices(QTreeWidget* tree) {
(void) GetDmesgInfo(tree, NULL, NULL);
return true;
}
bool GetInfo_SCSI(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "scsibus", NULL)) {
QStringList list;
list << i18n("No SCSI devices found.");
new QTreeWidgetItem(tree, list);
}
// remove the 'waiting %d seconds for devices to settle' message
QTreeWidgetItemIterator it(tree, QTreeWidgetItemIterator::All);
while ( *it != NULL) {
QString s = (*it)->text(0);
if (s.contains("seconds for devices to settle")) {
delete tree->takeTopLevelItem( tree->indexOfTopLevelItem(*it) );
break;
}
++it;
}
return true;
}
bool GetInfo_Partitions(QTreeWidget* tree) {
int num; // number of mounts
#ifdef HAVE_STATVFS
struct statvfs *mnt; // mount data pointer
#else
struct statfs *mnt; // mount data pointer
#endif
// get mount info
if (!(num=getmntinfo(&mnt, MNT_WAIT))) {
kError() << "getmntinfo failed" << endl;
return false;
}
// table headers
QStringList headers;
headers << i18n("Device") << i18n("Mount Point") << i18n("FS Type") << i18n("Total Size") << i18n("Free Size") << i18n("Total Nodes") << i18n("Free Nodes") << i18n("Flags");
tree->setHeaderLabels(headers);
// mnt points into a static array (no need to free it)
for (; num--; ++mnt) {
unsigned long long big[2];
QString vv[5];
#ifdef HAVE_STATVFS
big[0] = big[1] = mnt->f_frsize; // coerce the product
#else
big[0] = big[1] = mnt->f_bsize; // coerce the product
#endif
big[0] *= mnt->f_blocks;
big[1] *= mnt->f_bavail; // FIXME: use f_bfree if root?
// convert to strings
vv[0] = KIO::convertSize(big[0]);
vv[1] = QString("%1 (%2%)")
.arg(KIO::convertSize(big[1]))
.arg(mnt->f_blocks ? mnt->f_bavail*100/mnt->f_blocks : 0);
vv[2] = QString("%L1").arg(mnt->f_files);
vv[3] = QString("%L1 (%2%) ")
.arg(mnt->f_ffree)
.arg(mnt->f_files ? mnt->f_ffree*100/mnt->f_files : 0);
vv[4].clear();
#ifdef HAVE_STATVFS
#define MNTF(x) if (mnt->f_flag & ST_##x) vv[4] += QLatin1String(#x " ");
#else
#define MNTF(x) if (mnt->f_flags & MNT_##x) vv[4] += QLatin1String(#x " ");
#endif
MNTF(ASYNC)
MNTF(DEFEXPORTED)
MNTF(EXKERB)
MNTF(EXNORESPORT)
MNTF(EXPORTANON)
MNTF(EXPORTED)
MNTF(EXPUBLIC)
MNTF(EXRDONLY)
#ifndef HAVE_STATVFS
MNTF(IGNORE)
#endif
MNTF(LOCAL)
MNTF(NOATIME)
MNTF(NOCOREDUMP)
MNTF(NODEV)
MNTF(NODEVMTIME)
MNTF(NOEXEC)
MNTF(NOSUID)
MNTF(QUOTA)
MNTF(RDONLY)
MNTF(ROOTFS)
MNTF(SOFTDEP)
MNTF(SYMPERM)
MNTF(SYNCHRONOUS)
MNTF(UNION)
#undef MNTF
// put it in the table
QStringList list;
// FIXME: there're more data but we have limited args (this is wrong! just add!)
// FIXME: names need pad space
list << mnt->f_mntfromname << mnt->f_mntonname << mnt->f_fstypename << vv[0] << vv[1] << vv[2] << vv[3] << vv[4];
new QTreeWidgetItem(tree, list);
}
// job well done
return true;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}

View file

@ -1,297 +0,0 @@
/*
* info_netbsd.cpp is part of the KDE program kcminfo. This displays
* various information about the OpenBSD system it's running on.
*
* Originally written by Jaromir Dolecek <dolecek@ics.muni.cz>. CPU info
* code has been imported from implementation of processor.cpp for KDE 1.0
* by David Brownlee <abs@NetBSD.org> as found in NetBSD packages collection.
* Hubert Feyer <hubertf@NetBSD.org> enhanced the sound information printing
* quite a lot, too.
*
* The code is placed into public domain. Do whatever you want with it.
*/
/*
* all following functions should return true, when the Information
* was filled into the QTreeWidget. Returning false indicates that
* information was not available.
*/
#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <stdio.h> /* for NULL */
#include <stdlib.h> /* for malloc(3) */
#include <QFile>
#include <QFontMetrics>
#include <QTextStream>
#include <QTreeWidgetItemIterator>
#include <kdebug.h>
typedef struct {
int string;
int name;
const char *title;
} hw_info_mib_list_t;
bool GetInfo_CPU(QTreeWidget* tree) {
static const hw_info_mib_list_t hw_info_mib_list[]= { { 1, HW_MODEL, "Model" }, { 1, HW_MACHINE, "Machine" }, { 0, HW_NCPU, "Number of CPUs" }, { 0, HW_PAGESIZE, "Pagesize" }, { 0, 0, 0 } };
hw_info_mib_list_t *hw_info_mib;
int mib[2], num;
char *buf;
size_t len;
QString value;
QStringList headers;
headers << i18n("Information") << i18n("Value");
tree->setHeaderLabels(headers);
for (hw_info_mib = hw_info_mib_list; hw_info_mib->title; ++hw_info_mib) {
mib[0] = CTL_HW;
mib[1] = hw_info_mib->name;
if (hw_info_mib->string) {
sysctl(mib, 2, NULL, &len, NULL, 0);
if ( (buf = (char*)malloc(len))) {
sysctl(mib, 2, buf, &len, NULL, 0);
value = QString::fromLocal8Bit(buf);
free(buf);
} else {
value = QString("Unknown");
}
} else {
len = sizeof(num);
sysctl(mib, 2, &num, &len, NULL, 0);
value.sprintf("%d", num);
}
QStringList list;
list << hw_info_mib->title << value;
new QTreeWidgetItem(tree, list);
}
return true;
}
// this is used to find out which devices are currently
// on system
static bool GetDmesgInfo(QTreeWidget* tree, const char *filter, void func(QTreeWidget *, QString s, void **, bool)) {
QFile *dmesg = new QFile("/var/run/dmesg.boot");
bool usepipe=false;
FILE *pipe=NULL;
QTextStream *t;
bool seencpu=false;
void *opaque=NULL;
QString s;
bool found=false;
if (dmesg->exists() && dmesg->open(QIODevice::ReadOnly)) {
t = new QTextStream(dmesg);
} else {
delete dmesg;
pipe = popen("/sbin/dmesg", "r");
if (!pipe)
return false;
usepipe = true;
t = new QTextStream(pipe, QIODevice::ReadOnly);
}
while (!(s = t->readLine()).isNull()) {
if (!seencpu) {
if (s.contains("cpu"))
seencpu = true;
else
continue;
}
if (s.contains("boot device") || s.contains("WARNING: old BSD partition ID!"))
break;
if (!filter || s.contains(filter)) {
if (func) {
func(tree, s, &opaque, false);
} else {
QStringList list;
list << s;
new QTreeWidgetItem(tree, list);
}
found = true;
}
}
if (func) {
func(tree, s, &opaque, true);
}
//tree->triggerUpdate();
delete t;
if (pipe) {
pclose(pipe);
} else {
dmesg->close();
delete dmesg;
}
return found;
}
void AddIRQLine(QTreeWidget* tree, QString s, void **opaque, bool ending) {
QStringList *strlist = (QStringList *) *opaque;
QString str;
int pos, irqnum=0;
const char *p;
p = s.toLatin1();
if (!strlist) {
strlist = new QStringList();
*opaque = (void *) strlist;
}
if (ending) {
foreach(QString temp, *strlist) {
QStringList tempList;
tempList << temp;
new QTreeWidgetItem(tree, tempList);
}
delete strlist;
return;
}
pos = s.find(" irq ");
irqnum = (pos < 0) ? 0 : atoi(&p[pos+5]);
if (irqnum) {
s.sprintf("%02d%s", irqnum, p);
} else {
s.sprintf("??%s", p);
}
strlist->append(s);
strlist->sort();
}
bool GetInfo_IRQ(QTreeWidget* tree) {
QStringList headers;
headers << i18n("IRQ") << i18n("Device");
tree->setHeaderLabels(headers);
(void) GetDmesgInfo(tree, " irq ", AddIRQLine);
return true;
}
bool GetInfo_DMA(QTreeWidget *) {
return false;
}
bool GetInfo_PCI(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "at pci", NULL)) {
QStringList list;
list << i18n("No PCI devices found.");
new QTreeWidgetItem(tree, list);
}
return true;
}
bool GetInfo_IO_Ports(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "port 0x", NULL)) {
QStringList list;
list << i18n("No I/O port devices found.");
new QTreeWidgetItem(tree, list);
}
return true;
}
bool GetInfo_Sound(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "audio", NULL)) {
QStringList list;
list << i18n("No audio devices found.");
new QTreeWidgetItem(tree, list);
}
// append information on any audio devices found
QTreeWidgetItemIterator it(tree, QTreeWidgetItemIterator::All);
while ( *it != NULL ) {
QTreeWidgetItem* lvitem = *it;
QString s;
int pos, len;
const char *start, *end;
char *dev;
s = lvitem->text(0);
if ((pos = s.find("at ")) >= 0) {
pos += 3; // skip "at "
start = end = s.toAscii();
for (; *end && (*end!=':') && (*end!='\n'); end++)
;
len = end - start;
dev = (char *) malloc(len + 1);
strncpy(dev, start, len);
dev[len] = '\0';
GetDmesgInfo(tree, dev, NULL);
free(dev);
}
++it;
}
return true;
}
bool GetInfo_Devices(QTreeWidget* tree) {
(void) GetDmesgInfo(tree, NULL, NULL);
return true;
}
bool GetInfo_SCSI(QTreeWidget* tree) {
if (!GetDmesgInfo(tree, "scsibus", NULL)) {
QStringList list;
list << i18n("No SCSI devices found.");
new QTreeWidgetItem(tree, list);
}
return true;
}
bool GetInfo_Partitions(QTreeWidget* tree) {
QString s;
char *line, *orig_line;
const char *device, *mountpoint, *type, *flags;
FILE *pipe = popen("/sbin/mount", "r");
QTextStream *t;
if (!pipe) {
kError(0) << i18n("Unable to run /sbin/mount.") << endl;
return false;
}
t = new QTextStream(pipe, QIODevice::ReadOnly);
QStringList headers;
headers << i18n("Device") << i18n("Mount Point") << i18n("FS Type") << i18n("Mount Options");
tree->setHeaderLabels(headers);
while (!(s = t->readLine()).isNull()) {
orig_line = line = strdup(s.toLatin1());
device = strsep(&line, " ");
(void) strsep(&line, " "); // consume word "on"
mountpoint = strsep(&line, " ");
(void) strsep(&line, " "); // consume word "type"
type = strsep(&line, " ");
flags = line;
QStringList mountList;
mountList << device << mountpoint << type << flags;
new QTreeWidgetItem(tree, mountList);
free(orig_line);
}
delete t;
pclose(pipe);
return true;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}

View file

@ -1,160 +0,0 @@
/*
* Copyright (c) 2003 Benjamin Reed <ranger@befunk.com>
*
* info_osx.cpp is part of the KDE program kcminfo. Copied wholesale
* from info_fbsd.cpp =)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/*
* all following functions should return true, when the Information
* was filled into the lBox-Widget. Returning false indicates that
* information was not available.
*/
#include <sys/types.h>
#include <sys/sysctl.h>
#include <fstab.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <QFile>
#include <QFontMetrics>
#include <QTextStream>
#include <kdebug.h>
#include <mach/mach.h>
#include <mach-o/arch.h>
#ifdef HAVE_COREAUDIO
#include <CoreAudio/CoreAudio.h>
#endif
#include <machine/limits.h>
bool GetInfo_CPU(QTreeWidget* tree) {
QString cpustring;
kern_return_t ret;
struct host_basic_info basic_info;
unsigned int count=HOST_BASIC_INFO_COUNT;
ret=host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&basic_info, &count);
if (ret != KERN_SUCCESS) {
kDebug() << "unable to get host information from mach";
} else {
kDebug() << "got Host Info: (" << basic_info.avail_cpus << ") CPUs available";
const NXArchInfo *archinfo;
archinfo=NXGetArchInfoFromCpuType(basic_info.cpu_type, basic_info.cpu_subtype);
for (int i = 1; i <= basic_info.avail_cpus; i++) {
QStringList list;
list << QString(i) << archinfo->description;
new QTreeWidgetItem(tree, list);
}
return true;
}
return false;
}
bool GetInfo_IRQ(QTreeWidget*) {
return false;
}
bool GetInfo_DMA(QTreeWidget*) {
return false;
}
bool GetInfo_PCI(QTreeWidget*) {
return false;
}
bool GetInfo_IO_Ports(QTreeWidget*) {
return false;
}
bool GetInfo_Sound(QTreeWidget *tree) {
#ifdef HAVE_COREAUDIO
#define qMaxStringSize 1024
OSStatus status;
AudioDeviceID gOutputDeviceID;
unsigned long propertySize;
char deviceName[qMaxStringSize];
char manufacturer[qMaxStringSize];
propertySize = sizeof(gOutputDeviceID);
status = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, &propertySize, &gOutputDeviceID);
if (status) {
kDebug() << "get default output device failed, status = " << (int)status;
return false;
}
if (gOutputDeviceID != kAudioDeviceUnknown) {
propertySize = qMaxStringSize;
/* Device Name */
status = AudioDeviceGetProperty(gOutputDeviceID, 1, 0, kAudioDevicePropertyDeviceName, &propertySize, deviceName);
if (status) {
kDebug() << "get device name failed, status = " << (int)status;
return false;
}
QStringList deviceList;
deviceList << i18n("Device Name") << deviceName;
new QTreeWidgetItem(tree, deviceList);
/* Manufacturer */
status = AudioDeviceGetProperty(gOutputDeviceID, 1, 0, kAudioDevicePropertyDeviceManufacturer, &propertySize, manufacturer);
if (status) {
kDebug() << "get manufacturer failed, status = " << (int)status;
return false;
}
QStringList manufacturerList;
manufacturerList << i18n("Manufacturer") << manufacturer;
new QTreeWidgetItem(tree, manufacturerList);
return true;
} else {
return false;
}
#else
return false;
#endif
}
bool GetInfo_SCSI(QTreeWidget*) {
return false;
}
bool GetInfo_Partitions(QTreeWidget*) {
return false;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
#ifdef Q_WS_X11
return GetInfo_XServer_Generic(tree);
#else
return false;
#endif
}
bool GetInfo_Devices(QTreeWidget* tree) {
return false;
}

View file

@ -1,58 +0,0 @@
/* info_sgi.cpp
!!!!! this file will be included by info.cpp !!!!!
*/
/* all following functions should return true, when the Information
was filled into the lBox-Widget.
returning false indicates, that information was not available.
*/
#include <sys/systeminfo.h>
bool GetInfo_CPU(QListView *lBox) {
QString str;
char buf[256];
sysinfo(SI_ARCHITECTURE, buf, sizeof(buf));
str = QString::fromLocal8Bit(buf);
new QListViewItem(lBox, str);
return true;
}
bool GetInfo_IRQ(QListView *) {
return false;
}
bool GetInfo_DMA(QListView *) {
return false;
}
bool GetInfo_PCI(QTreeWidget*) {
return false;
}
bool GetInfo_IO_Ports(QListView *) {
return false;
}
bool GetInfo_Sound(QListView *) {
return false;
}
bool GetInfo_Devices(QListView *) {
return false;
}
bool GetInfo_SCSI(QListView *) {
return false;
}
bool GetInfo_Partitions(QListView *) {
return false;
}
bool GetInfo_XServer_and_Video(QListView *lBox) {
return GetInfo_XServer_Generic(lBox);
}

View file

@ -1,718 +0,0 @@
/*
* info_solaris.cpp
*
* Torsten Kasch <tk@Genetik.Uni-Bielefeld.DE>
*/
#include "config-infocenter.h"
#include <QTreeWidgetItemIterator>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mnttab.h>
#include <kstat.h>
#include <sys/types.h>
#include <sys/statvfs.h>
#include <time.h>
#ifdef HAVE_LIBDEVINFO_H
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <sys/mkdev.h>
#include <sys/stat.h>
#include <devid.h>
#include <libdevinfo.h>
#endif /* HAVE_LIBDEVINFO_H */
bool GetInfo_CPU(QTreeWidget* tree) {
kstat_ctl_t *kctl;
kstat_t *ksp;
kstat_named_t *kdata;
char cputype[16], fputype[16];
char *timetxt;
char *ptr;
uint32_t i, ncpus;
unsigned long state_begin;
QString state;
QString mhz;
QString inst;
/*
* get a kstat handle first and update the user's kstat chain
*/
if ( (kctl = kstat_open()) == NULL) {
return false;
}
while (kstat_chain_update(kctl) != 0)
;
/*
* get the # of CPUs
*/
if ( (ksp = kstat_lookup(kctl, "unix", 0, "system_misc")) == NULL) {
return false;
}
if (kstat_read(kctl, ksp, NULL) == -1) {
return false;
}
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "ncpus");
if (kdata != NULL) {
ncpus = kdata->value.ui32;
} else {
ncpus = 0;
}
QStringList headers;
headers << i18n("Instance") << i18n("CPU Type") << i18n("FPU Type") << i18n("MHz") << i18n("State");
tree->setHeaderLabels(headers);
/*
* get the per-processor info
*/
for (i = 0; i < ncpus; i++) {
if ( (ksp = kstat_lookup(kctl, "cpu_info", i, NULL)) == NULL) {
return false;
}
if (kstat_read(kctl, ksp, NULL) == -1) {
return false;
}
inst.setNum(i);
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "cpu_type");
if (kdata != NULL) {
strcpy(cputype, kdata->value.c);
} else {
sprintf(cputype, "???");
}
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "fpu_type");
if (kdata != NULL) {
strcpy(fputype, kdata->value.c);
} else {
sprintf(fputype, "???");
}
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "clock_MHz");
if (kdata != NULL) {
mhz.setNum(kdata->value.ul);
} else {
mhz.setNum( 0);
}
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "state");
if (kdata != NULL) {
state = QString(kdata->value.c);
} else {
state = "???";
}
kdata = (kstat_named_t *) kstat_data_lookup(ksp, "state_begin");
if (kdata != NULL) {
state_begin = kdata->value.i32;
if ( (timetxt = ctime( (time_t *) &state_begin )) != NULL) {
ptr = strrchr(timetxt, '\n');
*ptr = '\0';
state += " since " + QString(timetxt);
}
}
QStringList list;
list << inst << cputype << fputype << mhz << state;
new QTreeWidgetItem(tree, list);
}
tree->sortItems(0, Qt::AscendingOrder);
return true;
}
bool GetInfo_IRQ(QTreeWidget*) {
return false;
}
bool GetInfo_DMA(QTreeWidget*) {
return false;
}
bool GetInfo_PCI(QTreeWidget*) {
return false;
}
bool GetInfo_IO_Ports(QTreeWidget*) {
return false;
}
bool GetInfo_Sound(QTreeWidget*) {
return false;
}
bool GetInfo_SCSI(QTreeWidget*) {
return false;
}
bool GetInfo_Partitions(QTreeWidget* tree) {
FILE *mnttab;
struct mnttab mnt;
struct statvfs statbuf;
fsblkcnt_t tmp;
QString total;
QString avail;
time_t mnttime;
char *timetxt;
char *ptr;
if ( (mnttab = fopen(MNTTAB, "r")) == NULL) {
return false;
}
/*
* set up column headers
*/
QStringList headers;
headers << i18n("Device") << i18n("Mount Point") << i18n("FS Type") << i18n("Total Size") << i18n("Free Size") << i18n("Mount Time") << i18n("Mount Options");
tree->setHeaderLabels(headers);
// XXX: FIXME: how do I set column alignment correctly?
//tree->setColumnAlignment( 3, 2 );
// XXX: FIXME: how do I set column alignment correctly?
//tree->setColumnAlignment( 4, 2 );
/*
* get info about mounted file systems
*/
rewind(mnttab);
while (getmntent(mnttab, &mnt) == 0) {
/*
* skip fstype "nfs" and "autofs" for two reasons:
* o if the mountpoint is visible, the fs is not
* necessarily available (autofs option "-nobrowse")
* and we don't want to mount every remote fs just
* to get its size, do we?
* o the name "Partitions" for this statistics implies
* "local file systems only"
*/
if ( (strcmp(mnt.mnt_fstype, "nfs") == 0) || (strcmp(mnt.mnt_fstype, "autofs") == 0))
continue;
if (statvfs(mnt.mnt_mountp, &statbuf) == 0) {
if (statbuf.f_blocks > 0) {
/*
* produce output in KB, MB, or GB for
* readability -- unfortunately, this
* breaks sorting for these columns...
*/
tmp = statbuf.f_blocks * (statbuf.f_frsize / 1024);
if (tmp > 9999) {
tmp /= 1024;
if (tmp > 9999) {
tmp /= 1024;
total.setNum(tmp);
total += " G";
} else {
total.setNum(tmp);
total += " M";
}
} else {
total.setNum(tmp);
total += " K";
}
// avail.setNum( statbuf.f_bavail );
// avail += " K";
tmp = statbuf.f_bavail * (statbuf.f_frsize / 1024);
if (tmp > 9999) {
tmp /= 1024;
if (tmp > 9999) {
tmp /= 1024;
avail.setNum(tmp);
avail += " G";
} else {
avail.setNum(tmp);
avail += " M";
}
} else {
avail.setNum(tmp);
avail += " K";
}
} else {
total = "-";
avail = "-";
}
} else {
total = "???";
avail = "???";
}
/*
* ctime() adds a '\n' which we have to remove
* so that we get a one-line output for the QTreeWidgetItem
*/
mnttime = (time_t) atol(mnt.mnt_time);
if ( (timetxt = ctime( &mnttime)) != NULL) {
ptr = strrchr(timetxt, '\n');
*ptr = '\0';
}
QStringList list;
list << mnt.mnt_special << mnt.mnt_mountp << mnt.mnt_fstype << total << avail << QString(timetxt) << mnt.mnt_mntopts;
new QTreeWidgetItem(tree, list);
}
fclose(mnttab);
tree->sortItems(0, Qt::AscendingOrder);
return true;
}
bool GetInfo_XServer_and_Video(QTreeWidget* tree) {
return GetInfo_XServer_Generic(tree);
}
#ifdef HAVE_LIBDEVINFO_H
/*
* get Solaris' device configuration data through libdevinfo(3)
* and display it in a prtconf(1M) style tree
*
* NOTE: though the devinfo library seems to be present on earlier
* Solaris releases, this interface is documented to be available
* since Solaris 7 (libdevinfo.h is missing on pre-Solaris 7 systems)
*
* documentation for libdevinfo(3) including code samples on which
* this implementation is based on is available at
* http://soldc.sun.com/developer/support/driver/wps/libdevinfo/
*/
/*
* we start with various helper routines for GetInfo_Devices()
*/
/*
* mktree() -- break up the device path and place its components
* into the tree widget
*/
QTreeWidgetItem* mktree( QTreeWidgetItem* top, const char* path ) {
QTreeWidgetItem* parent;
QTreeWidgetItem* previous;
QTreeWidgetItem* result;
char* str = strdup( path );
char* token;
/*
* start at "/"
*/
parent = top;
result = top->child(0);
previous = top->child(0);
token = strtok( str, "/" );
while( token != NULL ) {
/*
* find insert pos:
* try to match the node at the current level
*
* NOTE: this implementation assumes that there are
* no two nodes with identical names at the
* same level of the device tree
*/
QTreeWidgetItemIterator it(top, QTreeWidgetItemIterator::All);
while ( *it != NULL ) {
if( strcmp( token, (*it)->text( 0 ).toLatin1()) == 0 )
break;
previous = *it;
++it;
result = *it;
}
if( result == NULL ) {
QStringList list;
list << token;
/*
* we haven't found the node, create a new one
*/
result = new QTreeWidgetItem(parent, previous, list);
}
else {
/*
* we've found the node
*/
parent = result;
previous = NULL;
if( result->child(0) == NULL ) {
/*
* create new node during next iteration
*/
result->setExpanded(false);
} else {
/*
* follow the child path
*/
result = result->child(0);
}
}
token = strtok( NULL, "/" );
}
free( str );
return result;
}
/*
* prop_type_str() -- return the property type as a string
*/
char *prop_type_str( di_prop_t prop ) {
switch( di_prop_type( prop )) {
case DI_PROP_TYPE_UNDEF_IT:
return( "undefined" );
case DI_PROP_TYPE_BOOLEAN:
return( "BOOL" );
case DI_PROP_TYPE_INT:
return( "INT" );
case DI_PROP_TYPE_STRING:
return( "STRING" );
case DI_PROP_TYPE_BYTE:
return( "BYTE" );
default:
return( "unknown" );
}
}
/*
* prop_type_guess() -- guess the property type
*/
int prop_type_guess( uchar_t *data, int len ) {
int slen;
int guess;
int i, c;
if( len < 0 )
return( -1 );
else if( len == 0 )
return( DI_PROP_TYPE_BOOLEAN );
slen = 0;
guess = DI_PROP_TYPE_STRING;
for( i = 0; i < len; i++ ) {
c = (int) data[i];
switch( c ) {
case 0:
if( i == (len - 1 ))
break;
if( slen == 0 )
guess = DI_PROP_TYPE_BYTE;
else
guess = slen = 0;
break;
default:
if( ! isprint( c ))
guess = DI_PROP_TYPE_BYTE;
else
slen++;
}
if( guess != DI_PROP_TYPE_STRING )
break;
}
// if( (guess == DI_PROP_TYPE_BYTE) && (len % sizeof( int ) == 0 ))
// guess = DI_PROP_TYPE_INT;
return( guess );
}
/*
* dump_minor_node() -- examine a device minor node
* this routine gets passed to di_walk_node()
*/
int dump_minor_node( di_node_t node, di_minor_t minor, void *arg ) {
QString majmin;
char *type;
dev_t dev;
QStringList list;
list << di_minor_name( minor );
QTreeWidgetItem* item = new QTreeWidgetItem( (QTreeWidgetItem *) arg, list);
item->setExpanded(false);
QString specResult;
if (di_minor_spectype( minor ) == S_IFCHR)
specResult = i18n( "character special" );
else
specResult = i18n( "block special" );
QStringList spec;
spec << i18nc( "Can be either character special or block special", "Special type:" ) << specResult;
new QTreeWidgetItem(item, spec);
type = di_minor_nodetype( minor );
QString nodeResult;
if (type == NULL)
nodeResult = "NULL";
else
nodeResult = type;
QStringList node;
node << i18n( "Nodetype:" ) << nodeResult;
new QTreeWidgetItem(item, node);
if( (dev = di_minor_devt( minor )) != DDI_DEV_T_NONE ) {
majmin.sprintf( "%ld/%ld", major( dev ), minor( dev ));
QStringList mn;
mn << i18n( "Major/Minor:" ) << majmin;
new QTreeWidgetItem(item, mn);
}
if( di_minor_next( node, minor ) == DI_MINOR_NIL )
return DI_WALK_TERMINATE;
else
return DI_WALK_CONTINUE;
}
/*
* propvalue() -- return the property value
*/
QString propvalue( di_prop_t prop ) {
int type;
int i, n;
char *strp;
int *intp;
uchar_t *bytep;
QString result;
/*
* Since a lot of printable strings seem to be tagged as 'byte',
* we're going to guess, if the property is not STRING or INT
* The actual type is shown in the info tree, though.
*/
type = di_prop_type( prop );
if( (type != DI_PROP_TYPE_STRING) && (type != DI_PROP_TYPE_INT) ) {
n = di_prop_bytes( prop, &bytep );
type = prop_type_guess( bytep, n );
}
result = "";
switch( type ) {
case DI_PROP_TYPE_STRING:
if( (n = di_prop_strings( prop, &strp )) < 0 ) {
result = "(error)";
} else {
for( i = 0; i < n; i++ ) {
result += "\"";
result += strp;
result += "\" ";
strp += strlen( strp ) + 1;
}
}
break;
case DI_PROP_TYPE_INT:
if( (n = di_prop_ints( prop, &intp )) < 0 ) {
result = "(error)";
} else {
for( i = 0; i < n; i++ ) {
QString tmp;
tmp.setNum( intp[i] );
result += tmp;
result += ' ';
}
}
break;
case DI_PROP_TYPE_BOOLEAN:
/*
* hmm, Sun's sample code handles the existence
* of a boolean property as "true", whereas
* prtconf(1M) obviously does not (Sol8, at least)
* -- we're doing the same and handle "bool" as "byte"
*/
case DI_PROP_TYPE_BYTE:
if( (n = di_prop_bytes( prop, &bytep )) < 0 ) {
result = "(error)";
} else {
if( n == 0 ) {
result = i18n( "(no value)" );
break;
}
result = "0x";
for( i = 0; i < n; i++ ) {
QString tmp;
unsigned byte = (unsigned) bytep[i];
tmp.sprintf( "%2.2x", byte );
result += tmp;
}
}
break;
default:
result = "???";
}
return( result );
}
/*
* dump_node() -- examine a device node and its children
* this routine gets passed to di_walk_node()
*/
int dump_node( di_node_t node, void *arg ) {
QTreeWidgetItem *top = (QTreeWidgetItem *) arg;
QTreeWidgetItem *parent;
char *path;
char *drivername;
char *names;
QString compatnames;
int i, n;
di_prop_t prop;
path = di_devfs_path( node );
/*
* if this is the root node ("/"), initialize the tree
*/
if( strlen( path ) == 1 ) {
top->setText( 0, QString( di_binding_name( node )));
top->setIcon( 0, SmallIcon( "kcmdevices" ));
top->setExpanded( true );
}
/*
* place the node in the tree
*/
parent = mktree( top, path );
/*
* we have to handle the root node differently...
*/
if( strlen( path ) > 1 ) {
parent->setExpanded(false);
} else {
parent = top;
}
/*
* node name and physical device path
*/
drivername = di_driver_name( node );
QStringList driverList;
driverList << i18n( "Driver Name:" );
if (drivername==NULL)
driverList << i18n( "(driver not attached)" );
else
driverList << drivername;
new QTreeWidgetItem(parent, driverList);
QStringList bindingList;
bindingList << i18n( "Binding Name:" ) << di_binding_name( node );
new QTreeWidgetItem(parent, bindingList);
n = di_compatible_names( node, &names );
if( n < 1 ) {
compatnames = i18n( "(none)" );
} else {
for( i = 0; i < n; i++ ) {
compatnames += names;
compatnames += ' ';
names += strlen( names ) + 1;
}
}
QStringList compatibleList;
compatibleList << i18n( "Compatible Names:" ) << compatnames;
new QTreeWidgetItem(parent, compatibleList);
QStringList physicalList;
physicalList << i18n( "Physical Path:" ) << QString( path );
new QTreeWidgetItem(parent, physicalList);
/*
* dump the node's property list (if any)
*/
if( (prop = di_prop_next( node, DI_PROP_NIL )) != DI_PROP_NIL ) {
QTreeWidgetItem *previous;
QStringList propertiesList;
propertiesList << i18n( "Properties" );
previous = new QTreeWidgetItem(parent, propertiesList);
previous->setExpanded( false );
do {
/*
* property type & value
*/
QStringList propList;
propList << di_prop_name( prop );
QTreeWidgetItem* tmp = new QTreeWidgetItem(previous, propList);
tmp->setExpanded( false );
QStringList typeList;
typeList << i18n( "Type:" ) << prop_type_str( prop );
new QTreeWidgetItem( tmp, typeList);
QStringList valueList;
valueList << i18n( "Value:" ) << propvalue( prop );
new QTreeWidgetItem( tmp, valueList);
}while( (prop = di_prop_next( node, prop )) != DI_PROP_NIL );
}
/*
* if there are minor nodes, expand the tree appropriately
*/
if( di_minor_next( node, DI_MINOR_NIL ) != DI_MINOR_NIL ) {
QStringList minorList;
minorList << i18n( "Minor Nodes" );
QTreeWidgetItem* previous = new QTreeWidgetItem(parent, minorList);
previous->setExpanded(false);
di_walk_minor( node, NULL, 0, previous, dump_minor_node );
}
return DI_WALK_CONTINUE;
}
bool GetInfo_Devices( QTreeWidget* tree ) {
di_node_t root_node;
/*
* create a snapshot of the device tree
*/
if( (root_node = di_init( "/", DINFOCPYALL )) == DI_NODE_NIL ) {
return( false );
}
// XXX: might try to di_prom_init() here as well (if we're setgid sys)
/*
* prepare the tree widget
*/
QStringList headers;
headers << i18n( "Device Information" ) << i18n( "Value" );
tree->setHeaderLabels(headers);
QTreeWidgetItem* top = new QTreeWidgetItem( tree );
/*
* traverse the device tree
*/
di_walk_node( root_node, DI_WALK_CLDFIRST, top, dump_node );
di_fini( root_node );
tree->setSortingEnabled(false);
return true;
}
#else /* ! HAVE_LIBDEVINFO_H */
bool GetInfo_Devices(QTreeWidget*) {
return false;
}
#endif /* ! HAVE_LIBDEVINFO_H */

View file

@ -1,112 +0,0 @@
/*
info_svr4.cpp
UNIX System V Release 4 specific Information about the Hardware.
Appropriate for SCO OpenServer and UnixWare.
Written 20-Feb-99 by Ronald Joe Record (rr@sco.com)
Initially based on info_sgi.cpp
*/
#define INFO_DEV_SNDSTAT "/dev/sndstat"
#include <sys/systeminfo.h>
/* all following functions should return true, when the Information
was filled into the lBox-Widget.
returning false indicates, that information was not available.
*/
bool GetInfo_ReadfromFile(QListView *lBox, char *Name, char splitchar) {
QString str;
char buf[512];
QFile *file = new QFile(Name);
QListViewItem* olditem = 0;
if (!file->open(QIODevice::ReadOnly)) {
delete file;
return false;
}
while (file->readLine(buf, sizeof(buf)-1) > 0) {
if (strlen(buf)) {
char *p=buf;
if (splitchar!=0) /* remove leading spaces between ':' and the following text */
while (*p) {
if (*p==splitchar) {
*p++ = ' ';
while (*p==' ')
++p;
*(--p) = splitchar;
++p;
} else
++p;
}
QString s1 = QString::fromLocal8Bit(buf);
QString s2 = s1.mid(s1.find(splitchar)+1);
s1.truncate(s1.find(splitchar));
if (!(s1.isEmpty() || s2.isEmpty()))
olditem = new QListViewItem(lBox, olditem, s1, s2);
}
}
file->close();
delete file;
return true;
}
bool GetInfo_CPU(QListView *lBox) {
char buf[256];
sysinfo(SI_ARCHITECTURE, buf, sizeof(buf));
new QListViewItem(lBox, QString::fromLocal8Bit(buf));
return true;
}
bool GetInfo_IRQ(QListView *) {
return false;
}
bool GetInfo_DMA(QListView *) {
return false;
}
bool GetInfo_PCI(QTreeWidget* tree) {
char buf[256];
sysinfo(SI_BUSTYPES, buf, sizeof(buf));
QStringList list;
list << QString::fromLocal8Bit(buf);
new QTreeWidgetItem(tree, list);
return true;
}
bool GetInfo_IO_Ports(QListView *) {
return false;
}
bool GetInfo_Sound(QListView *lBox) {
if (GetInfo_ReadfromFile(lBox, INFO_DEV_SNDSTAT, 0))
return true;
else
return false;
}
bool GetInfo_Devices(QListView *) {
return false;
}
bool GetInfo_SCSI(QListView *) {
return false;
}
bool GetInfo_Partitions(QListView *) {
return false;
}
bool GetInfo_XServer_and_Video(QListView *lBox) {
return GetInfo_XServer_Generic(lBox);
}

View file

@ -1,331 +0,0 @@
#ifndef OS_BASE_H_
#define OS_BASE_H_
#include <QString>
#include <QStringList>
#include <QProcess>
#include <QTextStream>
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <kiconloader.h>
#include <kglobal.h>
#include <klocale.h>
#include <X11/Xlib.h>
#include "config-infocenter.h"
static const QString Value(int val, int numbers=1) {
return KGlobal::locale()->formatNumber(val, 0).rightJustified(numbers);
}
static const QString HexStr(unsigned long val, int digits) {
QString hexstr;
int i;
hexstr = QString::fromLatin1("0x%1").arg(val, digits, 16/*=HEX*/);
for (i=hexstr.length()-1; i>0; --i)
if (hexstr[i]==' ')
hexstr[i] = '0';
return hexstr;
}
static const QString Order(int order) {
if (order==LSBFirst)
return i18n("LSBFirst");
else if (order==MSBFirst)
return i18n("MSBFirst");
else
return i18n("Unknown Order %1", order);
}
static const QString BitString(unsigned long n) {
return i18np("1 Bit", "%1 Bits", n); // singular & plural form of "%d Bit"
}
static const QString ByteString(unsigned long n) {
/* explanation in BR #52640 (http://bugs.kde.org/show_bug.cgi?id=52640) */
if (n == 1)
return i18nc("singular form: '1 Byte' (yes, it is '1', not '%1'!)", "1 Byte");
return i18nc("plural form: '%1 Bytes'", "%1 Bytes", KGlobal::locale()->formatNumber(n, 0));
}
static const struct _event_table {
const char *name;
long value;
} event_table[] = { { "KeyPressMask", KeyPressMask }, { "KeyReleaseMask", KeyReleaseMask }, { "ButtonPressMask", ButtonPressMask }, { "ButtonReleaseMask", ButtonReleaseMask }, { "EnterWindowMask", EnterWindowMask }, { "LeaveWindowMask", LeaveWindowMask }, { "PointerMotionMask", PointerMotionMask },
{ "PointerMotionHintMask", PointerMotionHintMask }, { "Button1MotionMask", Button1MotionMask }, { "Button2MotionMask", Button2MotionMask }, { "Button3MotionMask", Button3MotionMask }, { "Button4MotionMask", Button4MotionMask }, { "Button5MotionMask", Button5MotionMask }, {
"ButtonMotionMask", ButtonMotionMask }, { "KeymapStateMask", KeymapStateMask }, { "ExposureMask", ExposureMask }, { "VisibilityChangeMask", VisibilityChangeMask }, { "StructureNotifyMask", StructureNotifyMask }, { "ResizeRedirectMask", ResizeRedirectMask }, {
"SubstructureNotifyMask", SubstructureNotifyMask }, { "SubstructureRedirectMask", SubstructureRedirectMask }, { "FocusChangeMask", FocusChangeMask }, { "PropertyChangeMask", PropertyChangeMask }, { "ColormapChangeMask", ColormapChangeMask }, { "OwnerGrabButtonMask",
OwnerGrabButtonMask }, { 0L, 0 } };
/* easier to read with such a define ! */
#define I18N_MAX(txt,in,fm,maxw) \
{ int n = fm.width(txt=in); if (n>maxw) maxw=n; }
#define PIXEL_ADD 20 // add x Pixel to multicolumns..
#define HEXDIGITS (sizeof(int)*8/4) /* 4 Bytes = 32 Bits = 8 Hex-Digits */
static QTreeWidgetItem* XServer_fill_screen_info(QTreeWidgetItem *lBox, QTreeWidgetItem *last, Display *dpy, int scr, int default_scr) {
unsigned width, height;
double xres, yres;
int i, ndepths, *depths;
Screen *s= ScreenOfDisplay(dpy,scr); /* opaque structure */
QTreeWidgetItem *item;
/*
* there are 2.54 centimeters to an inch; so there are 25.4 millimeters.
*
* dpi = N pixels / (M millimeters / (25.4 millimeters / 1 inch))
* = N pixels / (M inch / 25.4)
* = N * 25.4 pixels / M inch
*/
xres = ((double)(DisplayWidth(dpy,scr) *25.4)/DisplayWidthMM(dpy,scr) );
yres = ((double)(DisplayHeight(dpy,scr)*25.4)/DisplayHeightMM(dpy,scr));
QStringList screenList;
screenList << ki18n("Screen # %1").subs((int)scr,-1).toString();
if (scr==default_scr)
screenList << i18n("(Default Screen)");
else
screenList << QString();
item = new QTreeWidgetItem(lBox, screenList);
if (scr==default_scr)
item->setExpanded(true);
QStringList dimensionList;
dimensionList << i18n("Dimensions") << i18n("%1 x %2 Pixels (%3 x %4 mm)", (int)DisplayWidth(dpy,scr) , (int)DisplayHeight(dpy,scr) , (int)DisplayWidthMM(dpy,scr) , (int)DisplayHeightMM (dpy,scr) );
last = new QTreeWidgetItem(item, dimensionList);
QStringList resolutionList;
resolutionList << i18n("Resolution") << i18n("%1 x %2 dpi", (int)(xres+0.5) , (int)(yres+0.5) );
last = new QTreeWidgetItem(item, resolutionList);
ndepths = 0;
depths = 0;
depths = XListDepths(dpy, scr, &ndepths);
if (depths) {
QString txt;
for (i = 0; i < ndepths; i++) {
txt = txt + Value(depths[i]);
if (i < ndepths - 1)
txt = txt + QLatin1String(", ");
}
QStringList depthList;
depthList << ki18n("Depths (%1)").subs(ndepths,-1).toString() << txt;
last = new QTreeWidgetItem(item, depthList);
XFree((char *) depths);
}
QStringList rootList;
rootList << i18n("Root Window ID") << HexStr((unsigned long)RootWindow(dpy,scr), HEXDIGITS);
last = new QTreeWidgetItem(item, rootList);
QStringList depthRootList;
depthRootList << i18n("Depth of Root Window") << i18np("%1 plane", "%1 planes", DisplayPlanes(dpy,scr));
last = new QTreeWidgetItem(item, depthRootList);
QStringList colormapList;
colormapList << i18n("Number of Colormaps") << i18n("minimum %1, maximum %2", (int)MinCmapsOfScreen(s), (int)MaxCmapsOfScreen(s));
last = new QTreeWidgetItem(item, colormapList);
QStringList defaultColormap;
defaultColormap << i18n("Default Colormap"), Value((int)DefaultColormap(dpy,scr));
last = new QTreeWidgetItem(item, defaultColormap);
QStringList colormapCellList;
colormapCellList << i18n("Default Number of Colormap Cells") << Value((int)DisplayCells(dpy, scr));
last = new QTreeWidgetItem(item, colormapCellList);
QStringList preallocatedList;
preallocatedList << i18n("Preallocated Pixels") << i18n("Black %1, White %2", KGlobal::locale()->formatNumber(BlackPixel(dpy,scr), 0), KGlobal::locale()->formatNumber(WhitePixel(dpy,scr), 0));
last = new QTreeWidgetItem(item, preallocatedList);
QString YES(i18n("Yes"));
QString NO(i18n("No"));
QStringList optionList;
optionList << i18n("Options") << i18n("backing-store: %1, save-unders: %2", (DoesBackingStore(s) == NotUseful) ? NO : ((DoesBackingStore(s) == Always) ? YES : i18n("When mapped")),
DoesSaveUnders(s) ? YES : NO);
last = new QTreeWidgetItem(item, optionList);
XQueryBestSize(dpy, CursorShape, RootWindow(dpy,scr), 65535, 65535, &width, &height);
QStringList largestList;
largestList << i18n("Largest Cursor");
if (width == 65535 && height == 65535)
largestList << i18n("unlimited");
else
largestList << QString::fromLatin1("%1 x %2").arg(width).arg(height);
last = new QTreeWidgetItem(item, largestList);
QStringList currentInput;
currentInput << i18n("Current Input Event Mask") << HexStr((unsigned long)EventMaskOfScreen(s), HEXDIGITS);
last = new QTreeWidgetItem(item, currentInput);
const struct _event_table *etp;
for (etp=event_table; etp->name; etp++) {
if (EventMaskOfScreen(s) & etp->value) {
QStringList eventList;
eventList << i18n("Event = %1", HexStr(etp->value, HEXDIGITS)) << etp->name;
new QTreeWidgetItem(last, eventList);
}
}
if (last->childCount()==0)
return last;
else
return last->child(last->childCount()-1);
}
static bool GetInfo_XServer_Generic(QTreeWidget *lBox) {
/* Many parts of this source are taken from the X11-program "xdpyinfo" */
int i, n;
long req_size;
Display *dpy;
XPixmapFormatValues *pmf;
QString str, txt;
QTreeWidgetItem *last, *item, *next;
dpy = XOpenDisplay(0);
if (!dpy)
return false;
QStringList headers;
headers << i18n("Information") << i18n("Value");
lBox->setHeaderLabels(headers);
lBox->setSortingEnabled(false);
QStringList serverInfo;
serverInfo << i18n("Server Information");
next = new QTreeWidgetItem(lBox, serverInfo);
next->setIcon(0, SmallIcon("xorg"));
next->setExpanded(true);
QStringList displayNameList;
displayNameList << i18n("Name of the Display") << DisplayString(dpy);
last = new QTreeWidgetItem(next, displayNameList);
QStringList vendorList;
vendorList << i18n("Vendor String") << QLatin1String(ServerVendor(dpy));
last = new QTreeWidgetItem(next, vendorList);
QStringList vendorReleaseList;
vendorReleaseList << i18n("Vendor Release Number") << Value((int)VendorRelease(dpy));
last = new QTreeWidgetItem(next, vendorReleaseList);
QStringList versionList;
versionList << i18n("Version Number") << QString::fromLatin1("%1.%2").arg((int)ProtocolVersion(dpy)).arg((int)ProtocolRevision(dpy));
last = new QTreeWidgetItem(next, versionList);
QStringList screenList;
screenList << i18n("Available Screens");
last = item = new QTreeWidgetItem(next, screenList);
last->setExpanded(true);
for (i=0; i<ScreenCount(dpy); i++) {
item = XServer_fill_screen_info(last, item, dpy, i, (int)DefaultScreen(dpy));
if (i==0)
item->setExpanded(true);
}
QStringList extensionList;
extensionList << i18n("Supported Extensions");
last = new QTreeWidgetItem(next, extensionList );
item = last;
int extCount;
char **extensions = XListExtensions(dpy, &extCount);
for (i = 0; i < extCount; i++) {
QStringList extensionInfoList;
extensionInfoList << QLatin1String(extensions[i]);
item = new QTreeWidgetItem( last, extensionInfoList );
}
XFreeExtensionList(extensions);
pmf = XListPixmapFormats(dpy, &n);
QStringList pixmapFormatList;
pixmapFormatList << i18n("Supported Pixmap Formats");
last = item = new QTreeWidgetItem(next, pixmapFormatList);
if (pmf) {
for (i=0; i<n; i++) {
QStringList pixmapList;
pixmapList << i18n("Pixmap Format #%1", i+1) << i18n("%1 BPP, Depth: %2, Scanline padding: %3", pmf[i].bits_per_pixel, BitString(pmf[i].depth), BitString(pmf[i].scanline_pad));
item = new QTreeWidgetItem(last, pixmapList);
}
XFree((char *)pmf);
}
req_size = XExtendedMaxRequestSize(dpy);
if (!req_size)
req_size = XMaxRequestSize(dpy);
QStringList requestSizeList;
requestSizeList << i18n("Maximum Request Size") << ByteString(req_size*4);
last = new QTreeWidgetItem(next, requestSizeList);
QStringList motionList;
motionList << i18n("Motion Buffer Size") << ByteString(XDisplayMotionBufferSize(dpy));
last = new QTreeWidgetItem(next, motionList);
QStringList bitmapList;
bitmapList << i18n("Bitmap");
last = item = new QTreeWidgetItem(next, bitmapList);
QStringList unitList;
unitList << i18n("Unit") << Value(BitmapUnit(dpy));
item = new QTreeWidgetItem(last, unitList);
QStringList orderList;
orderList << i18n("Order") << Order(BitmapBitOrder(dpy));
item = new QTreeWidgetItem(last, orderList);
QStringList paddingList;
paddingList << i18n("Padding") << Value(BitmapPad(dpy));
item = new QTreeWidgetItem(last, paddingList);
QStringList imageByteList;
imageByteList << i18n("Image Byte Order") << Order(ImageByteOrder(dpy));
last = new QTreeWidgetItem(next, imageByteList);
XCloseDisplay(dpy);
return true;
}
/* Helper-function to read output from an external program */
static int GetInfo_ReadfromPipe(QTreeWidget* tree, const char *FileName, bool WithEmptyLines = true) {
QProcess proc;
QTreeWidgetItem* olditem= NULL;
QString s;
proc.start(FileName, QIODevice::ReadOnly);
if (!proc.waitForFinished()) {
// Process hanged or did not start
return 0;
}
QTextStream t(&proc);
while (!t.atEnd()) {
s = t.readLine();
if (!WithEmptyLines && s.length()==0)
continue;
QStringList list;
list << s;
olditem = new QTreeWidgetItem(tree, list);
}
return tree->topLevelItemCount();
}
#endif /*OS_BASE_H_*/

View file

@ -1,28 +0,0 @@
#include "os_current.h"
#include "os_base.h"
#ifdef __linux__
#include "info_linux.cpp"
#elif defined(sgi) && sgi
#include "info_sgi.cpp"
#elif defined(__FreeBSD__) || defined(__DragonFly__)
#include "info_fbsd.cpp"
#elif defined(__hpux)
#include "info_hpux.cpp"
#elif defined(__NetBSD__)
#include "info_netbsd.cpp"
#elif defined(__OpenBSD__)
#include "info_openbsd.cpp"
#elif defined(__svr4__) && defined(sun)
#include "info_solaris.cpp"
#elif defined(__svr4__)
#include "info_svr4.cpp"
#elif defined(_AIX)
#include "info_aix.cpp"
#elif defined(__APPLE__)
#include "info_osx.cpp"
#else
#include "info_generic.cpp" /* Default for unsupported systems.... */
#endif

View file

@ -1,184 +0,0 @@
#ifndef OS_CURRENT_H_
#define OS_CURRENT_H_
class QTreeWidget;
class QString;
/* function call-back-prototypes... */
bool GetInfo_CPU(QTreeWidget* tree);
bool GetInfo_IRQ(QTreeWidget* tree);
bool GetInfo_DMA(QTreeWidget* tree);
bool GetInfo_PCI(QTreeWidget* tree);
bool GetInfo_IO_Ports(QTreeWidget* tree);
bool GetInfo_Sound(QTreeWidget* tree);
bool GetInfo_Devices(QTreeWidget* tree);
bool GetInfo_SCSI(QTreeWidget* tree);
bool GetInfo_Partitions(QTreeWidget* tree);
bool GetInfo_XServer_and_Video(QTreeWidget* tree);
#ifdef __linux__
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
/* i18n("Maybe the proc-filesystem is not enabled in Linux-Kernel.") */
#define DEFAULT_ERRORSTRING QString()
#elif defined(sgi) && sgi
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__FreeBSD__) || defined(__DragonFly__)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__hpux)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING QString()
#elif defined(__NetBSD__)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__OpenBSD__)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__svr4__) && defined(sun)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__svr4__)
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(_AIX)
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#elif defined(__APPLE__)
#define INFO_CPU_AVAILABLE
//#define INFO_IRQ_AVAILABLE
//#define INFO_DMA_AVAILABLE
//#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#else
#define INFO_CPU_AVAILABLE
#define INFO_IRQ_AVAILABLE
#define INFO_DMA_AVAILABLE
#define INFO_IOPORTS_AVAILABLE
#define INFO_SOUND_AVAILABLE
#define INFO_DEVICES_AVAILABLE
#define INFO_SCSI_AVAILABLE
#define INFO_PARTITIONS_AVAILABLE
#define INFO_XSERVER_AVAILABLE
#define DEFAULT_ERRORSTRING i18n("This system may not be completely supported yet.")
#endif
#endif /*OS_CURRENT_H_*/

View file

@ -1,188 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "dockcontainer.h"
#include <kapplication.h>
#include <kmessagebox.h>
#include <klocale.h>
#include <kdebug.h>
#include <kdialog.h>
#include <kiconloader.h>
#include <kvbox.h>
#include <QLabel>
#include <QPixmap>
#include <QFont>
#include <QApplication>
#include "global.h"
#include "modules.h"
#include "proxywidget.h"
#include "aboutwidget.h"
#include "dockcontainer.moc"
ModuleTitle::ModuleTitle(QWidget *parent) :
KTitleWidget(parent) {
}
ModuleTitle::~ModuleTitle() {
}
void ModuleTitle::showTitleFor(ConfigModule* config) {
kDebug() << "Show title for" << endl;
if ( !config)
return;
setWhatsThis(config->comment() );
setCommentText(config->docPath(), config->comment(), config->module()->quickHelp());
setPixmap(config->realIcon(KIconLoader::SizeLarge));
setText(config->moduleName());
kDebug() << "Show title for done" << endl;
}
void ModuleTitle::setCommentText(const QString& docPath, const QString& text, const QString& quickHelp) {
if (text.isEmpty() && docPath.isEmpty())
setCommentBaseText();
else if (docPath.isEmpty())
setComment(text);
else {
setComment(quickHelp + i18n("<p>Click here to consult the full <a href=\"%1\">Manual</a>.</p>", "help:/" + docPath));
}
}
void ModuleTitle::setCommentBaseText() {
setComment(i18n("<h1>KDE Info Center</h1>"
"There is no quick help available for the active info module."
"<br /><br />"
"Click <a href = \"kinfocenter/index.html\">here</a> to read the general Info Center manual.") );
}
DockContainer::DockContainer(AboutWidget* aboutWidget, QWidget *parent) :
QWidget(parent) {
QVBoxLayout* mainLayout = new QVBoxLayout(this);
_moduleTitle = new ModuleTitle(this);
mainLayout->addWidget(_moduleTitle);
_moduleWidgets = new QStackedWidget(this);
mainLayout->addWidget(_moduleWidgets);
_busyWidget = new QLabel(i18n("<big><b>Loading...</b></big>"), this);
_busyWidget->setAlignment(Qt::AlignCenter);
_busyWidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
_moduleWidgets->addWidget(_busyWidget);
_generalWidget = aboutWidget;
_moduleWidgets->addWidget(_generalWidget);
showAboutWidget();
}
DockContainer::~DockContainer() {
}
ProxyWidget* DockContainer::initializeModule(ConfigModule * module) {
showBusyWidget();
QApplication::setOverrideCursor(Qt::WaitCursor);
ProxyWidget* proxy = module->module();
if (proxy!=NULL) {
//If this module was not in the stack, add it.
if ( _moduleWidgets->indexOf(proxy) == -1) {
_moduleWidgets->addWidget(proxy);
}
}
QApplication::restoreOverrideCursor();
return proxy;
}
bool DockContainer::dockModule(ConfigModule *module) {
ProxyWidget* widget = initializeModule(module);
if (widget==NULL) {
kDebug() << "Failed to display module" << module->moduleName() << endl;
showAboutWidget();
return false;
}
if (widget == _moduleWidgets->currentWidget()) {
kDebug() << "Module already displayed" << endl;
return true;
}
if (widget->isChanged()) {
int res = KMessageBox::warningYesNoCancel(this, module ? i18n("There are unsaved changes in the active module.\n"
"Do you want to apply the changes before running "
"the new module or discard the changes?") : i18n("There are unsaved changes in the active module.\n"
"Do you want to apply the changes before exiting "
"the System Settings or discard the changes?"), i18n("Unsaved Changes"), KStandardGuiItem::apply(), KStandardGuiItem::discard());
if (res == KMessageBox::Cancel)
return false;
}
kDebug() << "Docking module..." << endl;
showConfigWidget(module);
return true;
}
void DockContainer::showAboutWidget() {
kDebug() << "Show About Widget" << endl;
_moduleWidgets->setCurrentWidget(_generalWidget);
_moduleTitle->hide();
}
void DockContainer::showBusyWidget() {
kDebug() << "Show Busy Widget" << endl;
_moduleWidgets->setCurrentWidget(_busyWidget);
_moduleTitle->hide();
kapp->processEvents();
}
void DockContainer::showConfigWidget(ConfigModule* module) {
kDebug() << "Show Config Widget" << endl;
_moduleTitle->showTitleFor(module);
_moduleTitle->show();
_moduleWidgets->setCurrentWidget(module->module());
}

View file

@ -1,76 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __dockcontainer_h__
#define __dockcontainer_h__
#include <QStackedWidget>
#include <QLabel>
#include <QVBoxLayout>
#include <kvbox.h>
#include <ktitlewidget.h>
class AboutWidget;
class ConfigModule;
class ProxyWidget;
class ModuleTitle : public KTitleWidget {
public:
ModuleTitle(QWidget *parent);
~ModuleTitle();
void showTitleFor(ConfigModule *module);
private:
void setCommentText(const QString& docPath, const QString& text, const QString& quickHelp);
void setCommentBaseText();
};
class DockContainer : public QWidget {
Q_OBJECT
public:
DockContainer(AboutWidget* aboutWidget, QWidget *parent=NULL);
virtual ~DockContainer();
bool dockModule(ConfigModule *module);
public slots:
void showAboutWidget();
signals:
void newModule(const QString& name);
private:
void showBusyWidget();
void showConfigWidget(ConfigModule* module);
ProxyWidget* initializeModule(ConfigModule* module);
QLabel *_busyWidget;
ModuleTitle* _moduleTitle;
QStackedWidget* _moduleWidgets;
AboutWidget* _generalWidget;
};
#endif

View file

@ -1,90 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "global.h"
#include <kservicegroup.h>
#include <kdebug.h>
#include <kapplication.h>
#include <kuser.h>
#include <QObject>
#include <QByteArray>
#include <QWidget>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/utsname.h>
bool KCGlobal::_root = false;
QStringList KCGlobal::_types;
QString KCGlobal::_uname = "";
QString KCGlobal::_hname = "";
QString KCGlobal::_kdeversion = "";
QString KCGlobal::_isystem = "";
QString KCGlobal::_irelease = "";
QString KCGlobal::_iversion = "";
QString KCGlobal::_imachine = "";
QString KCGlobal::_baseGroup = "";
void KCGlobal::init() {
char buf[256];
buf[0] = '\0';
if (!gethostname(buf, sizeof(buf)))
buf[sizeof(buf)-1] ='\0';
QString hostname(buf);
setHostName(hostname);
KUser user;
setUserName(user.loginName());
setRoot(user.isSuperUser());
setKDEVersion(KDE::versionString());
struct utsname info;
uname(&info);
setSystemName(info.sysname);
setSystemRelease(info.release);
setSystemVersion(info.version);
setSystemMachine(info.machine);
}
void KCGlobal::setType(const QByteArray& s) {
QString string = s.toLower();
_types = string.split( ',');
}
QString KCGlobal::baseGroup() {
if (_baseGroup.isEmpty() ) {
KServiceGroup::Ptr group = KServiceGroup::baseGroup("info");
if (group) {
_baseGroup = group->relPath();
kDebug() << "Found basegroup = " << _baseGroup;
return _baseGroup;
}
// Compatibility with old behaviour, in case of missing .directory files.
if (_baseGroup.isEmpty()) {
kWarning() << "No K menu group with X-KDE-BaseGroup=info found ! Defaulting to Settings/Information/";
_baseGroup = QLatin1String("Settings/Information/");
}
}
return _baseGroup;
}

View file

@ -1,95 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef _GLOBAL_H_
#define _GLOBAL_H_
#define KINFOCENTER_ICON_NAME "hwinfo"
#include <QString>
#include <QStringList>
class KCGlobal {
public:
static void init();
static bool root() {
return _root;
}
static QStringList types() {
return _types;
}
static QString userName() {
return _uname;
}
static QString hostName() {
return _hname;
}
static QString kdeVersion() {
return _kdeversion;
}
static QString systemName() {
return _isystem;
}
static QString systemRelease() {
return _irelease;
}
static QString systemVersion() {
return _iversion;
}
static QString systemMachine() {
return _imachine;
}
static QString baseGroup();
static void setRoot(bool r) {
_root = r;
}
static void setType(const QByteArray& s);
static void setUserName(const QString& n) {
_uname = n;
}
static void setHostName(const QString& n) {
_hname = n;
}
static void setKDEVersion(const QString& n) {
_kdeversion = n;
}
static void setSystemName(const QString& n) {
_isystem = n;
}
static void setSystemRelease(const QString& n) {
_irelease = n;
}
static void setSystemVersion(const QString& n) {
_iversion = n;
}
static void setSystemMachine(const QString& n) {
_imachine = n;
}
private:
static bool _root;
static QStringList _types;
static QString _uname, _hname, _isystem, _irelease, _iversion, _imachine, _kdeversion;
static QString _baseGroup;
};
#endif

View file

@ -1,102 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
Copyright (c) 2003 Frauke Oster <frauke.oster@t-online.de>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "indexwidget.h"
#include <QWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include "moduletreeview.h"
#include <kdebug.h>
#include <klocale.h>
#include "indexwidget.moc"
IndexWidget::IndexWidget(ConfigModuleList *modules, QWidget *parent) :
QWidget(parent) {
QVBoxLayout* mainLayout = new QVBoxLayout();
setLayout(mainLayout);
_tree=new ModuleTreeView(modules, this);
QHBoxLayout* searchLayout = new QHBoxLayout();
searchLayout->setMargin(0);
QLabel* searchLabel = new QLabel(i18n("Filter:"), this);
_searchLine = new ModuleWidgetSearchLine(this, _tree);
searchLabel->setBuddy(_searchLine);
searchLayout->addWidget(searchLabel);
searchLayout->addWidget(_searchLine);
_tree->fill();
connectTree();
mainLayout->addLayout(searchLayout);
mainLayout->addWidget(_tree);
kDebug() << "Index Widget initialized" << endl;
}
IndexWidget::~IndexWidget() {
}
void IndexWidget::reload() {
}
void IndexWidget::selectModule(ConfigModule *module) {
kDebug() << "Selecting module..." << endl;
ModuleTreeItem* moduleTreeItem = _tree->findMatchingItem(module);
disconnectTree();
_tree->scrollToItem(moduleTreeItem);
moduleTreeItem->setSelected(true);
connectTree();
emit moduleActivated(module);
}
void IndexWidget::selectGeneral() {
_tree->scrollToItem(_tree->generalItem());
disconnectTree();
_tree->generalItem()->setSelected(true);
connectTree();
emit generalActivated();
}
void IndexWidget::connectTree() {
connect(_tree, SIGNAL(moduleSelected(ConfigModule*)), this, SLOT(selectModule(ConfigModule*)));
connect(_tree, SIGNAL(generalSelected()), this, SLOT(selectGeneral()));
}
void IndexWidget::disconnectTree() {
_tree->disconnect(SIGNAL(generalSelected()));
_tree->disconnect(SIGNAL(moduleSelected(ConfigModule*)));
}

View file

@ -1,59 +0,0 @@
/*
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __indexwidget_h__
#define __indexwidget_h__
#include "global.h"
#include <QWidget>
class ConfigModuleList;
class ConfigModule;
class ModuleTreeView;
class ModuleWidgetSearchLine;
class IndexWidget : public QWidget {
Q_OBJECT
public:
IndexWidget(ConfigModuleList *list, QWidget *parent);
virtual ~IndexWidget();
public slots:
void reload();
void selectGeneral();
void selectModule(ConfigModule *);
signals:
void generalActivated();
void moduleActivated(ConfigModule *module);
private:
void connectTree();
void disconnectTree();
ModuleTreeView *_tree;
ModuleWidgetSearchLine* _searchLine;
};
#endif

View file

@ -1,32 +0,0 @@
Info Module:
Original (means: insufficient) implementation:
Matthias Hoelzer <hoelzer@physik.uni-wuerzburg.de>
Various authors contributed the code for non-Linux systems, among them:
David Brownlee <abs@NetBSD.org> [NetBSD]
Jaromir Dolecek <dolecek@ics.muni.cz> [NetBSD]
Paul Kendall <paul@orion.co.nz> [IRIX]
Vladimir Kushnir <kushn@olinet.isf.kiev.ua> [FreeBSD]
Aubert Pierre <paubert@laninsa.insa-lyon.fr> [HP-UX]
Alex Zepeda <zipzippy@sonic.net> [FreeBSD]
Sebestyen Zoltan <szoli@digo.inf.elte.hu> [FreeBSD]
Conversion to kcontrol applet:
Matthias Hoelzer <hoelzer@physik.uni-wuerzburg.de>
Added more information for Linux and HP-UX (empty functions for the other systems):
Helge Deller <deller@gmx.de>
(Added: pci, dma, interrupts, sound, X-server, devices, ioports, partitions, SCSI)
Hey! FreeBSD's got Sound, XServer, devices, partitions and SCSI info for
FreeBSD now too, compliments of your truly.
Alex Zepeda <zipzippy@sonic.net>
Have YOU seen the glove of K?

View file

@ -1,34 +0,0 @@
# OS Base includes
include(../base/CMakeLists.txt)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/../base
)
########### next target ###############
set(kcm_info_PART_SRCS main.cpp info.cpp ../base/os_current.cpp )
kde4_add_plugin(kcm_info ${kcm_info_PART_SRCS})
target_link_libraries(kcm_info ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY} ${X11_X11_LIB})
install(TARGETS kcm_info DESTINATION ${PLUGIN_INSTALL_DIR} )
########### install files ###############
install(
FILES
dma.desktop
interrupts.desktop
ioports.desktop
sound.desktop
devices.desktop
scsi.desktop
xserver.desktop
DESTINATION ${SERVICES_INSTALL_DIR}
)

View file

@ -1,2 +0,0 @@
#! /usr/bin/env bash
$XGETTEXT *.cpp -o $podir/kcminfo.pot

View file

@ -1,251 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 devices
Icon=kcmdevices
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/devices/index.html
Categories=Qt;KDE;X-KDE-information;
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=devices
X-KDE-ParentApp=kinfocenter
Name=Devices
Name[af]=Toestelle
Name[ar]=الأجهزة
Name[as]=
Name[be]=Прылады
Name[be@latin]=Pryłady
Name[bg]=Устройства
Name[bn]=ি
Name[bn_IN]=ি
Name[br]=Trobarzhelloù
Name[ca]=Dispositius
Name[ca@valencia]=Dispositius
Name[cs]=Zařízení
Name[csb]=Ùrządzenia
Name[cy]=Dyfeisiau
Name[da]=Enheder
Name[de]=Geräte
Name[el]=Συσκευές
Name[en_GB]=Devices
Name[eo]=Aparatoj
Name[es]=Dispositivos
Name[et]=Seadmed
Name[eu]=Gailuak
Name[fa]=دستگاهها
Name[fi]=Laitteet
Name[fr]=Périphériques
Name[fy]=Apparaten
Name[ga]=Gléasanna
Name[gl]=Dispositivos
Name[gu]=
Name[he]=התקנים
Name[hi]=
Name[hne]=
Name[hr]=Uređaji
Name[hsb]=Graty
Name[hu]=Eszközök
Name[id]=Divais
Name[is]=Tæki
Name[it]=Dispositivi
Name[ja]=
Name[ka]=
Name[kk]=Құрылғылар
Name[km]=
Name[kn]=
Name[ko]=
Name[ku]=Cîhaz
Name[lt]=Įrenginiai
Name[lv]=Ierīces
Name[mai]=ि
Name[mk]=Уреди
Name[ml]=
Name[mr]=
Name[ms]=Peranti
Name[nb]=Enheter
Name[nds]=Reedschappen
Name[ne]=
Name[nl]=Apparaten
Name[nn]=Einingar
Name[oc]=Periferics
Name[or]=ି
Name[pa]=
Name[pl]=Urządzenia
Name[pt]=Dispositivos
Name[pt_BR]=Dispositivos
Name[ro]=Dispozitive
Name[ru]=Устройства
Name[se]=Ovttadagat
Name[si]=
Name[sk]=Zariadenia
Name[sl]=Naprave
Name[sr]=Уређаји
Name[sr@ijekavian]=Уређаји
Name[sr@ijekavianlatin]=Uređaji
Name[sr@latin]=Uređaji
Name[sv]=Enheter
Name[ta]=
Name[te]=ి
Name[tg]=Дастгоҳҳо
Name[th]=
Name[tr]=Aygıtlar
Name[uk]=Пристрої
Name[uz]=Uskunalar
Name[uz@cyrillic]=Ускуналар
Name[vi]=Thiết b
Name[wa]=Éndjins
Name[xh]=Amacebo
Name[x-test]=xxDevicesxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Attached devices information
Comment[af]=Gekoppelde toestelle informasie
Comment[ar]=معلومات الأجهزة الموصولة
Comment[as]=
Comment[be]=Звесткі пра далучаныя прылады
Comment[be@latin]=Źviestki pra padłučanyja pryłady
Comment[bg]=Информация за системните устройства
Comment[bn]= ি
Comment[bn_IN]= ি
Comment[br]=Titouroù diwar-benn an trobarzhelloù luget
Comment[ca]=Informació dels dispositius connectats
Comment[ca@valencia]=Informació dels dispositius connectats
Comment[cs]=Informace o připojených zařízeních
Comment[csb]=Wëdowiédzô ò włączonëch ùrządzeniach
Comment[cy]=Gwybodaeth am ddyfeisiau wedi'i gysylltu
Comment[da]=Information om tilkoblede enheder
Comment[de]=Informationen zu angeschlossenen Geräten
Comment[el]=Πληροφορίες για τις συνδεδεμένες συσκευές
Comment[en_GB]=Attached devices information
Comment[eo]=Informo pri surmetitaj disponaĵoj
Comment[es]=Información sobre los dispositivos conectados
Comment[et]=Info ühendatud seadmete kohta
Comment[eu]=Uztartuta dauden gailuei buruzko informazioa
Comment[fa]=اطلاعات دستگاههای پیوستشده
Comment[fi]=Tietoja liitetyistä laitteista
Comment[fr]=Informations sur les périphériques branchés
Comment[fy]=Ynformaasje oer oansletten apparaten
Comment[ga]=Eolas faoi ghléas ceangailte
Comment[gl]=Información dos dispositivos conectados
Comment[gu]= િ
Comment[he]=מידע על ההתקנים המחוברים
Comment[hi]=
Comment[hne]=
Comment[hr]=Podaci o priključenim uređajima
Comment[hsb]=Informacija wo přizamknjenych gratach
Comment[hu]=A csatlakoztatott eszközök jellemzői
Comment[id]=Informasi divais tertancap
Comment[is]=Upptalning á tækjum tölvu
Comment[it]=Informazioni sui dispositivi connessi
Comment[ja]=
Comment[ka]=
Comment[kk]=Қосылған құрылғылар туралы
Comment[km]=
Comment[kn]=ಿ ಿಿ
Comment[ko]=
Comment[ku]=Agahiyên cîhazên pêvek
Comment[lt]=Prijungtų įrenginių informacija
Comment[lv]=Pievienoto ierīču informācija
Comment[mai]=ि
Comment[mk]=Информации за прикачени уреди
Comment[ml]=ിിി ി ി
Comment[mr]= ि
Comment[ms]=Maklumat Peranti Terlampir
Comment[nb]=Informasjon om tilkoblede enheter
Comment[nds]=Informatschoon över de tokoppelten Reedschappen
Comment[ne]= ि
Comment[nl]=Informatie over aangesloten apparaten
Comment[nn]=Informasjon om tilkopla einingar
Comment[or]= ି
Comment[pa]=
Comment[pl]=Informacje o włączonych urządzeniach
Comment[pt]=Informações sobre os dispositivos ligados
Comment[pt_BR]=Informações sobre dispositivos conectados
Comment[ro]=Informații despre dispozitivele instalate
Comment[ru]=Сведения о подключенных устройствах
Comment[se]=Dieđuid laktašuvvon ovttadagaid birra
Comment[si]=
Comment[sk]=Informácie o pripojených zariadeniach
Comment[sl]=Podatki o priklopljenih napravah
Comment[sr]=Подаци о прикљученим уређајима
Comment[sr@ijekavian]=Подаци о прикљученим уређајима
Comment[sr@ijekavianlatin]=Podaci o priključenim uređajima
Comment[sr@latin]=Podaci o priključenim uređajima
Comment[sv]=Information om anslutna enheter
Comment[ta]=
Comment[te]=ి ి
Comment[tg]=Иттилооти дастгоҳҳои бастанд
Comment[th]=
Comment[tr]=Bağlanmış aygıtlar hakkında bilgi
Comment[uk]=Інформація щодо приєднаних пристроїв
Comment[uz]=Ulangan uskunalar haqida maʼlumot
Comment[uz@cyrillic]=Уланган ускуналар ҳақида маълумот
Comment[vi]=Thông tin v thiết b kèm
Comment[wa]=Infôrmåcion so les éndjins aloyîs
Comment[xh]=Ulwazi lwamacebo afakelweyo
Comment[x-test]=xxAttached devices informationxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=dev,Devices,System Information,Information
X-KDE-Keywords[be]=прылады,прылада,сістэмная інфармацыя,інфармацыя,dev,Devices,System Information,Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, устройства, устройство, dev, Devices, System Information, Information
X-KDE-Keywords[br]=trobarzhell,titouroù reizhiad,titouroù
X-KDE-Keywords[ca]=dev,dispositius,Informació del sistema,Informació
X-KDE-Keywords[cs]=dev,Zařízení,Systémové informace,Informace
X-KDE-Keywords[csb]=dev,systemòwé ùrządzenia,wëdowiédzô ò systemie,wëdowiédzô,infòrmacëjô
X-KDE-Keywords[cy]=dyf,Dyfeisiau,Gwybodaeth Cysawd,Gwybodaeth
X-KDE-Keywords[da]=dev,Enheder,Systeminformation,Information
X-KDE-Keywords[de]=Geräte,Devices,Systeminformation,Information
X-KDE-Keywords[el]=dev,Συσκευές,Πληροφορίες συστήματος,Πληροφορίες
X-KDE-Keywords[eo]=aparato,dev,sistemo,operaciumo,informo
X-KDE-Keywords[es]=Dispositivos,Información del sistema
X-KDE-Keywords[et]=dev,Seadmed,Süsteemi informatsioon,Informatsioon
X-KDE-Keywords[eu]=dev,Dispositiboak,Sistemaren informazioa,informazioa
X-KDE-Keywords[fa]=dev،دستگاهها، اطلاعات سیستم، اطلاعات
X-KDE-Keywords[fi]=dev,Laitteet,Järjestelmätiedot,Tiedot
X-KDE-Keywords[fr]=dev,périphériques,information,informations système
X-KDE-Keywords[fy]=dev,devices,systeemynformaasje,ynformaasje,apparaten,apparaatbehear
X-KDE-Keywords[ga]=dev,Gléasanna,Eolas faoin Chóras,Eolas
X-KDE-Keywords[gl]=dev,Dispositivo,Información do Sistema,Información
X-KDE-Keywords[he]=התקנים,מידע מערכת,מידע,dev,Devices,System Information,Information
X-KDE-Keywords[hr]=dev,Devices,System Information,Information,uređaji,uređaj,sustav,podaci o sustavu,podaci
X-KDE-Keywords[hu]=dev,eszközök,rendszerinformáci,információ
X-KDE-Keywords[is]=dev,tæki,jaðartæki,upplýsingar,kerfi
X-KDE-Keywords[it]=dev,dispositivi,periferiche,informazioni sul sistema,informazioni
X-KDE-Keywords[ja]=dev,,,
X-KDE-Keywords[km]=dev
X-KDE-Keywords[ko]=, ,
X-KDE-Keywords[lt]=dev,Įrenginiai,Sistemos Informacija,Informacija
X-KDE-Keywords[lv]=iek,Iekārtas,Sistēmas Informācija,Informācija
X-KDE-Keywords[mk]=dev,Devices,System Information,Information,Уреди,Информации за системот,Информација
X-KDE-Keywords[nb]=dev,enheter,systeminformasjon,Informasjon
X-KDE-Keywords[nds]=dev,Reedschappen,Systeeminformatschoon,Informatschoon
X-KDE-Keywords[ne]=, , ,
X-KDE-Keywords[nl]=dev,devices,systeeminformatie,informatie,apparaten,apparaatbeheer
X-KDE-Keywords[nn]=dev,eining,einingar,systeminformasjon,informasjon
X-KDE-Keywords[pa]=dev,,ਿ
X-KDE-Keywords[pl]=dev,Urządzenia systemowe,informacja o systemie,Informacja
X-KDE-Keywords[pt]=dev,dispositivos,informações de sistema,informação
X-KDE-Keywords[pt_BR]=dev,Dispositivos,Informações de sistema,Informações,Informação
X-KDE-Keywords[ro]=dev,dispozitive,informaţii sistem,informaţii
X-KDE-Keywords[se]=dev,ovttadat,ovttadagat,vuogádatdiehtu,diehtu
X-KDE-Keywords[sl]=dev,naprave,informacije o sistemu,informacije
X-KDE-Keywords[sr]=dev,Devices,System Information,Information,уређаји,системске информације,информације,подаци
X-KDE-Keywords[sr@latin]=dev,Devices,System Information,Information,uređaji,sistemske informacije,informacije,podaci
X-KDE-Keywords[sv]=enhet,Enheter,Systeminformation,Information
X-KDE-Keywords[ta]=dev,, ிி ,
X-KDE-Keywords[tg]=dev,Дастгоҳҳо,Иттилооти система,Иттилоот
X-KDE-Keywords[th]=dev,,,
X-KDE-Keywords[tr]=dev,Aygıtlar,Sistem Hakkında Bilgi, Bilgi
X-KDE-Keywords[uk]=пристрої,інформація,dev,devices,system-information,information
X-KDE-Keywords[uz]=dev,Ускуналар,Маълумот,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=dev,Thiết b,Thông tin H thng,Thông tin
X-KDE-Keywords[x-test]=xxdev,Devices,System Information,Informationxx
X-KDE-Keywords[xh]=dev,Amacebo,Ulwazi lwendlela,Ulwazi
X-KDE-Keywords[zh_CN]=dev,Devices,System Information,Information,,,
X-KDE-Keywords[zh_TW]=dev,Devices,System Information,Information,,,

View file

@ -1,252 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 dma
Icon=kcmmemory
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/dma/index.html
Categories=Qt;KDE;X-KDE-information;
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=dma
X-KDE-ParentApp=kinfocenter
Name=DMA-Channels
Name[af]=Dma-kanale
Name[ar]=DMA قنوات
Name[as]=DMA-Channels
Name[be]=Каналы DMA
Name[be@latin]=Kanały DMA
Name[bg]=Канали DMA
Name[bn]=ি..-
Name[bn_IN]=DMA-
Name[br]=Kanolioù DMA
Name[ca]=Canals DMA
Name[ca@valencia]=Canals DMA
Name[cs]=DMA kanály
Name[csb]=Kanałë DMA
Name[cy]=Sianeli DMA
Name[da]=DMA-kanaler
Name[de]=DMA-Kanäle
Name[el]=Κανάλια DMA
Name[en_GB]=DMA-Channels
Name[eo]=DMA-kanaloj
Name[es]=Canales DMA
Name[et]=DMA kanalid
Name[eu]=DMA-Kanalak
Name[fa]=مجراهای دستیابی مستقیم به حافظه
Name[fi]=DMA-kanavat
Name[fr]=Canaux DMA
Name[fy]=DMA-kanalen
Name[ga]=Cainéil-DMA
Name[gl]=Canles DMA
Name[gu]=DMA-
Name[he]=גישה ישירה לזיכרון
Name[hi]=-
Name[hne]=-
Name[hr]=DMA kanali
Name[hsb]=DMA-kanale
Name[hu]=DMA-csatornák
Name[id]=DMA-Channels
Name[is]=DMA-brautir
Name[it]=Canali DMA
Name[ja]=DMA
Name[ka]=DMA
Name[kk]=DMA-арналар
Name[km]= DMA
Name[kn]=ಿ- ()
Name[ko]=DMA
Name[ku]=Kanalên DMA
Name[lt]=DMA-Kanalai
Name[lv]=DMA-kanāli
Name[mai]=-
Name[mk]=DMA-канали
Name[ml]=ി-
Name[mr]=DMA-
Name[ms]=Saluran DMA
Name[nb]=DMA-kanaler
Name[nds]=DMA-Kanaals
Name[ne]=-
Name[nl]=DMA-kanalen
Name[nn]=DMA-kanalar
Name[or]=DMA-ି
Name[pa]=DMA-
Name[pl]=Kanały DMA
Name[pt]=Canais de DMA
Name[pt_BR]=Canais DMA
Name[ro]=Canale DMA
Name[ru]=Каналы DMA
Name[se]=DMA-kanálat
Name[si]=DMA-
Name[sk]=DMA kanály
Name[sl]=Kanali DMA
Name[sr]=ДМА канали
Name[sr@ijekavian]=ДМА канали
Name[sr@ijekavianlatin]=DMA kanali
Name[sr@latin]=DMA kanali
Name[sv]=DMA-kanaler
Name[ta]=DMA-ி
Name[te]=ి-
Name[tg]=DMA-Channels
Name[th]= DMA
Name[tr]=DMA Kanalları
Name[uk]=Канали DMA
Name[uz]=DMA kanallari
Name[uz@cyrillic]=DMA каналлари
Name[vi]=Kênh DMA
Name[wa]=Canås DMA
Name[xh]=DMA-Imijelo
Name[x-test]=xxDMA-Channelsxx
Name[zh_CN]=DMA
Name[zh_TW]=DMA
Comment=DMA information
Comment[af]=Dma informasie
Comment[ar]=معلومات DMA
Comment[as]=DMA
Comment[be]=Звесткі пра DMA
Comment[be@latin]=Źviestki pra DMA
Comment[bg]=Информация за каналите DMA
Comment[bn]=ি...
Comment[bn_IN]=DMA
Comment[br]=Titouroù diwar-benn an DMA
Comment[ca]=Informació de la DMA
Comment[ca@valencia]=Informació de la DMA
Comment[cs]=Informace o DMA
Comment[csb]=Wëdowiédzô ò DMA
Comment[cy]=Gwybodaeth DMA
Comment[da]=DMA-information
Comment[de]=Informationen zu DMA
Comment[el]=Πληροφορίες για τα DMA
Comment[en_GB]=DMA information
Comment[eo]=DMA-informo
Comment[es]=Información sobre DMA
Comment[et]=DMA-kanalite info
Comment[eu]=DMAri buruzko informazioa
Comment[fa]=اطلاعات دسترسی مستقیم به حافظه
Comment[fi]=DMA-tietoja
Comment[fr]=Informations DMA
Comment[fy]=DMA-ynformatie
Comment[ga]=Eolas faoi DMA
Comment[gl]=Información de DMA
Comment[gu]=DMA િ
Comment[he]=מידע על ערוצי הגישה הישירה לזיכרון
Comment[hi]=
Comment[hne]=
Comment[hr]=DMA podaci
Comment[hsb]=DMA-nformacija
Comment[hu]=DMA-információk
Comment[id]=Informasi DMA
Comment[is]=Upplýsingar um DMA-brautir
Comment[it]=Informazioni sul DMA
Comment[ja]=DMA
Comment[ka]= DMA
Comment[kk]=DMA мәліметі
Comment[km]= DMA
Comment[kn]=ಿ ಿಿ
Comment[ko]=DMA
Comment[ku]=Agahiyên DMA
Comment[lt]=DMA informacija
Comment[lv]=DMA informācija
Comment[mai]=
Comment[mk]=Информации за DMA
Comment[ml]=ി ി
Comment[mr]=DMA ि
Comment[ms]=Maklumat DMA
Comment[nb]=DMA-informasjon
Comment[nds]=Informatschoon över DMA
Comment[ne]=
Comment[nl]=DMA-informatie
Comment[nn]=DMA-informasjon
Comment[or]=DMA
Comment[pa]=DMA
Comment[pl]=Informacje o DMA
Comment[pt]=Informação do DMA
Comment[pt_BR]=Informações de DMA
Comment[ro]=Informații despre canalele DMA
Comment[ru]=Сведения о DMA
Comment[se]=DMA-diehtu
Comment[si]=DMA
Comment[sk]=Informácie o DMA
Comment[sl]=Podatki o neposrednem dostopu do pomnilnika (DMA)
Comment[sr]=Подаци о ДМА каналима
Comment[sr@ijekavian]=Подаци о ДМА каналима
Comment[sr@ijekavianlatin]=Podaci o DMA kanalima
Comment[sr@latin]=Podaci o DMA kanalima
Comment[sv]=DMA-information
Comment[ta]=DMA
Comment[te]=ి
Comment[tg]=Иттилооти DMA
Comment[th]= DMA
Comment[tr]=DMA hakkında bilgi
Comment[uk]=Інформація щодо DMA
Comment[uz]=DMA haqida maʼlumot
Comment[uz@cyrillic]=DMA ҳақида маълумот
Comment[vi]=Thông tin DMA
Comment[wa]=Infôrmåcion so les canås DMA
Comment[xh]=DMA ulwazi
Comment[x-test]=xxDMA informationxx
Comment[zh_CN]=DMA
Comment[zh_TW]=DMA
X-KDE-Keywords=dma,DMA-Channels,System Information
X-KDE-Keywords[af]=dma,DMA-Channels,System Informasie
X-KDE-Keywords[be]=каналы DMA,сістэмная інфармацыя,dma,DMA-Channels,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, канали, канал, dma, DMA-Channels, System Information
X-KDE-Keywords[br]=dma,kanolioù DMA,titoutoù reizhoad
X-KDE-Keywords[ca]=dma,Canals DMA,informació del sistema
X-KDE-Keywords[cs]=dma,DMA kanály,Informace o systému
X-KDE-Keywords[csb]=dma,kanałë DMA,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=dma,Sianeli DMA,Gwybodaeth Cysawd
X-KDE-Keywords[da]=dma,DMA-kanaler,Systeminformation
X-KDE-Keywords[de]=DMA,DMA-Kanäle,Systeminformation,Information
X-KDE-Keywords[el]=dma,Κανάλια DMA,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=DMA,kanaloj,sistemo,operaciumo,informo
X-KDE-Keywords[es]=DMA,Canales DMA,Información del sistema
X-KDE-Keywords[et]=dma,DMA-kanalid,süsteemi informatsioon
X-KDE-Keywords[eu]=dma,DMA-Kanalak,Sistemaren informazioa
X-KDE-Keywords[fa]=dma ،مجراهای دستیابی مستقیم به حافظه، اطلاعات سیستم
X-KDE-Keywords[fi]=dma,DMA-kanavat,Järjestelmätiedot
X-KDE-Keywords[fr]=dma,canaux DMA,informations système
X-KDE-Keywords[fy]=dma,DMA-channels,systeemynformaasje,DMA-kanalen
X-KDE-Keywords[ga]=dma,Cainéil-DMA,Eolas faoin Chóras
X-KDE-Keywords[gl]=dma,Canles de DMA,Canales DMA,Información do Sistema
X-KDE-Keywords[he]=ערוצי גישה ישירה לזיכרון,מידע מערכת,DMA,DMA-Channels,System Information
X-KDE-Keywords[hr]=dma,DMA-Channels,System Information,DMA kanali,podaci o sustavu
X-KDE-Keywords[hu]=DMA,DMA-csatornák,DMA-csatorna,rendszerinformáció
X-KDE-Keywords[is]=DMA-brautir,DMA-rásir
X-KDE-Keywords[it]=DMA,canali DMA,informazioni sul sistema
X-KDE-Keywords[ja]=dma,DMA-,
X-KDE-Keywords[ka]=dma,DMA-,
X-KDE-Keywords[km]=dma DMA
X-KDE-Keywords[ko]=dma,DMA-,,
X-KDE-Keywords[lt]=dma,DMA-Kanalai,Sistemos Informacija
X-KDE-Keywords[lv]=dma,DMA-Kanāli,Sistēmas Informācija
X-KDE-Keywords[mk]=dma,DMA-Channels,System Information,DMA канали,канали,Информации за системот
X-KDE-Keywords[nb]=dma,DMA-kanaler,Systeminformasjon
X-KDE-Keywords[nds]=dms,DMA-Kanaals,Systeeminformatschoon
X-KDE-Keywords[ne]=dma, DMA-,
X-KDE-Keywords[nl]=dma,DMA-channels,systeeminformatie,DMA-kanalen
X-KDE-Keywords[nn]=dma,DMA-kanalar,systeminformasjon
X-KDE-Keywords[pa]=dma,DMA-Channels,ਿ
X-KDE-Keywords[pl]=dma,kanały DMA,informacja o systemie
X-KDE-Keywords[pt]=dma,canais dma,informações de sistema
X-KDE-Keywords[pt_BR]=DMA,canais DMA,canal DMA,informações de sistema
X-KDE-Keywords[ro]=dma,canale DMA,informaţii despre sistem
X-KDE-Keywords[se]=dma,DMA-kanálat,vuogádatdiehtu
X-KDE-Keywords[sl]=dma,kanali DMA,informacije o sistemu
X-KDE-Keywords[sr]=dma,DMA-Channels,System Information,ДМА,канали,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=dma,DMA-Channels,System Information,DMA,kanali,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=dma,DMA-kanaler,Systeminformation
X-KDE-Keywords[ta]=dma,DMA-ி,
X-KDE-Keywords[tg]=dma,Каналҳои-DMA,Иттилооти система
X-KDE-Keywords[th]=dma, DMA,
X-KDE-Keywords[tr]=dma,DMA-Kanalları,Sistem Hakkında Bilgi
X-KDE-Keywords[uk]=dma,канал ПДП, інформація,system-information,information
X-KDE-Keywords[uz]=dma,DMA каналлари,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=dma,Kênh DMA,Thông tin H thng
X-KDE-Keywords[x-test]=xxdma,DMA-Channels,System Informationxx
X-KDE-Keywords[xh]=dma,DMA-Imijelo,Ulwazi Lwendlela yokusebenza
X-KDE-Keywords[zh_CN]=dma,DMA-Channels,System Information,DMA ,
X-KDE-Keywords[zh_TW]=dma,DMA-Channels,System Information,DMA,

View file

@ -1,104 +0,0 @@
/*
Main Widget for showing system-dependent information.
(But all functions in THIS FILE should be system independent !)
(C) 1998-2003 by Helge Deller <deller@kde.org>
*/
#include "info.h"
#include <QLayout>
#include <QProcess>
#include <QLabel>
#include <QHBoxLayout>
#include <QTextStream>
#include <QHeaderView>
#include <kglobalsettings.h>
#include <kiconloader.h>
#include <kdialog.h>
#include <klocale.h>
#include <kdebug.h>
KInfoListWidget::KInfoListWidget(const KComponentData &inst, const QString &_title, QWidget *parent, bool _getlistbox(QTreeWidget *tree) ) :
KCModule(inst, parent), title(_title) {
KAboutData *about = new KAboutData("kcminfo", 0,
ki18n("KDE Panel System Information Control Module"),
0, KLocalizedString(), KAboutData::License_GPL,
ki18n( "(c) 2008 Nicolas Ternisien\n"
"(c) 1998 - 2002 Helge Deller"));
about->addAuthor(ki18n("Nicolas Ternisien"), KLocalizedString(), "nicolas.ternisien@gmail.com");
about->addAuthor(ki18n("Helge Deller"), KLocalizedString(), "deller@kde.org");
setAboutData(about);
kDebug() << "Constructing a KInfoListWidget..." << endl;
//setButtons(KCModule::Help);
getlistbox = _getlistbox;
QHBoxLayout *layout = new QHBoxLayout(this);
layout->setSpacing(KDialog::spacingHint());
layout->setMargin(0);
widgetStack = new QStackedWidget(this);
layout->addWidget(widgetStack);
tree = new QTreeWidget(widgetStack);
widgetStack->addWidget(tree);
tree->setMinimumSize(200, 120);
tree->setFont(KGlobalSettings::generalFont()); /* default font */
tree->setSortingEnabled(true);
tree->setRootIsDecorated(false);
tree->header()->setSortIndicatorShown(true);
tree->setWhatsThis(i18n("This list displays system information on the selected category.") );
noInfoText = new QLabel(widgetStack);
widgetStack->addWidget(noInfoText);
noInfoText->setAlignment(Qt::AlignCenter);
noInfoText->setWordWrap( true);
widgetStack->setCurrentWidget(noInfoText);
}
void KInfoListWidget::load() {
kDebug() << "Loading KInfoListWidget..." << endl;
//TODO Remove tree content before clear it
tree->clear();
errorString = i18nc("%1 is one of the modules of the kinfocenter, cpu info, os info, etc", "No information available about %1.", title) + QLatin1String("\n\n") + DEFAULT_ERRORSTRING;
/* No Sorting per default */
tree->setSortingEnabled(false);
bool ok = false;
/* retrieve the information */
if (getlistbox) {
ok = (*getlistbox)(tree);
}
/* set default title */
if (tree->headerItem()->columnCount()<=1) {
QStringList headers;
headers << title;
tree->setHeaderLabels(headers);
}
if (ok) {
widgetStack->setCurrentWidget(tree);
} else {
noInfoText->setText(errorString);
widgetStack->setCurrentWidget(noInfoText);
}
tree->resizeColumnToContents(0);
emit changed(false);
}
QString KInfoListWidget::quickHelp() const {
return i18n("All the information modules return information about a certain"
" aspect of your computer hardware or your operating system.");
}

View file

@ -1,36 +0,0 @@
#ifndef _INFO_H_
#define _INFO_H_
#include <QWidget>
#include <QStackedWidget>
#include <QLabel>
#include <QPushButton>
#include <QTimer>
#include <QTreeWidget>
#include <QFile>
#include <QEvent>
#include <kcmodule.h>
#include <kaboutdata.h>
#include "os_current.h"
class KInfoListWidget : public KCModule
{
public:
KInfoListWidget(const KComponentData &inst,const QString &_title, QWidget *parent, bool _getlistbox (QTreeWidget*) = NULL);
virtual void load();
virtual QString quickHelp() const;
private:
QTreeWidget* tree;
bool (*getlistbox) (QTreeWidget*);
QString title;
QLabel *noInfoText;
QString errorString;
QStackedWidget *widgetStack;
};
#endif

View file

@ -1,252 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 interrupts
Icon=kcmmemory
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/interrupts/index.html
Categories=Qt;KDE;X-KDE-information;
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=irq
X-KDE-ParentApp=kinfocenter
Name=Interrupts
Name[af]=Interrupts
Name[ar]=الانقطاعات
Name[as]=Interrupts
Name[be]=Перапыненні
Name[be@latin]=Pierarvańni
Name[bg]=Прекъсвания
Name[bn]=
Name[bn_IN]=
Name[br]=Spanoù
Name[ca]=Interrupcions
Name[ca@valencia]=Interrupcions
Name[cs]=Přerušení
Name[csb]=Przerwania
Name[cy]=Ymyriadau
Name[da]=Interrupts
Name[de]=Interrupts
Name[el]=Διακοπές
Name[en_GB]=Interrupts
Name[eo]=Interrompoj
Name[es]=Interrupciones
Name[et]=Katkestused
Name[eu]=Etenaldiak
Name[fa]=وقفهها
Name[fi]=Keskeytykset
Name[fr]=Interruptions
Name[fy]=Underbrekkings
Name[ga]=Idirbhristeacha
Name[gl]=Interrupcións
Name[gu]=
Name[he]=פסיקה
Name[hi]=
Name[hne]=
Name[hr]=Presretanja
Name[hsb]=Interrupty
Name[hu]=Megszakítások
Name[id]=Interupsi
Name[is]=Ígrip
Name[it]=Interrupt
Name[ja]=
Name[ka]=
Name[kk]=Үзілімдер
Name[km]=
Name[kn]= ()
Name[ko]=
Name[ku]=Qutkirin
Name[lt]=Pertrauktys
Name[lv]=Pārtraukumi
Name[mai]=
Name[mk]=Прекини
Name[ml]=
Name[mr]=
Name[ms]=Sampukan
Name[nb]=Avbruddslinjer
Name[nds]=Interrupts
Name[ne]=
Name[nl]=Interrupts
Name[nn]=Avbrot
Name[or]=
Name[pa]=
Name[pl]=Przerwania
Name[pt]=Interrupções
Name[pt_BR]=Interrupções
Name[ro]=Întreruperi
Name[ru]=Прерывания
Name[se]=Gaskkaldumit
Name[si]=
Name[sk]=Prerušenia
Name[sl]=Prekinitve
Name[sr]=Прекиди
Name[sr@ijekavian]=Прекиди
Name[sr@ijekavianlatin]=Prekidi
Name[sr@latin]=Prekidi
Name[sv]=Avbrott
Name[ta]=
Name[te]=
Name[tg]=Interrupts
Name[th]=
Name[tr]=Kesmeler
Name[uk]=Переривання
Name[uz]=Toʻxtalishlar
Name[uz@cyrillic]=Тўхталишлар
Name[vi]=Gián đon
Name[wa]=Boutoes
Name[xh]=Iziphazamiso
Name[x-test]=xxInterruptsxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Interrupt information
Comment[af]=Interrupt informasie
Comment[ar]=معلومات الانقطاع
Comment[as]=Interrupt
Comment[be]=Звесткі пра перапыненні
Comment[be@latin]=Źviestki ab pierarvańniach
Comment[bg]=Информация за прекъсванията в системата
Comment[bn]=
Comment[bn_IN]=
Comment[br]=Titouroù diwar-benn ar spanoù
Comment[ca]=Informació de les interrupcions
Comment[ca@valencia]=Informació de les interrupcions
Comment[cs]=Informace o přerušeních
Comment[csb]=Wëdowiédzô ò przerwaniach
Comment[cy]=Gwybodaeth Ymyriadau
Comment[da]=Interrupt-information
Comment[de]=Informationen zu Interrupts
Comment[el]=Πληροφορίες για τις διακοπές
Comment[en_GB]=Interrupt information
Comment[eo]=Informo pri interrompoj
Comment[es]=Información sobre las interrupciones
Comment[et]=Katkestuste info
Comment[eu]=Etenaldiei buruzko informazioa
Comment[fa]=اطلاعات وقفه
Comment[fi]=Keskeytystietoja
Comment[fr]=Informations sur les interruptions
Comment[fy]=Underbrekking ynformaasje
Comment[ga]=Eolas faoi idirbhristeacha
Comment[gl]=Información das interrupcións
Comment[gu]= િ
Comment[he]=מידע על בקשת הפסיקה
Comment[hi]=
Comment[hne]=
Comment[hr]=Podaci o presretanjima
Comment[hsb]=Informacija wo interruptach
Comment[hu]=A megszakítások jellemzői
Comment[id]=Informasi Interupsi
Comment[is]=Upplýsingar um ígrip (IRQ)
Comment[it]=Informazioni sugli interrupt
Comment[ja]=
Comment[ka]=
Comment[kk]=Үзілім мәліметі
Comment[km]=
Comment[kn]= () ಿಿ
Comment[ko]=
Comment[ku]=Agahiyên Qutkirinê
Comment[lt]=Pertraukčių informacija
Comment[lv]=Pārtraukumu informācija
Comment[mai]=
Comment[mk]=Информации за прекините
Comment[ml]=ി ി
Comment[mr]= ि
Comment[ms]=Maklumat Sampukan
Comment[nb]=Avbruddslinjeinformasjon
Comment[nds]=Interruptinformatschoon
Comment[ne]=
Comment[nl]=Interrupt-informatie
Comment[nn]=Avbrotsinformasjon
Comment[or]=
Comment[pa]=
Comment[pl]=Informacje o przerwaniach
Comment[pt]=Informação das interrupções
Comment[pt_BR]=Informações sobre as interrupções
Comment[ro]=Informații despre întreruperi
Comment[ru]=Сведения о прерываниях
Comment[se]=Dieđut gaskkaldumiid birra
Comment[si]=
Comment[sk]=Informácie o prerušeniach
Comment[sl]=Podatki o prekinitvah
Comment[sr]=Подаци о прекидима
Comment[sr@ijekavian]=Подаци о прекидима
Comment[sr@ijekavianlatin]=Podaci o prekidima
Comment[sr@latin]=Podaci o prekidima
Comment[sv]=Avbrottsinformation
Comment[ta]=
Comment[te]=
Comment[tg]=Иттилооти оиди қатъкунии система
Comment[th]=
Comment[tr]=Kesmeler hakkında bilgi
Comment[uk]=Інформація щодо переривань
Comment[uz]=Toʻxtalish haqida maʼlumot
Comment[uz@cyrillic]=Тўхталиш ҳақида маълумот
Comment[vi]=Thông tin v các gián đon
Comment[wa]=Infôrmåcions so les boutoes
Comment[xh]=Phazamisa ulwazi
Comment[x-test]=xxInterrupt informationxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=Interrupts,IRQ,System Information
X-KDE-Keywords[af]=Interrupts,IRQ,System Informasie
X-KDE-Keywords[be]=Перапыненні,сістэмная інфармацыя,Interrupts,IRQ,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, прекъсване, прекъсвания, програмни, Interrupts, IRQ, System Information
X-KDE-Keywords[br]=spanoù,IRQ,titouroù reizhiad
X-KDE-Keywords[ca]=Interrupcions, IRQ, informació del sistema
X-KDE-Keywords[cs]=Přerušení,IRQ,Informace o systému
X-KDE-Keywords[csb]=Przerwania,IRQ,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=Ymyriadau,IRQ,Gwybodaeth Cysawd
X-KDE-Keywords[da]=Interrupts,IRQ,Systeminformation
X-KDE-Keywords[de]=Interrupts,IRQ,Systeminformation
X-KDE-Keywords[el]=Διακοπές,IRQ,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=Interrompoj,IRQ,sistemo,informo,operaciumo
X-KDE-Keywords[es]=Interrupciones,IRQ,Información del sistema
X-KDE-Keywords[et]=Katkestused,IRQ,Süsteemi info
X-KDE-Keywords[eu]=Etenaldiak,IRQ,Sistemaren informazioa
X-KDE-Keywords[fa]=وقفهها، IRQ، اطلاعات سیستم
X-KDE-Keywords[fi]=Keskeytykset,IRQ,Järjestelmätiedot
X-KDE-Keywords[fr]=interruptions,IRQ,informations système,irq
X-KDE-Keywords[fy]=Underbrekkings,IRQ,systeemynformaasje
X-KDE-Keywords[ga]=Idirbhristeacha,IRQ,Eolas faoin Chórais
X-KDE-Keywords[gl]=Interrupcións,IRQ,Información do Sistema
X-KDE-Keywords[he]=בקשת פסיקה,מידע מערכת,IRQ,פסיקה,Interrupts,IRQ,System Information
X-KDE-Keywords[hr]=Interrupts,IRQ,System Information,Presretanja,Podaci o sustavu
X-KDE-Keywords[hu]=megszakítások,IRQ,rendszerinformáció
X-KDE-Keywords[is]=rofbeiðni,ígrip,IRQ,Interrupt,kerfi,upplýsingar
X-KDE-Keywords[it]=interrupt,IRQ,informazioni sul sistema
X-KDE-Keywords[ja]=,IRQ,
X-KDE-Keywords[ka]=,IRQ,
X-KDE-Keywords[km]= IRQ
X-KDE-Keywords[ko]=,IRQ,
X-KDE-Keywords[lt]=Pertrauktys,IRQ,Sistemos Informacija
X-KDE-Keywords[lv]=Pārtraukumi,IRQ,Sistēmas Informācija
X-KDE-Keywords[mk]=Interrupts,IRQ,System Information,Прекини,Информации за системот
X-KDE-Keywords[nb]=Avbrudd,IRQ,Systeminformasjon
X-KDE-Keywords[nds]=Interrupts,IRQ,Systeeminformatschoon
X-KDE-Keywords[ne]=, ,
X-KDE-Keywords[nl]=interrupts,IRQ,systeeminformatie
X-KDE-Keywords[nn]=avbrot,IRQ,systeminformasjon
X-KDE-Keywords[pa]=Interrupts,IRQ,ਿ ,
X-KDE-Keywords[pl]=Przerwania,IRQ,informacja o systemie
X-KDE-Keywords[pt]=interrupções,IRQ,informações sobre o sistema
X-KDE-Keywords[pt_BR]=Interrupções,IRQ,Informações do sistema
X-KDE-Keywords[ro]=întreruperi,IRQ,informaţii despre sistem
X-KDE-Keywords[se]=Gaskkaldumit,IRQ,vuogádatdieđut
X-KDE-Keywords[sl]=prekinitve,IRQ,sistemski podatki
X-KDE-Keywords[sr]=Interrupts,IRQ,System Information,прекиди,системске информације,системски подаци,ИРКу
X-KDE-Keywords[sr@latin]=Interrupts,IRQ,System Information,prekidi,sistemske informacije,sistemski podaci,IRQ
X-KDE-Keywords[sv]=Avbrott,IRQ,Systeminformation
X-KDE-Keywords[ta]=,IRQ, ிி
X-KDE-Keywords[te]=, ,
X-KDE-Keywords[th]=,IRQ,
X-KDE-Keywords[tr]=Kesmeler,IRQ,Sistem hakkında bilgi
X-KDE-Keywords[uk]=перепини,interrupts,irq,system-information
X-KDE-Keywords[uz]=Тўхталишлар,IRQ,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=Gián đon,IRQ,Thông tin H thng
X-KDE-Keywords[x-test]=xxInterrupts,IRQ,System Informationxx
X-KDE-Keywords[xh]=Iziphazamiso,IRQ,Ulwazi lwendlela
X-KDE-Keywords[zh_CN]=Interrupts,IRQ,System Information,,
X-KDE-Keywords[zh_TW]=Interrupts,IRQ,System Information,,

View file

@ -1,250 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 ioports
Icon=kcmmemory
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/ioports/index.html
Categories=Qt;KDE;X-KDE-information;
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=ioports
X-KDE-ParentApp=kinfocenter
Name=IO-Ports
Name[af]=Io-poorte
Name[ar]=منافذ الإدخال والإخراج
Name[as]=IO-Ports
Name[be]=Парты ўводу/вываду
Name[be@latin]=Porty dla pierasyłańnia źviestak
Name[bg]=Вх./Изх.
Name[bn]=IO-Ports
Name[bn_IN]=IO-
Name[br]=Porzhioù ED
Name[ca]=Ports E/S
Name[ca@valencia]=Ports E/S
Name[cs]=Vstupně/výstupní-porty
Name[csb]=Pòrtë wéńdzeniô/wińdzeniô
Name[cy]=Pyrth-IO
Name[da]=IO-porte
Name[de]=Ein-/Ausgabe-Ports
Name[el]=Θύρες Ι/Ο
Name[en_GB]=IO-Ports
Name[eo]=Eneligaj pordoj
Name[es]=Puertos de E/S
Name[et]=IO pordid
Name[eu]=IO-atakak
Name[fa]=درگاههای ورودی خروجی
Name[fi]=IO-portit
Name[fr]=Ports d'entrées / sorties
Name[fy]=IO-Poarten
Name[ga]=Poirt I/A
Name[gl]=Portos de E/S
Name[gu]=IO-
Name[he]=קלט־פלט
Name[hi]=-
Name[hne]=-
Name[hr]=IO portovi
Name[hsb]=IO-Ports
Name[hu]=IO-portok
Name[id]=Pangkalan IO
Name[is]=Inn-/úttaksport
Name[it]=Porte di I/O
Name[ja]=I/O
Name[ka]=IO
Name[kk]=Енгізу-шығару порттары
Name[km]= IO
Name[kn]=-ಿಿ ()
Name[ko]=IO
Name[ku]=Portên-IO
Name[lt]=IO-portai
Name[lv]=IO-porti
Name[mai]=-
Name[mk]=В/И-порти
Name[ml]=-
Name[mr]=IO-
Name[ms]=Port IO
Name[nb]=IO-porter
Name[nds]=IO-Porten
Name[ne]=/ि-
Name[nl]=IO-Poorten
Name[nn]=IU-portar
Name[or]=IO-ି
Name[pa]=IO-
Name[pl]=Porty wejścia/wyjścia
Name[pt]=Portos de E/S
Name[pt_BR]=Portas de E/S
Name[ro]=Porturi I/E
Name[ru]=Порты ввода/вывода
Name[se]=SO-verráhat
Name[si]=IO-
Name[sk]=V/V porty
Name[sl]=V/I vrata
Name[sr]=У/И портови
Name[sr@ijekavian]=У/И портови
Name[sr@ijekavianlatin]=U/I portovi
Name[sr@latin]=U/I portovi
Name[sv]=I/O-portar
Name[ta]=IO-
Name[te]=-
Name[tg]=IO-Ports
Name[th]=/
Name[tr]=G/Ç Portları
Name[uk]=Порти В/В
Name[uz]=K/Ch portlar
Name[uz@cyrillic]=К/Ч портлар
Name[vi]=Cng vào ra (VR)
Name[wa]=Pôrts I/R
Name[xh]=IO-Ufako
Name[x-test]=xxIO-Portsxx
Name[zh_CN]=IO
Name[zh_TW]=IO-Ports
Comment=IO-port information
Comment[af]=Io-poort informasie
Comment[ar]=معلومات منفذ الإدخال والإخراج
Comment[as]=IO-port
Comment[be]=Звесткі пра парты уводу/вываду
Comment[be@latin]=Źviestki pra porty pierasyłańnia
Comment[bg]=Информация за входно-изходните портове
Comment[bn]=-
Comment[bn_IN]=IO-
Comment[br]=Titouroù diwar-benn ar porzhioù ED
Comment[ca]=Informació dels ports E/S
Comment[ca@valencia]=Informació dels ports E/S
Comment[cs]=Informace o vstupně/výstupních-portech
Comment[csb]=Wëdowiédzô ò pòrtach wéńdzeniô/wińdzeniô
Comment[cy]=Gwybodaeth Porth-IO
Comment[da]=IO-portinformation
Comment[de]=Informationen zu benutzten Ein-/Ausgabe-Ports
Comment[el]=Πληροφορίες για τις θύρες εισόδου-εξόδου
Comment[en_GB]=IO-port information
Comment[eo]=Informoj pri eneligaj pordoj
Comment[es]=Información sobre los puertos de E/S
Comment[et]=IO portide info
Comment[eu]=IO-atakei buruzko informazioa
Comment[fa]=اطلاعات درگاههای ورودی خروجی
Comment[fi]=IO-porttitiedot
Comment[fr]=Informations sur les ports d'entrées / sorties
Comment[fy]=IO-poarteynformaasje
Comment[ga]=Eolas faoi Phoirt I/A
Comment[gl]=Información dos portos de E/S
Comment[gu]=IO- િ
Comment[he]=מידע על יציאות הקלט־פלט
Comment[hi]=-
Comment[hne]=-
Comment[hr]=Podaci o IO portovima
Comment[hsb]=Informacija wo IO-portach
Comment[hu]=A ki- és bemeneti portok jellemzői
Comment[id]=Informasi pangkalan IO
Comment[is]=Upplýsingar um inn-/úttaksport
Comment[it]=Informazioni sulle porte di I/O
Comment[ja]=I/O
Comment[ka]= IO
Comment[kk]=Енгізу-шығару порттар мәліметі
Comment[km]= IO
Comment[kn]=-ಿಿ () ಿಿ
Comment[ko]=IO-
Comment[ku]=Agahiyên Portên-IO
Comment[lt]=IO-porto informacija
Comment[lv]=IO-portu informācija
Comment[mai]=-
Comment[mk]=Информации за влезно/излезните порти
Comment[ml]=-ി ി
Comment[mr]=IO- ि
Comment[ms]=Maklumat port IO
Comment[nb]=IO-portinformasjon
Comment[nds]=IO-Port-Informatschoon
Comment[ne]=/ि-
Comment[nl]=IO-poortinformatie
Comment[nn]=IU-port-informasjon
Comment[or]=IO-ି
Comment[pa]=IO-
Comment[pl]=Informacje o portach wejścia/wyjścia
Comment[pt]=Informação sobre os portos de E/S
Comment[pt_BR]=Informações sobre as portas de E/S
Comment[ro]=Informații despre porturile I/E
Comment[ru]=Сведения о портах ввода/вывода
Comment[se]=SO-verráhatdieđut
Comment[si]=IO-
Comment[sk]=Informácie o V/V portoch
Comment[sl]=Podatki o vhodno/izhodnih vratih
Comment[sr]=Подаци о У/И портовима
Comment[sr@ijekavian]=Подаци о У/И портовима
Comment[sr@ijekavianlatin]=Podaci o U/I portovima
Comment[sr@latin]=Podaci o U/I portovima
Comment[sv]=Information om I/O-portar
Comment[ta]=IO-
Comment[te]=-
Comment[tg]=Иттилооти IO-port
Comment[th]=/
Comment[tr]=Girdi Çıktı portları hakkında bilgi
Comment[uk]=Інформація щодо портів вводу/виводу
Comment[uz]=Kirish/chiqish portlar haqida maʼlumot
Comment[uz@cyrillic]=Кириш/чиқиш портлар ҳақида маълумот
Comment[vi]=Thông tin v cng VR
Comment[wa]=Infôrmåcion so les pôrts d' Intrêye/Rexhowe
Comment[xh]=IO-ulwazi lwezibuko
Comment[x-test]=xxIO-port informationxx
Comment[zh_CN]=IO
Comment[zh_TW]=IO-Port
X-KDE-Keywords=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information
X-KDE-Keywords[af]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Informasie
X-KDE-Keywords[be]=Увод'вывад,парты ўводу/вываду,парты,сістэмная інфармацыя,IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, вход, входно, изход, изходно, порт, портове, IO, I/O, IO-Ports, I/O-Ports, Ports, IO-Range, I/O-Range, System Information
X-KDE-Keywords[br]=ED,E/D,porzhioù E/D,porzhioù,rummad ED,rummadE/D,titouroù ar reizhiad
X-KDE-Keywords[ca]=ES,E/S,Ports d'ES,Ports d'E/S,Ports,Rang d'ES,Rang d'E/S,Informació del sistema
X-KDE-Keywords[cs]=IO,I/O,IO-porty,I/O-porty,Porty,Rozsah IO,Rozsah I/O,Informace o systému
X-KDE-Keywords[csb]=IO,I/O,pòrtë IO,pòrtë I/O,portë,òbjim IO,òbjim I/O,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=IO,I/O,Pyrth-IO,Pyrth-I/O,Pyrth,Amrediad-IO,Amrediad-I/O,Gwybodaeth Cysawd
X-KDE-Keywords[da]=IO,I/O,IO-porte,I/O-Porte,Porte,IO-område,I/O-område,Systeminformation
X-KDE-Keywords[de]=Ein/Ausgabe,IO,I/O,IO-ports,I/O-Ports,Ports,IO-Bereich,I/O-Bereich,Systeminformation
X-KDE-Keywords[el]=ΕΕ,Ε/Ε,Θύρες ΕΕ,Θύρες Ε/Ε,Θύρες,Εύρος ΕΕ,Εύρος Ε/Ε,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=IO,I/O,en,el,eneligo,pordoj,sistemo,operaciumo,informo
X-KDE-Keywords[es]=ES,E/S,Puertos de ES,Puertos de E/S,Puertos,Intervalo de ES,Intervalo de E/S,Información del sistema
X-KDE-Keywords[et]=IO,I/O,IO pordid,I/O pordid,pordid,IO piirkond,I/O piirkond,Süsteemi info
X-KDE-Keywords[eu]=IO,I/O,IO-atakak,Atakak,IO-barrutia,I/O-barrutia,Sistemaren informazioa
X-KDE-Keywords[fa]=ورودی خروجی، ورودی/خروجی، درگاههای ورودی خروجی، درگاهها، گسترۀ ورودی خروجی، گسترۀ ورودی/خروجی، اطلاعات سیستم
X-KDE-Keywords[fi]=IO,I/O,IO-Portit,I/O-Portit,Portit,I/O-alue,Järjestelmätiedot
X-KDE-Keywords[fr]=io,i/o,entrées-sorties,ports,ports d'entrée-sortie,informations système,plage d'entrées-sorties
X-KDE-Keywords[fy]=IO,I/O,IO-Ports,I/O-Ports,ports,IO-Range,I/O-Range,systeemynformaasje,IO-poarten
X-KDE-Keywords[ga]=IA,I/A,Poirt IA,Poirt I/A,Poirt,Raon IA,Raon I/A,Eolas faoin Chórais
X-KDE-Keywords[gl]=IO,I/O,E/S,Portos IO,Portos E/S,Rango IO,Rango E/S,Información do Sistema
X-KDE-Keywords[he]=קלט־פלט,יציאות קלט־פלט,יציאות,טווח קלט־פלט,מידע,מערכת,IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information
X-KDE-Keywords[hr]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information,IO portovi,IO raspon,Podaci o sustavu
X-KDE-Keywords[hu]=IO,I/O,IO-portok,I/O-portok,portok,IO-tartomány,I/O tartomány,rendszerinformáció
X-KDE-Keywords[is]=Inntak,úttak,I/O,Port,upplýsingar,kerfi
X-KDE-Keywords[it]=IO,I/O,porte di IO,porte di I/O,porte,intervallo di IO,intervallo di I/O,informazioni sul sistema
X-KDE-Keywords[ja]=IO,I/O,IO-,I/O-,,IO-,I/O-,
X-KDE-Keywords[km]=IO I/O IO I/O IO I/O
X-KDE-Keywords[ko]=IO,I/O,IO ,I/O ,IO ,I/O ,
X-KDE-Keywords[lt]=IO,I/O,IO-Ports,IO-portai,I/O-Ports,I/O-prievadai,Ports,prievadai,IO-Range,IO zona,I/O-Range,I/O zona,System Information,sisteminė informacija
X-KDE-Keywords[lv]=IO,I/O,IO-Porti,I/O-Porti,Porti,IO-Diapazons,I/O-Diapazons,Sistēmas Informācija
X-KDE-Keywords[mk]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information,ВИ,В/И,ВИ-порти,В/И-порти,Порти,В/И-опсег,В/И-опсег,Информации за системот
X-KDE-Keywords[nb]=IO,I/O,IO-porter,I/O-porter,port,IO-område,I/O-område,IU,I/U,IU-porter,I/U-porter,port,IU-område,I/U-område,Systeminformasjon
X-KDE-Keywords[nds]=IO,I/O,IO-Porten,I/O-Porten,Porten,IO-Range,I/O-Range,IO-Rebeet,I/O-Rebeet,Systeeminformatschoon
X-KDE-Keywords[ne]=/ि, /ि, /ि-, /ि-, , /ि-, /ि ,
X-KDE-Keywords[nl]=IO,I/O,IO-Ports,I/O-Ports,ports,IO-Range,I/O-Range,systeeminformatie,IO-poorten
X-KDE-Keywords[nn]=IU,I/U,IO,I/O,IU-portar,I/U-portar,portar,IU-område,I/U-område,systeminformasjon
X-KDE-Keywords[pa]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,ਿ
X-KDE-Keywords[pl]=IO,I/O,porty IO,porty I/O,porty,zakres IO,zakres I/O,informacja o systemie
X-KDE-Keywords[pt]=ES,E/S,portos E/S,portos,gama de E/S,informações de sistema
X-KDE-Keywords[pt_BR]=ES,E/S,Portas E/S,Portas de E/S,Portas,Faixa de E/S,Faixa de E/S,Informações de sistema
X-KDE-Keywords[ro]=I/E,IE,IO,I/O,porturi IO,porturi,domeniu IO,domeniu I/O,informaţii despre sistem
X-KDE-Keywords[se]=SO,S/O,IO,I/O,SO-verráhat,S/O-verráhat,verráhat,SO-gaska,S/O-gaska, vuogádatdiehtu
X-KDE-Keywords[sl]=VI,V/I,V/I-vrata,VI-vrata,vrata,VI-obseg,V/I-obseg,informacije o sistemu
X-KDE-Keywords[sr]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information,У/И,У/И портови,У/Ипорт,системске информације,системски подаци,портови
X-KDE-Keywords[sr@latin]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information,U/I,U/I portovi,U/Iport,sistemske informacije,sistemski podaci,portovi
X-KDE-Keywords[sv]=IO,I/O,IO-portar,I/O-portar,Ports,IO-område,I/O-område,Systeminformation
X-KDE-Keywords[ta]=IO,I/O,IO-,I/O-,,IO-ி,I/O-ி,
X-KDE-Keywords[th]=,/,,/,, ,/,
X-KDE-Keywords[tr]=GÇ,G/Ç,GÇ Portları,G/Ç Portları, Portlar,GÇ-Aralığı,G/Ç-Aralığı,Sistem
X-KDE-Keywords[uk]=порти вводу/виводу,ВВ,в/в,порти,io,i/o,io-ports,i/p-ports,ports,system information
X-KDE-Keywords[uz]=К/Ч портлар,Портлар,К/Ч чегараси,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=VR,V/R,Cng VR,Cng V/R,Cng,Phm v VR,Phm v V/R,Thông tin H thng
X-KDE-Keywords[x-test]=xxIO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Informationxx
X-KDE-Keywords[xh]=IO,I/O,IO-Amazibuko,I/O-Amazibuko,Amazibuko,IO-Beka ngendlela,Ulwazi lwendlela
X-KDE-Keywords[zh_CN]=IO,I/O,IO-Ports,I/O-Ports,Ports,IO-Range,I/O-Range,System Information,IO ,I/O ,,IO ,I/O ,
X-KDE-Keywords[zh_TW]=IO,I/O,IO-Ports,Ports,IO-Range,I/O-Range,System Information,IO ,I/O ,

View file

@ -1,118 +0,0 @@
/*
* main.cpp
*
* Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
*
* Requires the Qt widget libraries, available at no cost at
* http://www.troll.no/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <kcomponentdata.h>
#include <KPluginFactory>
#include <KPluginLoader>
/* we have to include the info.cpp-file, to get the DEFINES about possible properties.
example: we need the "define INFO_CPU_AVAILABLE" */
#include "info.h"
#include "os_current.h"
class KInfoModulesFactory : public KPluginFactory
{
public:
KInfoModulesFactory(const char *componentName);
static KComponentData componentData();
private:
static KPluginFactory *s_instance;
};
KPluginFactory *KInfoModulesFactory::s_instance = 0;
#define CREATE_FACTORY(type, name) \
class K##type##InfoWidget : public KInfoListWidget \
{ \
public: \
K##type##InfoWidget(QWidget *parent, const QVariantList &) \
: KInfoListWidget(KInfoModulesFactory::componentData(), \
name, parent, GetInfo_##type) \
{ \
} \
}; \
#ifdef INFO_CPU_AVAILABLE
CREATE_FACTORY(CPU, i18n("Processor(s)"))
#endif
#ifdef INFO_IRQ_AVAILABLE
CREATE_FACTORY(IRQ, i18n("Interrupt"))
#endif
#ifdef INFO_IOPORTS_AVAILABLE
CREATE_FACTORY(IO_Ports, i18n("I/O-Port"))
#endif
#ifdef INFO_SOUND_AVAILABLE
CREATE_FACTORY(Sound, i18n("Soundcard"))
#endif
#ifdef INFO_SCSI_AVAILABLE
CREATE_FACTORY(SCSI, i18n("SCSI"))
#endif
#ifdef INFO_DMA_AVAILABLE
CREATE_FACTORY(DMA, i18n("DMA-Channel"))
#endif
#ifdef INFO_DEVICES_AVAILABLE
CREATE_FACTORY(Devices, i18n("Devices"))
#endif
#ifdef INFO_XSERVER_AVAILABLE
CREATE_FACTORY(XServer_and_Video, i18n("X-Server"))
#endif
KInfoModulesFactory::KInfoModulesFactory(const char *componentName)
: KPluginFactory(componentName)
{
s_instance = this;
#ifdef INFO_CPU_AVAILABLE
registerPlugin<KCPUInfoWidget>("cpu");
#endif
#ifdef INFO_IRQ_AVAILABLE
registerPlugin<KIRQInfoWidget>("irq");
#endif
#ifdef INFO_IOPORTS_AVAILABLE
registerPlugin<KIO_PortsInfoWidget>("ioports");
#endif
#ifdef INFO_SOUND_AVAILABLE
registerPlugin<KSoundInfoWidget>("sound");
#endif
#ifdef INFO_SCSI_AVAILABLE
registerPlugin<KSCSIInfoWidget>("scsi");
#endif
#ifdef INFO_DMA_AVAILABLE
registerPlugin<KDMAInfoWidget>("dma");
#endif
#ifdef INFO_DEVICES_AVAILABLE
registerPlugin<KDevicesInfoWidget>("devices");
#endif
#ifdef INFO_XSERVER_AVAILABLE
registerPlugin<KXServer_and_VideoInfoWidget>("xserver");
#endif
}
KComponentData KInfoModulesFactory::componentData()
{
Q_ASSERT(s_instance);
return s_instance->componentData();
}
K_EXPORT_PLUGIN(KInfoModulesFactory("kcminfo"))

View file

@ -1,253 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 processor
Icon=cpu
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/processor/index.html
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=cpu
X-KDE-ParentApp=kinfocenter
Name=Processor
Name[af]=Verwerker
Name[ar]=المعالج
Name[as]=
Name[be]=Працэсар
Name[be@latin]=Pracesar
Name[bg]=Процесор
Name[bn]=
Name[bn_IN]=
Name[br]=Kewerier
Name[ca]=Processador
Name[ca@valencia]=Processador
Name[cs]=Procesor
Name[csb]=Procesora
Name[cy]=Prosesydd
Name[da]=Processor
Name[de]=Prozessor
Name[el]=Επεξεργαστής
Name[en_GB]=Processor
Name[eo]=Procesoro
Name[es]=Procesador
Name[et]=Protsessor
Name[eu]=Prozesagailua
Name[fa]=پردازنده
Name[fi]=Prosessori
Name[fr]=Processeur
Name[fy]=Ferwurkingsienheid
Name[ga]=Próiseálaí
Name[gl]=Procesador
Name[gu]=
Name[he]=מעבד
Name[hi]=
Name[hne]=
Name[hr]=Procesor
Name[hsb]=procesor
Name[hu]=Processzor
Name[id]=Prosesor
Name[is]=Örgjörvi
Name[it]=Processore
Name[ja]=
Name[ka]=
Name[kk]=Процессор
Name[km]=
Name[kn]=
Name[ko]=
Name[ku]=Kiryarkar
Name[lt]=Procesorius
Name[lv]=Procesors
Name[mai]=
Name[mk]=Процесор
Name[ml]=
Name[mr]=
Name[ms]=Pemproses
Name[nb]=Prosessor
Name[nds]=Perzesser
Name[ne]=
Name[nl]=Processor
Name[nn]=Prosessor
Name[oc]=Processor
Name[or]=
Name[pa]=
Name[pl]=Procesor
Name[pt]=Processador
Name[pt_BR]=Processador
Name[ro]=Procesor
Name[ru]=Процессор
Name[se]=Doaimmár
Name[si]=
Name[sk]=Procesor
Name[sl]=Procesor
Name[sr]=Процесор
Name[sr@ijekavian]=Процесор
Name[sr@ijekavianlatin]=Procesor
Name[sr@latin]=Procesor
Name[sv]=Processor
Name[ta]=ி
Name[te]=
Name[tg]=Амалкард
Name[th]=
Name[tr]=İşlemci
Name[uk]=Процесор
Name[uz]=Protsessor
Name[uz@cyrillic]=Процессор
Name[vi]=B x lý
Name[wa]=Processeu
Name[xh]=Umqhubekekisi phambili
Name[x-test]=xxProcessorxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Processor information
Comment[af]=Verwerker informasie
Comment[ar]=معلومات المعالج
Comment[as]=
Comment[be]=Звесткі пра працэсар
Comment[be@latin]=Źviestki ab pracesary
Comment[bg]=Информация за процесора(ите) на системата
Comment[bn]=
Comment[bn_IN]=
Comment[br]=Titouroù diwar-benn ar c'hewerier
Comment[ca]=Informació del processador
Comment[ca@valencia]=Informació del processador
Comment[cs]=Informace o procesoru
Comment[csb]=Wëdowiédzô ò procesorze
Comment[cy]=Gwybodaeth prosesydd
Comment[da]=Information om processoren
Comment[de]=Informationen zum Prozessor
Comment[el]=Πληροφορίες για τον επεξεργαστή
Comment[en_GB]=Processor information
Comment[eo]=Informoj pri procesoro
Comment[es]=Información sobre el procesador
Comment[et]=Protsessori info
Comment[eu]=Prozesagailuari buruzko informazioa
Comment[fa]=اطلاعات پردازنده
Comment[fi]=Tietoja prosessorista
Comment[fr]=Informations sur le processeur
Comment[fy]=Ferwurkingsienheid ynformaasje
Comment[ga]=Eolas faoin phróiseálaí
Comment[gl]=Información do procesador
Comment[gu]= િ
Comment[he]=מידע על המעבד
Comment[hi]=
Comment[hne]=
Comment[hr]=Podaci o procesoru
Comment[hsb]=Informacija wo procesoru
Comment[hu]=A processzor jellemzői
Comment[id]=Informasi Prosesor
Comment[is]=Upplýsingar um örgjörva
Comment[it]=Informazioni sul processore
Comment[ja]=
Comment[ka]=
Comment[kk]=Процессор мәліметі
Comment[km]=
Comment[kn]= ಿಿ
Comment[ko]=
Comment[ku]=Agahiyên Kiryarkarê
Comment[lt]=Procesoriaus informacija
Comment[lv]=Procesora informācija
Comment[mai]=
Comment[mk]=Информации за процесорот
Comment[ml]=ി ി
Comment[mr]= ि
Comment[ms]=Maklumat pemproses
Comment[nb]=Prosessorinformasjon
Comment[nds]=Informatschoon över den Perzesser
Comment[ne]=
Comment[nl]=Processorinformatie
Comment[nn]=Prosessorinformasjon
Comment[or]=
Comment[pa]=
Comment[pl]=Informacje o procesorze
Comment[pt]=Informação sobre o processador
Comment[pt_BR]=Informações sobre o processador
Comment[ro]=Informații despre microprocesor
Comment[ru]=Сведения о процессоре
Comment[se]=Doaimmárdieđut
Comment[si]=
Comment[sk]=Informácie o procesore
Comment[sl]=Podatki o procesorju
Comment[sr]=Подаци о процесору
Comment[sr@ijekavian]=Подаци о процесору
Comment[sr@ijekavianlatin]=Podaci o procesoru
Comment[sr@latin]=Podaci o procesoru
Comment[sv]=Processorinformation
Comment[ta]=ி
Comment[te]=
Comment[tg]=Иттилоот оиди амалкард
Comment[th]=
Comment[tr]=İşlemci hakkında bilgi
Comment[uk]=Інформація щодо процесора
Comment[uz]=Protsessor haqida maʼlumot
Comment[uz@cyrillic]=Процессор ҳақида маълумот
Comment[vi]=Thông tin v b vi x lý
Comment[wa]=Infôrmåcion sol processeu
Comment[xh]=Inkcukacha yenkcukacha
Comment[x-test]=xxProcessor informationxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=Processor,CPU,FPU,MHz,System Information
X-KDE-Keywords[af]=Processor,CPU,FPU,MHz,System Informasie
X-KDE-Keywords[be]=Працэсар,МГц,Сістэмная інфармацыя,Processor,CPU,FPU,MHz,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, процесор, Processor, CPU, FPU, MHz, System Information
X-KDE-Keywords[br]=Kewerier,UTK,UNS,MHz,titouroù reizhiad
X-KDE-Keywords[ca]=Processador,CPU,FPU,MHz,Informació del sistema
X-KDE-Keywords[cs]=Procesor,CPU,FPU,MHz,Informace o systému
X-KDE-Keywords[csb]=procesora,CPU,JAL,FPU,MHz,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=Prosesydd,CPU,FPU,MHz,Gwybodaeth Cysawd
X-KDE-Keywords[da]=Processor,CPU,FPU,MHz,Systeminformation
X-KDE-Keywords[de]=Prozessor,CPU,FPU,MHz,Systeminformation
X-KDE-Keywords[el]=Επεξεργαστής,ΚΜΕ,FPU,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=procezilo,CPU,FPU,MHz,frekvenco,sistemo,operaciumo,informo
X-KDE-Keywords[es]=Procesador,CPU,FPU,MHz,Información del sistema
X-KDE-Keywords[et]=Protsessor,CPU,FPU,MHz,Süsteemi info
X-KDE-Keywords[eu]=Prozesagailua,CPU,FPU,MHz,Sistemaren informazioa
X-KDE-Keywords[fa]=پردازنده، واحد پردازش مرکزی، FPU، مگاهرتز، اطلاعات سیستم
X-KDE-Keywords[fi]=Prosessori,CPU,FPU,MHz,Järjestelmätiedot
X-KDE-Keywords[fr]=processeur,CPU,FPU,MHz,informations système,cpu
X-KDE-Keywords[fy]=Processor,Ferwurkingsienheid,CPU,FPU,MHz,Systeemynformaasje
X-KDE-Keywords[ga]=Próiseálaí,CPU,LAP,FPU,MHz,Eolas faoin Chóras
X-KDE-Keywords[gl]=Procesador,CPU,FPU,MHz,Información do Sistema
X-KDE-Keywords[he]=FPU,מעבד,מעבד מתמטי,מגה־הרץ,מידע מערכת,System Information
X-KDE-Keywords[hr]=Processor,CPU,FPU,MHz,System Information,procesor,Podaci o sustavu
X-KDE-Keywords[hu]=processzor,CPU,FPU,MHz,rendszerinformáció
X-KDE-Keywords[is]=örgjörvi,örgjörfi,Gjörvi,kerfi,upplýsingar,CPU,MHz,FPUz
X-KDE-Keywords[it]=processore,CPU,FPU,MHz,informazioni sul sistema
X-KDE-Keywords[ja]=,CPU,FPU,MHz,
X-KDE-Keywords[ka]=,CPU,FPU,MHz,
X-KDE-Keywords[km]= FPU MHz
X-KDE-Keywords[ko]=Processor,,CPU,FPU,MHz,
X-KDE-Keywords[lt]=Procesorius,CPU,FPU,MHz,Sistemos Informacija
X-KDE-Keywords[lv]=Procesors,CPU,FPU,MHz,Sistēmas Informācija
X-KDE-Keywords[mk]=Processor,CPU,FPU,MHz,System Information,Процесор,Информации за системот
X-KDE-Keywords[ms]=Pemproses,CPU,FPU,MHz,Maklumat Sistem
X-KDE-Keywords[nb]=Prosessor,CPU,FPU,Sentralenhet,MHz,Systeminformasjon
X-KDE-Keywords[nds]=Perzesser,CPU,FPU,MHz,Systeeminformatschoon
X-KDE-Keywords[ne]=, , , ,
X-KDE-Keywords[nl]=processor,CPU,FPU,MHz,systeeminformatie
X-KDE-Keywords[nn]=prosessor,CPU,FPU,MHz,systeminformasjon
X-KDE-Keywords[pa]=,CPU,FPU,MHz,ਿ
X-KDE-Keywords[pl]=procesor,CPU,JAL,FPU,MHz,informacja o systemie
X-KDE-Keywords[pt]=processador,CPU,FPU,MHz,informações do sistema
X-KDE-Keywords[pt_BR]=Processador,CPU,FPU,MHz,Informações de sistema
X-KDE-Keywords[ro]=procesor,microprocesor,CPU,FPU,MHz,informaţii despre sistem
X-KDE-Keywords[se]=Doaimmár,CPU,FPU,MHz,vuogádatdieđut
X-KDE-Keywords[sl]=procesor,CPE,CPU,FPU,MHz,informacije o sistemu
X-KDE-Keywords[sr]=Processor,CPU,FPU,MHz,System Information,ЦПУ,ФПУ,процесор,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=Processor,CPU,FPU,MHz,System Information,CPU,FPU,procesor,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=Processor,CPU,FPU,MHz,Systeminformation
X-KDE-Keywords[ta]=ி,CPU,FPU,MHz,
X-KDE-Keywords[th]=,CPU,FPU,MHz,
X-KDE-Keywords[tr]=İşlemci,MİB,FPU,MHz,Sistem Hakkında Bilgi
X-KDE-Keywords[uk]=процесор,CPU,FPU,МГц,системна інформація
X-KDE-Keywords[uz]=Процессор,CPU,FPU,МГц,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=B vi x lý,CPU,FPU,Mhz,Thông tin H thng
X-KDE-Keywords[wa]=Processeu,CPU,FPU,MHz,Infôrmåcion sol sistinme
X-KDE-Keywords[x-test]=xxProcessor,CPU,FPU,MHz,System Informationxx
X-KDE-Keywords[xh]=Umqhubekekisi,CPU,FPU,MHz,Inkcukacha Yendlela yokusebenza
X-KDE-Keywords[zh_CN]=Processor,CPU,FPU,MHz,System Information,,
X-KDE-Keywords[zh_TW]=Processor,CPU,FPU,MHz,System Information,,,,
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,251 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 scsi
Icon=kcmscsi
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/scsi/index.html
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=scsi
X-KDE-ParentApp=kinfocenter
Name=SCSI
Name[af]=Scsi
Name[ar]=SCSI
Name[as]=SCSI
Name[be]=SCSI
Name[be@latin]=SCSI
Name[bg]=SCSI
Name[bn]=ি
Name[bn_IN]=SCSI
Name[br]=SCSI
Name[ca]=SCSI
Name[ca@valencia]=SCSI
Name[cs]=SCSI
Name[csb]=SCSI
Name[cy]=SCSI
Name[da]=SCSI
Name[de]=SCSI
Name[el]=SCSI
Name[en_GB]=SCSI
Name[eo]=SCSI
Name[es]=SCSI
Name[et]=SCSI
Name[eu]=SCSI
Name[fa]=اسکازی
Name[fi]=SCSI
Name[fr]=SCSI
Name[fy]=SCSI
Name[ga]=SCSI
Name[gl]=SCSI
Name[gu]=SCSI
Name[he]=התקני SCSI
Name[hi]=
Name[hne]=
Name[hr]=SCSI
Name[hsb]=SCSI
Name[hu]=SCSI
Name[id]=SCSI
Name[is]=SCSI-tæki
Name[it]=SCSI
Name[ja]=SCSI
Name[ka]=SCSI
Name[kk]=SCSI
Name[km]=SCSI
Name[kn]=ಿ (SCSI)
Name[ko]=SCSI
Name[ku]=SCSI
Name[lt]=SCSI
Name[lv]=SCSI
Name[mai]=
Name[mk]=SCSI
Name[ml]=ി
Name[mr]=SCSI
Name[ms]=SCSI
Name[nb]=SCSI
Name[nds]=SCSI
Name[ne]=
Name[nl]=SCSI
Name[nn]=SCSI
Name[oc]=SCSI
Name[or]=SCSI
Name[pa]=SCSI
Name[pl]=SCSI
Name[pt]=SCSI
Name[pt_BR]=SCSI
Name[ro]=Magistrala SCSI
Name[ru]=SCSI
Name[se]=SCSI
Name[si]=SCSI
Name[sk]=SCSI
Name[sl]=SCSI
Name[sr]=Скази
Name[sr@ijekavian]=Скази
Name[sr@ijekavianlatin]=SCSI
Name[sr@latin]=SCSI
Name[sv]=SCSI
Name[ta]=SCSI
Name[te]=SCSI
Name[tg]=SCSI
Name[th]= SCSI
Name[tr]=SCSI
Name[uk]=SCSI
Name[uz]=SCSI
Name[uz@cyrillic]=SCSI
Name[vi]=SCSI
Name[wa]=SCSI
Name[xh]=SCSI
Name[x-test]=xxSCSIxx
Name[zh_CN]=SCSI
Name[zh_TW]=SCSI
Comment=SCSI information
Comment[af]=Scsi informasie
Comment[ar]=معلومات SCSI
Comment[as]=SCSI
Comment[be]=Звесткі пра SCSI
Comment[be@latin]=Źviestki pra SCSI
Comment[bg]=Информация за шината SCSI
Comment[bn]=ি (SCSI)
Comment[bn_IN]=SCSI
Comment[br]=Titouroù diwar-benn ar SCSI
Comment[ca]=Informació de SCSI
Comment[ca@valencia]=Informació de SCSI
Comment[cs]=Informace o SCSI
Comment[csb]=Wëdowiédzô ò SCSI
Comment[cy]=Gwybodaeth SCSI
Comment[da]=SCSI-information
Comment[de]=Informationen zu SCSI-Geräten
Comment[el]=Πληροφορίες SCSI
Comment[en_GB]=SCSI information
Comment[eo]=Informoj pri SCSI
Comment[es]=Información sobre los dispositivos SCSI
Comment[et]=SCSI info
Comment[eu]=SCSIri buruzko informazioa
Comment[fa]=اطلاعات اسکازی
Comment[fi]=SCSI-tietoja
Comment[fr]=Informations SCSI
Comment[fy]=SCSI-ynformaasje
Comment[ga]=Eolas SCSI
Comment[gl]=Información de SCSI
Comment[gu]=SCSI િ
Comment[he]=מידע על SCSI
Comment[hi]=
Comment[hne]=
Comment[hr]=Podaci o SCSI sabirnici
Comment[hsb]=SCSI informacija
Comment[hu]=SCSI-információk
Comment[id]=Informasi SCSI
Comment[is]=Upplýsingar um SCSI-tæki
Comment[it]=Informazioni sul bus SCSI
Comment[ja]=SCSI
Comment[ka]= SCSI
Comment[kk]=SCSI құрылғылар мәліметі
Comment[km]= SCSI
Comment[kn]=ಿ (SCSI) ಿಿ
Comment[ko]=SCSI
Comment[ku]=Agahiya SCSI
Comment[lt]=SCSI informacija
Comment[lv]=SCSI informācija
Comment[mai]=
Comment[mk]=Информации за SCSI
Comment[ml]=ി ി
Comment[mr]= ि
Comment[ms]=Maklumat SCSI
Comment[nb]=SCSI-informasjon
Comment[nds]=Informatschoon över SCSI
Comment[ne]=
Comment[nl]=SCSI-informatie
Comment[nn]=SCSI-informasjon
Comment[or]=SCSI
Comment[pa]=SCSI
Comment[pl]=Informacje o SCSI
Comment[pt]=Informação sobre o SCSI
Comment[pt_BR]=Informações sobre SCSI
Comment[ro]=Informații despre magistrala SCSI
Comment[ru]=Сведения о устройствах SCSI
Comment[se]=SCSI-diehtu
Comment[si]=SCSI
Comment[sk]=Informácie o SCSI
Comment[sl]=Podatki o vodilu SCSI
Comment[sr]=Подаци о скази уређајима
Comment[sr@ijekavian]=Подаци о скази уређајима
Comment[sr@ijekavianlatin]=Podaci o SCSI uređajima
Comment[sr@latin]=Podaci o SCSI uređajima
Comment[sv]=SCSI-information
Comment[ta]=SCSI
Comment[te]=SCSI
Comment[tg]=Иттилооти SCSI
Comment[th]= SCSI
Comment[tr]=SCSI hakkında bilgi
Comment[uk]=Інформація щодо SCSI
Comment[uz]=SCSI uskunalar haqida maʼlumot
Comment[uz@cyrillic]=SCSI ускуналар ҳақида маълумот
Comment[vi]=Thông tin v SCSI
Comment[wa]=Infôrmåcion SCSI
Comment[xh]=Inkcukacha ye SCSI
Comment[x-test]=xxSCSI informationxx
Comment[zh_CN]=SCSI
Comment[zh_TW]=SCSI
X-KDE-Keywords=SCSI,SCSI-Bus,System Information
X-KDE-Keywords[af]=SCSI,SCSI-Bus,System Informasie
X-KDE-Keywords[be]=Шына SCSI,Сістэмная інфармацыя,SCSI,SCSI-Bus,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, шина, SCSI, SCSI-Bus, System Information
X-KDE-Keywords[br]=SCSI,bus SCSI,titouroù reizhiad
X-KDE-Keywords[ca]=SCSI,Bus SCSI,Informació del sistema
X-KDE-Keywords[cs]=SCSI,SCSI-sběrnice,Informace o systému
X-KDE-Keywords[csb]=SCSI,magistrala SCSI,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=SCSI,Bws-SCSI,Gwybodaeth Cysawd
X-KDE-Keywords[da]=SCSI,SCSI-bus,Systeminformation
X-KDE-Keywords[de]=SCSI,SCSI-Bus,Systeminformation
X-KDE-Keywords[el]=SCSI,Δίαυλος SCSI,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=SCSI,buso,sistemo,operaciumo,informo
X-KDE-Keywords[es]=SCSI,Bus SCSI,Información del sistema
X-KDE-Keywords[et]=SCSI,SCSI siin,Süsteemi info
X-KDE-Keywords[eu]=SCSI,SCSI busa,Sistemaren informazioa
X-KDE-Keywords[fa]=اسکازی، گذرگاه اسکازی، اطلاعات سیستم
X-KDE-Keywords[fi]=SCSI,SCSI-Väylä,Järjestelmätiedot
X-KDE-Keywords[fr]=SCSI,bus SCSI,informations système,scsi
X-KDE-Keywords[fy]=SCSI,SCSI-bus,systeemynformaasje
X-KDE-Keywords[ga]=SCSI,Bus SCSI,Eolas faoin Chóras
X-KDE-Keywords[gl]=SCSI,Bus SCSI,Información do Sistema
X-KDE-Keywords[he]=מידע מערכת,אפיק SCSI,SCSI,SCSI-Bus,System Information
X-KDE-Keywords[hr]=SCSI,SCSI-Bus,System Information,Podaci o sustavu,SCSI sabirnica
X-KDE-Keywords[hu]=SCSI,SCSI-busz,rendszerinformáció
X-KDE-Keywords[is]=SCSI-braut,kerfi,upplýsingar
X-KDE-Keywords[it]=SCSI,bus SCSI,informazioni sul sistema
X-KDE-Keywords[ja]=SCSI,SCSI-,
X-KDE-Keywords[km]=SCSI SCSI
X-KDE-Keywords[ko]=SCSI,SCSI ,
X-KDE-Keywords[lt]=SCSI,SCSI-Bus,Sistemos Informacija
X-KDE-Keywords[lv]=SCSI,SCSI-Šina,Sistēmas Informācija
X-KDE-Keywords[mk]=SCSI,SCSI-Bus,System Information,SCSI магистрала, SCSI собирница,Информации за системот,
X-KDE-Keywords[nb]=SCSI,SCSI-buss,Systeminformasjon
X-KDE-Keywords[nds]=SCSI,SCSI-Bus,Systeeminformatschoon
X-KDE-Keywords[ne]=, -,
X-KDE-Keywords[nl]=SCSI,SCSI-bus,systeeminformatie
X-KDE-Keywords[nn]=SCSI,SCSI-buss,systeminformasjon
X-KDE-Keywords[pa]=SCSI,SCSI-Bus,ਿ
X-KDE-Keywords[pl]=SCSI,magistrala SCSI,informacja o systemie
X-KDE-Keywords[pt]=SCSI,bus SCSI,informações do sistema
X-KDE-Keywords[pt_BR]=SCSI,Barramento SCSI,Informações de sistema
X-KDE-Keywords[ro]=SCSI,magistrala SCSI,bus SCSI,informaţii despre sistem
X-KDE-Keywords[se]=SCSI,SCSI-bussa,vuogádatdiehtu
X-KDE-Keywords[sl]=SCSI,vodilo SCSI,informacije o sistemu
X-KDE-Keywords[sr]=SCSI,SCSI-Bus,System Information,скази,скази магистрала,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=SCSI,SCSI-Bus,System Information,SCSI,SCSI magistrala,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=SCSI,SCSI-buss,Systeminformation
X-KDE-Keywords[ta]=SCSI,SCSI-,
X-KDE-Keywords[th]=SCSI, SCSI,
X-KDE-Keywords[tr]=SCSI,SCSI-Bus,Sistem Hakkında Bilgi
X-KDE-Keywords[uk]=SCSI,шина SCSI,системна інформація
X-KDE-Keywords[uz]=SCSI,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=SCSI,SCSI-Bus,Thông tin H thng
X-KDE-Keywords[wa]=SCSI,bus SCSI,Infôrmåcion sol sistinme
X-KDE-Keywords[x-test]=xxSCSI,SCSI-Bus,System Informationxx
X-KDE-Keywords[xh]=SCSI,SCSI-Ibhasi,Ulwazi lwendlela
X-KDE-Keywords[zh_CN]=SCSI,SCSI-Bus,System Information,SCSI 线,
X-KDE-Keywords[zh_TW]=SCSI,SCSI-Bus,System Information,
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,250 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 sound
Icon=preferences-desktop-sound
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/sound/index.html
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=sound
X-KDE-ParentApp=kinfocenter
Name=Sound
Name[af]=Klank
Name[ar]=الصوت
Name[as]=ি
Name[be]=Гук
Name[be@latin]=Huk
Name[bg]=Аудио
Name[bn]=
Name[bn_IN]=
Name[br]=Son
Name[ca]=So
Name[ca@valencia]=So
Name[cs]=Zvuk
Name[csb]=Zwãk
Name[cy]=Sain
Name[da]=Lyd
Name[de]=Sound
Name[el]=Ήχος
Name[en_GB]=Sound
Name[eo]=Sono
Name[es]=Sonido
Name[et]=Heli
Name[eu]=Soinua
Name[fa]=صوت
Name[fi]=Ääni
Name[fr]=Son
Name[fy]=Lûd
Name[ga]=Fuaim
Name[gl]=Son
Name[gu]=િ
Name[he]=צליל
Name[hi]=ि
Name[hne]=
Name[hr]=Zvuk
Name[hsb]=Zwuk
Name[hu]=Hang
Name[id]=Suara
Name[is]=Hljóð
Name[it]=Suono
Name[ja]=
Name[ka]=
Name[kk]=Дыбыс
Name[km]=
Name[kn]=ಿ
Name[ko]=
Name[ku]=Deng
Name[lt]=Garsas
Name[lv]=Skaņa
Name[mai]=ि
Name[mk]=Звук
Name[ml]=
Name[mr]=
Name[ms]=Bunyi
Name[nb]=Lyd
Name[nds]=Kläng
Name[ne]=ि
Name[nl]=Geluid
Name[nn]=Lyd
Name[oc]=Son
Name[or]=
Name[pa]=
Name[pl]=Dźwięk
Name[pt]=Som
Name[pt_BR]=Som
Name[ro]=Sunet
Name[ru]=Звук
Name[se]=Jietna
Name[si]=
Name[sk]=Zvuk
Name[sl]=Zvok
Name[sr]=Звук
Name[sr@ijekavian]=Звук
Name[sr@ijekavianlatin]=Zvuk
Name[sr@latin]=Zvuk
Name[sv]=Ljud
Name[ta]=ி
Name[te]=
Name[tg]=Садо
Name[th]=
Name[tr]=Ses
Name[uk]=Звук
Name[uz]=Tovush
Name[uz@cyrillic]=Товуш
Name[vi]=Âm thanh
Name[wa]=Son
Name[xh]=Isandi
Name[x-test]=xxSoundxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Sound information
Comment[af]=Klank informasie
Comment[ar]=معلومات الصوت
Comment[as]=ি
Comment[be]=Звесткі пра гук
Comment[be@latin]=Źviestki pra huk
Comment[bg]=Информация за аудио системата
Comment[bn]=
Comment[bn_IN]=
Comment[br]=Titouroù diwar-benn ar son
Comment[ca]=Informació del so
Comment[ca@valencia]=Informació del so
Comment[cs]=Informace o zvuku
Comment[csb]=Wëdowiédzô ò nastôwach zwãkù
Comment[cy]=Gwybodaeth Sain
Comment[da]=Information om lyd
Comment[de]=Informationen zur Soundkarte
Comment[el]=Πληροφορίες για τον Ήχο
Comment[en_GB]=Sound information
Comment[eo]=Informo pri sono
Comment[es]=Información sobre el sonido
Comment[et]=Heliseadmete info
Comment[eu]=Soinuari buruzko informazioa
Comment[fa]=اطلاعات صوتی
Comment[fi]=Äänitiedot
Comment[fr]=Informations sur le son
Comment[fy]=Lûdssysteemynformaasje
Comment[ga]=Eolas fuaime
Comment[gl]=Información do son
Comment[gu]=િ િ
Comment[he]=מידע על מערכת הצליל
Comment[hi]=ि
Comment[hne]=
Comment[hr]=Podaci o zvuku
Comment[hsb]=Informacija wo zwuku
Comment[hu]=A hangkezelés jellemzői
Comment[id]=Informasi Suara
Comment[is]=Upplýsingar um hljóð
Comment[it]=Informazioni sul suono
Comment[ja]=
Comment[ka]=
Comment[kk]=Дыбыс мәліметі
Comment[km]=
Comment[kn]=ಿ ಿಿ
Comment[ko]=
Comment[ku]=Agahiya Dengî
Comment[lt]=Garso informacija
Comment[lv]=Skaņas informācija
Comment[mai]=ि
Comment[mk]=Информации за звукот
Comment[ml]=ി ി
Comment[mr]=ि ि
Comment[ms]=Maklumat bunyi
Comment[nb]=Lydinformasjon
Comment[nds]=Klang-Informatschoon
Comment[ne]=ि
Comment[nl]=Geluidssysteeminformatie
Comment[nn]=Lydinformasjon
Comment[or]=ି
Comment[pa]=
Comment[pl]=Informacje o ustawieniach dźwięku
Comment[pt]=Informação sobre o som
Comment[pt_BR]=Informações sobre o som
Comment[ro]=Informații despre placa de sunet
Comment[ru]=Сведения о звуковой системе
Comment[se]=Jietnadiehtu
Comment[si]=
Comment[sk]=Informácie o zvuku
Comment[sl]=Podatki o zvoku
Comment[sr]=Подаци о звуку
Comment[sr@ijekavian]=Подаци о звуку
Comment[sr@ijekavianlatin]=Podaci o zvuku
Comment[sr@latin]=Podaci o zvuku
Comment[sv]=Ljudinformation
Comment[ta]=ி
Comment[te]=
Comment[tg]=Иттилооти садо
Comment[th]=
Comment[tr]=Ses hakkında bilgi
Comment[uk]=Інформація щодо звукової карти
Comment[uz]=Tovush haqida maʼlumot
Comment[uz@cyrillic]=Товуш ҳақида маълумот
Comment[vi]=Thông tin v âm thanh
Comment[wa]=Infôrmåcion sol son
Comment[xh]=Inkcukacha yesandi
Comment[x-test]=xxSound informationxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=Sound,Audio,Soundcard,MIDI,OSS,System Information
X-KDE-Keywords[af]=Sound,Audio,Soundcard,Midi,OSS,System Informasie
X-KDE-Keywords[be]=Гук,Аўдыё,Гукавая карта,Сістэмная інфармацыя,Сінтэзатар,Sound,Audio,Soundcard,MIDI,OSS,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, аудио, звук Sound, Audio, Soundcard, MIDI, OSS, System Information
X-KDE-Keywords[br]=Son,klevet,kartenn son,MIDI,OSS,titouroù reizhiad
X-KDE-Keywords[ca]=So,Àudio,tarja de so,MIDI,OSS,Informació del sistema
X-KDE-Keywords[cs]=Zvuk,Audio,Zvuková karta,Midi,OSS,Informace o systému
X-KDE-Keywords[csb]=zwãk,audio,zwãkòwô karta,Midi,OSS,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=Sain,Swn,Cerdyn Sain,Midi,OSS,Gwybodaeth Gysawd
X-KDE-Keywords[da]=Lyd,Audio,Lydkort,MIDI,OSS,Systeminformation
X-KDE-Keywords[de]=Klänge,Sound,Audio,Soundkarte,Systemklänge,Midi,OSS,Systeminformation
X-KDE-Keywords[el]=Ήχος,Μουσική,Κάρτα ήχου,MIDI,OSS,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=Sonoro,Sono,Aŭdio,Sonorkarto,MIDI,OSS,sistemo,informo,operaciumo
X-KDE-Keywords[es]=Sonido,Audio,Tarjeta de sonido,MIDI,OSS,Información del sistema
X-KDE-Keywords[et]=Heli,Audio,Helikaart,MIDI,OSS,Süsteemi info
X-KDE-Keywords[eu]=Soinua,Audioa,Soinu txartela,Midi,OSS,Sistemaren informazioa
X-KDE-Keywords[fa]=صوت، صوتی، کارت صوتی ،MIDI ،OSS ،اطلاعات سیستم
X-KDE-Keywords[fi]=Ääni,Äänikortti,Midi,OSS,Järjestelmätiedot
X-KDE-Keywords[fr]=son,audio,carte son,midi,OSS,informations système
X-KDE-Keywords[fy]=lûd,audio,soundcard,midi,OSS,systeemynformaasje,ALSA,lûdskaart
X-KDE-Keywords[ga]=Fuaim,Cárta Fuaime,MIDI,OSS,Eolas faoin Chóras
X-KDE-Keywords[gl]=Son,Audio,Tarxeta de son,Midi,OSS,Información do Sistema
X-KDE-Keywords[he]=מידע מערכת,OSS,Midi,צליל,שמע,כרטיס קול,מידי,Sound, Audio,Soundcard,MIDI,OSS,System Information
X-KDE-Keywords[hr]=Sound,Audio,Soundcard,Midi,OSS,System Information,Zvuk,Podaci o sustavu,Zvučna kartica
X-KDE-Keywords[hu]=hang,audió,hangkártya,MIDI,OSS,rendszerinformáció
X-KDE-Keywords[is]=Hljóð,Hljóðkort,kerfi,upplýsingar,OSS,MIDI
X-KDE-Keywords[it]=suono,audio,scheda sonora,MIDI,OSS,informazioni sul sistema
X-KDE-Keywords[ja]=,,,MIDI,OSS,
X-KDE-Keywords[ka]=,,,MIDI,OSS,
X-KDE-Keywords[km]= OSS
X-KDE-Keywords[ko]=,,, ,MIDI,OSS,
X-KDE-Keywords[lt]=Garsas,Audio,Garso korta,Midi,OSS,Sistemos informacija
X-KDE-Keywords[lv]=Skaņa,Audio,Skaņaskarte,MIDI,OSS,Sistēmas Informācija
X-KDE-Keywords[mk]=Sound,Audio,Soundcard,MIDI,OSS,System Information,Звук,Аудио,Звучна картичка,Информации за системот
X-KDE-Keywords[nb]=Lyd,Lydkort,Midi,OSS,Systeminformasjon
X-KDE-Keywords[nds]=Klang,Audio,Soundkort,Midi,OSS,Systeeminformatschoon
X-KDE-Keywords[ne]=ि, ि, ि , MIDI, OSS,
X-KDE-Keywords[nl]=geluid,audio,soundcard,midi,OSS,systeeminformatie,ALSA,geluidskaart
X-KDE-Keywords[nn]=lyd,lydkort,MIDI,OSS,systeminformasjon
X-KDE-Keywords[pa]=Sound,Audio,Soundcard,MIDI,OSS,ਿ ,,
X-KDE-Keywords[pl]=dźwięk,audio,karta dźwiekowa,Midi,OSS,informacja o systemie
X-KDE-Keywords[pt]=som,áudio,placa de som,midi,oss,informações de sistema
X-KDE-Keywords[pt_BR]=Som,Áudio,placa de som,MIDI,OSS,Informações de sistema
X-KDE-Keywords[ro]=sunet,audio,placă de sunet,card de sunet,MIDI,OSS,informaţii despre sistem
X-KDE-Keywords[se]=jietna,jietnagoarta,midi,OSS,vuogádatdiehtu
X-KDE-Keywords[sl]=zvok,glasba,zvočna kartica,avdio,midi,OSS,informacije o sistemu
X-KDE-Keywords[sr]=Sound,Аудио,Soundcard,Midi,OSS,System Information,звук,аудио,звучна карта,звучна картица,МИДИ,ОСС,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=Sound,Audio,Soundcard,Midi,OSS,System Information,zvuk,audio,zvučna karta,zvučna kartica,MIDI,OSS,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=Ljud,Ljudkort,Midi,OSS,Systeminformation
X-KDE-Keywords[ta]=ி,ி ,ி ,ிி,OSS,
X-KDE-Keywords[th]=,,,,OSS,
X-KDE-Keywords[tr]=Ses,Seskartı,Midi,OSS,Sistem Bilgisi,MIDI
X-KDE-Keywords[uk]=звук,аудіо,sound,audio,звукова плата,midi,oss,системна інформація
X-KDE-Keywords[uz]=MIDI,OSS,Товуш,Аудио,Товуш картаси,Тизм ҳақида маълумот
X-KDE-Keywords[vi]=Âm thanh,âm,Th âm thanh,MIDI,OSS,Thông tin H thng
X-KDE-Keywords[x-test]=xxSound,Audio,Soundcard,MIDI,OSS,System Informationxx
X-KDE-Keywords[zh_CN]=Sound,Audio,Soundcard,MIDI,OSS,System Information,,,,
X-KDE-Keywords[zh_TW]=Sound,Audio,Soundcard,Midi,OSS,
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,245 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 xserver
Icon=xorg
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/xserver/index.html
X-KDE-Library=kcm_info
X-KDE-PluginKeyword=xserver
X-KDE-ParentApp=kinfocenter
Name=X-Server
Name[af]=X-bediener
Name[ar]=خادم X
Name[as]=X-Server
Name[be]=Сервер X
Name[be@latin]=Server X
Name[bg]=Сървър X
Name[bn]=-
Name[bn_IN]=X-Server
Name[br]=Servijer X
Name[ca]=Servidor X
Name[ca@valencia]=Servidor X
Name[cs]=X-Server
Name[csb]=X-Serwer
Name[cy]=Gweinydd-X
Name[da]=X-server
Name[de]=X-Server
Name[el]=Εξυπηρετητής-X
Name[en_GB]=X-Server
Name[eo]=X-servilo
Name[es]=Servidor X
Name[et]=X'i server
Name[eu]=X zerbitzaria
Name[fa]=کارساز X
Name[fi]=X-palvelin
Name[fr]=Serveur X
Name[fy]=X-Server
Name[ga]=Freastalaí X
Name[gl]=Servidor X
Name[gu]=X-Server
Name[he]=שרת X
Name[hi]=X-
Name[hne]=X-
Name[hr]=X-poslužitelj
Name[hsb]=X-Server
Name[hu]=X-kiszolgáló
Name[id]=X-Server
Name[is]=X-þjónn
Name[it]=Server X
Name[ja]=X
Name[ka]=X-
Name[kk]=X-сервер
Name[km]= X
Name[kn]=-ಿ ()
Name[ko]=X
Name[ku]=Pêşkêşkara X
Name[lt]=X-Serveris
Name[lv]=X-Serveris
Name[mai]=X-
Name[mk]=X-сервер
Name[ml]=-
Name[mr]=X-
Name[ms]=Pelayan X
Name[nb]=X-tjener
Name[nds]=X-Server
Name[ne]=-
Name[nl]=X-server
Name[nn]=X-tenar
Name[or]=X-
Name[pa]=X-
Name[pl]=X-Serwer
Name[pt]=Servidor X
Name[pt_BR]=Servidor X
Name[ro]=Server X
Name[ru]=X-Server
Name[se]=X-bálvá
Name[si]=X-Server
Name[sk]=X-Server
Name[sl]=Strežnik X
Name[sr]=Икссервер
Name[sr@ijekavian]=Икссервер
Name[sr@ijekavianlatin]=X-server
Name[sr@latin]=X-server
Name[sv]=X-server
Name[ta]=X-ி
Name[te]=-
Name[tg]=Хидматгоҳи X
Name[th]= X
Name[tr]=X-Sunucusu
Name[uk]=Сервер X
Name[uz]=X-Server
Name[uz@cyrillic]=X-Сервер
Name[vi]=Trình phc v X
Name[wa]=Sierveu X
Name[xh]=Umncedisi we-X
Name[x-test]=xxX-Serverxx
Name[zh_CN]=X
Name[zh_TW]=X
Comment=X-Server information
Comment[af]=X-bediener informasie
Comment[ar]=معلومات عن خادم X
Comment[as]=X-Server
Comment[be]=Звесткі пра сервер X
Comment[be@latin]=Źviestki pra server X
Comment[bg]=Информация за сървъра X
Comment[bn]=-
Comment[bn_IN]=X-
Comment[br]=Titouroù diwar-benn ar servijer X
Comment[ca]=Informació del servidor X
Comment[ca@valencia]=Informació del servidor X
Comment[cs]=Informace o X-Serveru
Comment[csb]=Wëdowiédzô ò X-serwerze
Comment[cy]=Gwybodaeth Gweinydd-X
Comment[da]=Information om X-serveren
Comment[de]=Informationen zum X-Server
Comment[el]=Πληροφορίες εξυπηρετητή X
Comment[en_GB]=X-Server information
Comment[eo]=Informo pri X-servilo
Comment[es]=Información sobre el servidor X
Comment[et]=X'i serveri info
Comment[eu]=X zerbitzariari buruzko informazioa
Comment[fa]=اطلاعات کارساز X
Comment[fi]=X-palvelimen tiedot
Comment[fr]=Informations sur le serveur X
Comment[fy]=X-Server-ynformaasje
Comment[ga]=Eolas faoin bhfreastalaí X
Comment[gl]=Información do servidor X
Comment[gu]=X-Server િ
Comment[he]=מידע על שרת ה־X
Comment[hi]=-
Comment[hne]=-
Comment[hr]=Podaci o X-poslužitelju
Comment[hsb]=Informacija wo X-Serweru
Comment[hu]=Az X-kiszolgáló jellemzői
Comment[id]=Informasi X-Server
Comment[is]=Upplýsingar um X-þjón
Comment[it]=Informazioni sul server X
Comment[ja]=X
Comment[ka]= X-
Comment[kk]=X-сервер мәліметі
Comment[km]= X
Comment[kn]=-ಿ () ಿಿ
Comment[ko]=X
Comment[ku]=Agahiya Pêşkêşkara X
Comment[lt]=X-Serverio informacija
Comment[lv]=X-Servera informācija
Comment[mai]=-
Comment[mk]=Информации за X-серверот
Comment[ml]= ി ി
Comment[mr]=- ि
Comment[ms]=Maklumat Pelayan X
Comment[nb]=X-tjenerinformasjon
Comment[nds]=Informatschoon över den X-Server
Comment[ne]=-
Comment[nl]=X-Server-informatie
Comment[nn]=X-tenarinformasjon
Comment[or]=X-
Comment[pa]=X-
Comment[pl]=Informacje o X-serwerze
Comment[pt]=Informações sobre o servidor X
Comment[pt_BR]=Informações do servidor X
Comment[ro]=Informații despre serverul X
Comment[ru]=Сведения о сервере X
Comment[se]=X-bálvádiehtu
Comment[si]=X-
Comment[sk]=Informácie o X serveri
Comment[sl]=Podatki o strežniku X
Comment[sr]=Подаци о Икссерверу
Comment[sr@ijekavian]=Подаци о Икссерверу
Comment[sr@ijekavianlatin]=Podaci o X-serveru
Comment[sr@latin]=Podaci o X-serveru
Comment[sv]=X-serverinformation
Comment[ta]=X-ி ி
Comment[te]=-
Comment[tg]=Иттилооти хидматгоҳи X
Comment[th]= X
Comment[tr]=X-Sunucusu hakkında bilgi
Comment[uk]=Інформація щодо сервера X
Comment[uz]=X-Server haqida maʼlumot
Comment[uz@cyrillic]=X-Сервер ҳақида маълумот
Comment[vi]=Thông tin v trình phc v X
Comment[wa]=Infôrmåcion sol sierveu X
Comment[xh]=Ulwazi lomncedisi we-X
Comment[x-test]=xxX-Server informationxx
Comment[zh_CN]=X
Comment[zh_TW]=X
X-KDE-Keywords=X,X-Server,XServer,XFree86,Display,VideoCard,System Information
X-KDE-Keywords[be]=Сервер X,Дысплей,Відэакарта,Сістэмная інфармацыя,X,X-Server,XServer,XFree86,Display,VideoCard,System Information
X-KDE-Keywords[bg]=Keywords=екран, видеокарта, системна информация, сървър, X, X-Server, XServer, XFree86, Display, VideoCard, System Information
X-KDE-Keywords[br]=X,servijer X,XServer,XFree86,diskwel,kartenn video,titouroù reizhiad
X-KDE-Keywords[ca]=X,Servidor X,XServer,XFree86,Monitor,Targeta de video,Informació del sistema
X-KDE-Keywords[cs]=X,X-server,XServer,XFree86,Obrazovka,Informace o systému,Videokarta
X-KDE-Keywords[csb]=X,X serwer,Xserwer,XFree86,graficznô karta,grafika,wëdowiédzô ò systemie
X-KDE-Keywords[da]=X,X-server,Xserver,XFree86,Skærm,Videokort,Systeminformation
X-KDE-Keywords[el]=X,Εξυπηρετητής-X,XServer,XFree86,Οθόνη,Κάρτα Γραφικών, Πληροφορίες συστήματος
X-KDE-Keywords[eo]=X,X-servilo,XFree86,ekrano,fenestroj,sistemo,operaciumo,informo
X-KDE-Keywords[es]=X,X-Server,XServer,XFree86,Monitor,Tarjeta, Gráfica,Sistema,Información
X-KDE-Keywords[et]=X,X'i server,X Server,XFree86,Ekraan,Videokaart,Süsteemi info
X-KDE-Keywords[eu]=X,X-Server,XServer,XFree86,Display,VideoCard,sistema informazioa
X-KDE-Keywords[fa]=X، کارساز، X، XServer، XFree86، صفحه نمایش، کارت ویدیو، اطلاعات سیستم
X-KDE-Keywords[fr]=X,serveur X,XFree86,XServer,moniteur,affichage,informations système,xfree,carte vidéo,carte graphique
X-KDE-Keywords[fy]=X,X-Server,XServer,XFree86,display,systeemynformaasje,byldskerm,grafyske kaart
X-KDE-Keywords[ga]=X,Freastalaí-X,XFree86,Scáileán,Físchárta,Eolas faoin Chóras
X-KDE-Keywords[gl]=X,Servidor X,XServer,XFree86,Pantalla,Display,Información do Sistema
X-KDE-Keywords[he]=תצוגה,מידע מערכת,XFree86,שרת X,X, כרטיס מסך,X-Server,XServer,XFree86,Display,VideoCard, System Information, Xorg
X-KDE-Keywords[hr]=X,X-Server,XServer,XFree86,Display,VideoCard,System Information,X-poslužitelj,X poslužitelj,Zaslon,Video kartica,Grafička kartica,Podaci o sustavu
X-KDE-Keywords[hu]=X,X-kiszolgáló,XServer,XFree86,képernyő,videokártya,rendszerinformáció
X-KDE-Keywords[is]=X,X-Server,X-þjónn,XServer,Xþjónn,XFree86,Display,skjár, VideoCard,skjákort,System Information,kerfisupplýsingar
X-KDE-Keywords[it]=X,Server X,XServer,XFree86,display,schermo,informazioni sul sistema,SchedaVideo
X-KDE-Keywords[ja]=X,X-,X,XFree86,,
X-KDE-Keywords[ka]=X,X-,X,XFree86,, ,
X-KDE-Keywords[km]=X X X XFree86
X-KDE-Keywords[ko]=X,X ,XFree86,, ,
X-KDE-Keywords[lt]=X,X-Serveris,XServer,XFree86,Displėjus,Video plokštė,Sistemos informacija
X-KDE-Keywords[lv]=X,X-Serveris,XServeris,XFree86,Ekrāns,Sistēmas Informācija
X-KDE-Keywords[mk]=X,X-Server,XServer,XFree86,Display,VideoCard,System Information,X сервер,Екран,Видеокартичка,Информации за системот
X-KDE-Keywords[nb]=X,X-tjener,Xtjener,XFree86,skjerm,videokort,systeminformasjon
X-KDE-Keywords[nds]=X,X-Server,XServer,XFree86,Display,Dorstellen,Videokort,Systeeminformatschoon
X-KDE-Keywords[ne]=X, X-, X, X 86, , िि ,
X-KDE-Keywords[nl]=X,X-Server,XServer,XFree86,display,systeeminformatie,beeldscherm,videokaart
X-KDE-Keywords[nn]=X,X-tenar,XServer,XFree86,skjerm,skjermkort,systeminformasjon
X-KDE-Keywords[pa]=X,X-Server,XServer,XFree86,ਿ,ਿ ,ਿ
X-KDE-Keywords[pl]=X,X serwer,Xserwer,XFree86,karta graficzna,grafika,informacja o systemie
X-KDE-Keywords[pt]=X,servidor X,XServer,XFree86,ecrã,placa de vídeo,informações de sistema
X-KDE-Keywords[pt_BR]=X,Servidor X,XFree,XFree86,Display,Tela,Placa de Vídeo,Informações do sistema
X-KDE-Keywords[ro]=X,server X,XServer,XFree86,ecran,afişare,placă video,informaţii despre sistem
X-KDE-Keywords[sl]=X,strežnik X,X-strežnik,XServer,XFree86,zaslon,grafična kartica,Podatki o sistemu,sistemske informacije
X-KDE-Keywords[sr]=X,X-Server,XServer,XFree86,XOrg,Display,VideoCard,System Information,Икс,Икс-сервер,Икс-фри86,Икс-орг,екран,видео картица,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=X,X-Server,XServer,XFree86,XOrg,Display,VideoCard,System Information,X,X-server,XFree86,XOrg,ekran,video kartica,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=X,X-server,Xserver,Xfree86,skärm,videokort,systeminformation
X-KDE-Keywords[ta]=X,X-,X,XFree86, ி,ி,
X-KDE-Keywords[th]=X, X,XServer,XFree86,,,
X-KDE-Keywords[tr]=X,X-Server,XServer,X sunucu, X-sunucu,Xsunucu,XFree86,Görüntü,Video Kartı,Sistem Bilgisi
X-KDE-Keywords[uk]=X,X-Server,XServer,XFree86,Display,системна інформація,монітор,X сервер,відео карта
X-KDE-Keywords[uz]=X,X сервер,XFree86,xorg,X-Сервер,Дисплей,видео карта,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=X,Trình phc v X,XServer,XFree86,Màn hình,Thông tin H thng
X-KDE-Keywords[x-test]=xxX,X-Server,XServer,XFree86,Display,VideoCard,System Informationxx
X-KDE-Keywords[zh_CN]=X,X-Server,XServer,XFree86,Display,VideoCard,System InformationX ,,,
X-KDE-Keywords[zh_TW]=X,X-Server,XServer,XFree86,Display,VideoCard,System Information,X ,X,,,
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,20 +0,0 @@
########### next target ###############
set(kcm_ioslaveinfo_PART_SRCS kcmioslaveinfo.cpp )
kde4_add_plugin(kcm_ioslaveinfo ${kcm_ioslaveinfo_PART_SRCS})
target_link_libraries(kcm_ioslaveinfo ${KDE4_KHTML_LIBS} ${QT_QTGUI_LIBRARY})
install(TARGETS kcm_ioslaveinfo DESTINATION ${PLUGIN_INSTALL_DIR} )
########### install files ###############
install( FILES ioslaveinfo.desktop DESTINATION ${SERVICES_INSTALL_DIR} )

View file

@ -1,2 +0,0 @@
#! /usr/bin/env bash
$XGETTEXT *.cpp -o $podir/kcmioslaveinfo.pot

View file

@ -1,238 +0,0 @@
[Desktop Entry]
Comment=Information about available protocols
Comment[af]=Informasie oor beskikbare protokolle
Comment[ar]=معلومات حول البروتوكولات المتوفرة
Comment[as]= িি ি
Comment[be@latin]=Źviestki pra najaŭnyja pratakoły
Comment[bg]=Информация за поддържаните протоколи
Comment[bn]=িি
Comment[bn_IN]=
Comment[ca]=Informació sobre els protocols disponibles
Comment[ca@valencia]=Informació sobre els protocols disponibles
Comment[cs]=Informace o dostupných protokolech
Comment[csb]=Wëdowiédzô ò przëstãpnëch protokòłach
Comment[da]=Information om tilgængelige protokoller
Comment[de]=Information zu den verfügbaren Ein-/Ausgabemodulen
Comment[el]=Πληροφορίες για τα διαθέσιμα πρωτόκολλα
Comment[en_GB]=Information about available protocols
Comment[eo]=Informoj pri la uzeblaj protokoloj
Comment[es]=Información sobre los protocolos disponibles
Comment[et]=Olemasolevate protokollide info
Comment[eu]=Protokolo eskuragarriei buruzko informazioa
Comment[fi]=Tietoja saatavilla olevista yhteyskäytännöistä
Comment[fr]=Informations sur les protocoles disponibles
Comment[fy]=Ynformaasje oer de beskikbere protokollen
Comment[ga]=Eolas faoi na prótacail atá ar fáil
Comment[gl]=Información acerca dos protocolos dispoñíbeis
Comment[gu]= િ િ
Comment[he]=מידע על הפרוטוקולים הזמינים
Comment[hi]=
Comment[hne]=ि ि
Comment[hr]=Informacije o raspoloživim protokolima
Comment[hsb]=Informacija wo přistupnych protokolach
Comment[hu]=A rendelkezésre álló protokollok jellemzői
Comment[id]=Informasi tentang protokol yang tersedia
Comment[is]=Upplýsingar um nothæfar samskiptareglur
Comment[it]=Informazioni sui protocolli disponibili
Comment[ja]=
Comment[kk]=Қол жектізер протоколдары туралы мәлімет
Comment[km]=
Comment[kn]=ಿ () ಿಿ
Comment[ko]=
Comment[ku]=Agahiyên der barê protokolên heyî de
Comment[lt]=Informacija apie esamus protokolus
Comment[lv]=Informācija par pieejamajiem protokoliem
Comment[mai]=
Comment[mk]=Информации за достапните протоколи
Comment[ml]= ി ി
Comment[mr]= ि ि ि
Comment[ms]=Maklumat tentang protokol yang boleh didapati
Comment[nb]=Informasjon om tilgjengelige protokoller
Comment[nds]=Informatschoon över verföögbor Protokollen
Comment[nl]=Informatie over de beschikbare protocollen
Comment[nn]=Informasjon om tilgjengelege protokollar
Comment[or]= ି ି
Comment[pa]=
Comment[pl]=Informacje o dostępnych protokołach
Comment[pt]=Informações sobre os protocolos disponíveis
Comment[pt_BR]=Informações sobre os protocolos disponíveis
Comment[ro]=Informații despre protocoalele disponibile
Comment[ru]=Сведения о доступных протоколах
Comment[se]=Dieđut olamuttus protokollaid birra
Comment[si]=
Comment[sk]=Informácie o dostupných protokoloch
Comment[sl]=Podatki o razpoložljivih protokolih
Comment[sr]=Подаци о доступним протоколима
Comment[sr@ijekavian]=Подаци о доступним протоколима
Comment[sr@ijekavianlatin]=Podaci o dostupnim protokolima
Comment[sr@latin]=Podaci o dostupnim protokolima
Comment[sv]=Information om tillgängliga protokoll
Comment[ta]=ிி ி ி
Comment[te]=ి ి ిి
Comment[tg]=Иттилоот оиди протоколҳои дастрасшуда
Comment[th]=
Comment[tr]=Kullanılabilir protokoller hakkında bilgiler
Comment[uk]=Інформація про доступні протоколи
Comment[uz]=Mavjud protokollar haqida maʼlumot
Comment[uz@cyrillic]=Мавжуд протоколлар ҳақида маълумот
Comment[wa]=Infôrmåcions so les protocoles di disponibes
Comment[x-test]=xxInformation about available protocolsxx
Comment[zh_CN]=
Comment[zh_TW]=
X-DocPath=kinfocenter/protocols/index.html
Exec=kcmshell4 ioslaveinfo
Icon=help-about
X-KDE-Keywords=Protocol,IO slaves,Slaves,Network,Information,Timeout
X-KDE-Keywords[be]=Пратакол,Сетка,Звесткі,Тэрмін чакання,Protocol,IO slaves,Slaves,Network,Information,Timeout
X-KDE-Keywords[bg]=Keywords=информация, система, системна, протокол, протоколи, наличен, поддържан, Protocol, IO slaves, Slaves, Network, Information, Timeout
X-KDE-Keywords[ca]=Protocol,esclaus IO,Esclaus,Xarxa,Informació,Temps d'expiració
X-KDE-Keywords[cs]=Protokol,Vstupně/výstupní moduly,Síť,Informace,Časový limit
X-KDE-Keywords[csb]=Protokół,procedurë wé/wi,wëkonëjący dzéjaniô wé/wi,Séc,wëdowiédzô,Limit czasu
X-KDE-Keywords[cy]=Protocol,Gweision IO,Gweision,Rhwydwaith,Gwybodaeth,Goramser
X-KDE-Keywords[da]=Protokol,IO-slaver,Slaver,Netværk,Information,Tid,Udløb,Timeout
X-KDE-Keywords[de]=Protokolle,Information,Ein/Ausgabe,Ein-/Ausgabemodule,IO-Slaves,Netzwerk,Zeitlimit,Timeout
X-KDE-Keywords[el]=Πρωτόκολλο,slaves ΕΕ,Slaves,Δίκτυο,Πληροφορίες,Χρονικό όριο
X-KDE-Keywords[eo]=Protokolo,Enel-sklavoj,sklavoj,reto,informo,tempolimo
X-KDE-Keywords[es]=Protocolo,Slaves de E/S,Slaves,Red,Información,Tiempo límite
X-KDE-Keywords[et]=protokoll,IO-moodulid,moodulid,võrk,info,taimaut,aegumine
X-KDE-Keywords[eu]=Protocol,IO morroiak,Morroiak,Sarea,Informazioa,Denbora-muga
X-KDE-Keywords[fa]=قرارداد، IO slaves، Slaves، شبکه، اطلاعات، اتمام وقت
X-KDE-Keywords[fi]=Protokolla,Yhteyskäytäntö,KIO,KIO-palvelu,Verkko,Aikavalvonta,aikakatkaisu
X-KDE-Keywords[fr]=protocole,modules,entrées/sorties,réseau,informations,délai
X-KDE-Keywords[fy]=protocol,IO slaves,slaves,network,ynformaasje,timeout,netwurk,tiidslimyt
X-KDE-Keywords[gl]=Protocolo,escravos IO,Escravos,Rede,Información,Tempo de agarda,Timeout
X-KDE-Keywords[he]=פרוטוקול,רשת,מידע,זמן מוקצב, Protocol,IO slaves,Slaves,Network,Information,Timeout
X-KDE-Keywords[hr]=Protocol,IO slaves,Slaves,Network,Information,Timeout,Protokol,IO podčinjeni,Podčinjeni,Mreža,Podaci,Istek
X-KDE-Keywords[hu]=protokoll,KDE protokollok,protokoll,hálózat,információ,időtúllépés
X-KDE-Keywords[is]=Samskiptareglur,IO þrælar,þrælar,staðarnet,net,upplýsingar,útrunninn tími
X-KDE-Keywords[it]=protocollo,IO slave,slave,rete,informazioni,tempo massimo
X-KDE-Keywords[ja]=,IO,,,,,
X-KDE-Keywords[km]= IO slaves Slaves
X-KDE-Keywords[ko]=, IO ,,,
X-KDE-Keywords[lt]=Protocol,IO slaves,Slaves,Network,Information,Timeout,protokolas,tinklas,informacija,laiko pasibaigimas
X-KDE-Keywords[lv]=Protokols,IO vergi,Vergi,Tīkls,Informācija,Noildze
X-KDE-Keywords[mk]=Protocol,IO slaves,Slaves,Network,Information,Timeout,Протокол,Мрежа,Информации,Истек на време
X-KDE-Keywords[nb]=Protokoll,IO-slaver,Slaver,Nettverk,Informasjon,Ventetid
X-KDE-Keywords[nds]=Protokoll,In-/Utgaavdeensten,IO,Deensten,Nettwark,Informatschoon,Timeout,Tietgrenz
X-KDE-Keywords[ne]=, /ि , , , ,
X-KDE-Keywords[nl]=protocol,IO slaves,slaves,network,informatie,timeout,netwerk,tijdslimiet
X-KDE-Keywords[nn]=protokoll,IU-slavar,slavar,nettverk,informasjon,tidsgrense
X-KDE-Keywords[pa]=Protocol,IO slaves,Slaves,Network,Information,Timeout,,
X-KDE-Keywords[pl]=Protokół,procedury we/wy,wykonujący operacje we/wy,Sieć,Informacje,Limit czasu
X-KDE-Keywords[pt]=Protocolo,IO slaves,Slaves,Rede,Informações,Timeout,Tempo-limite
X-KDE-Keywords[pt_BR]=Protocolos,IO Slaves,Slaves,Rede,Informações,Timeout
X-KDE-Keywords[ro]=samba,dispozitive I/O,sclavi,reţea,informaţii
X-KDE-Keywords[se]=protokolla,SO-slávat,slávat,fierbmi,diehtu,dieđut,áigemearri
X-KDE-Keywords[sl]=protokol,podrejeni V/I,podrejeni,omrežje,podatki,zakasnitev
X-KDE-Keywords[sr]=Protocol,IO slaves,Slaves,Network,Information,Timeout,протокол,мрежа,информације,подаци,прековреме,У/И-захват
X-KDE-Keywords[sr@latin]=Protocol,IO slaves,Slaves,Network,Information,Timeout,protokol,mreža,informacije,podaci,prekovreme,U/I-zahvat
X-KDE-Keywords[sv]=Protokoll,I/O-slavar,Slavar,Nätverk,Information,Timeout,Tidsgräns
X-KDE-Keywords[ta]=ி,IO ,,ி,, ி
X-KDE-Keywords[th]=,IO slaves,Slaves,,,
X-KDE-Keywords[tr]=protokol,G/Ç aracısı,aracı,Ağ,Bilgi,zaman aşımı
X-KDE-Keywords[uk]=протокол,підлеглі В/В,підлеглі,мережа,інформація,тайм-аут
X-KDE-Keywords[uz]=Протокол,КЧ-слейвлар,Слейвлар,Тармоқ,Маълумот,Таймаут
X-KDE-Keywords[vi]=Giao thc,Đày t Vào ra (VR),Đày t,mng,Thông tin,Thi hn
X-KDE-Keywords[wa]=Protocole,vårlets d' I/R,vårlets,ioslave,rantoele,infôrmåcion,tårdjaedje
X-KDE-Keywords[x-test]=xxProtocol,IO slaves,Slaves,Network,Information,Timeoutxx
X-KDE-Keywords[xh]=Imithetho elandelwayo,IO izicaka,Izicaka,Umsebenzi womtya,Ulwazi, Ixesha lokuphuma
X-KDE-Keywords[zh_CN]=Protocol,IO slaves,Slaves,Network,Information,Timeout,,,,
X-KDE-Keywords[zh_TW]=Protocol,IO slaves,Slaves,Network,Information,Timeout,,,,
Name=Protocols
Name[af]=Protokolle
Name[ar]=البروتوكولات
Name[as]= িি
Name[be]=Пратаколы
Name[be@latin]=Pratakoły
Name[bg]=Протоколи
Name[bn]=
Name[bn_IN]=
Name[br]=Komenadoù
Name[ca]=Protocols
Name[ca@valencia]=Protocols
Name[cs]=Protokoly
Name[csb]=Protokòłë
Name[cy]=Protocolau
Name[da]=Protokoller
Name[de]=Ein-/Ausgabemodule
Name[el]=Πρωτόκολλα
Name[en_GB]=Protocols
Name[eo]=Protokoloj
Name[es]=Protocolos
Name[et]=IO-moodulid
Name[eu]=Protokoloak
Name[fa]=قراردادها
Name[fi]=Yhteyskäytännöt
Name[fr]=Protocoles
Name[fy]=Protokollen
Name[ga]=Prótacail
Name[gl]=Protocolos
Name[gu]=
Name[he]=פרוטוקולים
Name[hi]=
Name[hne]=
Name[hr]=Protokoli
Name[hsb]=Protokole
Name[hu]=Protokollok
Name[id]=Protokol
Name[is]=Samskiptareglur
Name[it]=Protocolli
Name[ja]=
Name[ka]=
Name[kk]=Протоколдар
Name[km]=
Name[kn]= ()
Name[ko]=
Name[ku]=Protokol
Name[lt]=Protokolai
Name[lv]=Protokoli
Name[mai]=
Name[mk]=Протоколи
Name[ml]=
Name[mr]=ि
Name[ms]=Protokol
Name[nb]=Protokoller
Name[nds]=Protokollen
Name[ne]=
Name[nl]=Protocollen
Name[nn]=Protokollar
Name[oc]=Protocòls
Name[or]=ି
Name[pa]=
Name[pl]=Protokoły
Name[pt]=Protocolos
Name[pt_BR]=Protocolos
Name[ro]=Protocoale
Name[ru]=Протоколы
Name[se]=Protokollat
Name[si]=
Name[sk]=Protokoly
Name[sl]=Protokoli
Name[sr]=Протоколи
Name[sr@ijekavian]=Протоколи
Name[sr@ijekavianlatin]=Protokoli
Name[sr@latin]=Protokoli
Name[sv]=Protokoll
Name[ta]=ி
Name[te]=ి
Name[tg]=Протоколҳо
Name[th]=
Name[tr]=Protokoller
Name[uk]=Протоколи
Name[uz]=Protokollar
Name[uz@cyrillic]=Протоколлар
Name[vi]=Giao thc
Name[wa]=Protocoles
Name[xh]=Umthetho olandelwayo
Name[x-test]=xxProtocolsxx
Name[zh_CN]=
Name[zh_TW]=
Terminal=false
Type=Service
X-KDE-ServiceTypes=KCModule
X-KDE-FactoryName=ioslaveinfo
X-KDE-Library=kcm_ioslaveinfo
X-KDE-ParentApp=kinfocenter
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,167 +0,0 @@
/*
* kcmioslaveinfo.cpp
*
* Copyright 2001 Alexander Neundorf <neundorf@kde.org>
* Copyright 2001 George Staikos <staikos@kde.org>
* Copyright 2008 Pino Toscano <pino@kde.org>
*
* Requires the Qt widget libraries, available at no cost at
* http://www.troll.no/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <QLabel>
#include <QLayout>
#include <QComboBox>
#include <kconfig.h>
#include <kdebug.h>
#include <kdialog.h>
#include <kglobal.h>
#include <kiconloader.h>
#include <klocale.h>
#include <kprotocolinfo.h>
#include <kstandarddirs.h>
#include <ktoolinvocation.h>
#include <kpluginfactory.h>
#include <kpluginloader.h>
#include <khtml_part.h>
#include <khtmlview.h>
#include <dom/dom_node.h>
#include <dom/html_element.h>
#include "kcmioslaveinfo.h"
K_PLUGIN_FACTORY(SlaveFactory, registerPlugin<KCMIOSlaveInfo>();)
K_EXPORT_PLUGIN( SlaveFactory("kcmioslaveinfo"))
KCMIOSlaveInfo::KCMIOSlaveInfo(QWidget *parent, const QVariantList &) :
KCModule(SlaveFactory::componentData(), parent) {
QVBoxLayout *layout=new QVBoxLayout(this);
layout->setMargin(0);
setQuickHelp(i18n("Overview of the installed ioslaves and supported protocols."));
setButtons(KCModule::Help);
QHBoxLayout* selectionLayout = new QHBoxLayout();
ioSlaves = new QComboBox(this);
QLabel* ioSlavesLabel = new QLabel(i18n("Select the protocol documentation to display:"));
ioSlavesLabel->setBuddy(ioSlaves);
connect(ioSlaves, SIGNAL(currentIndexChanged(const QString&) ), SLOT( showInfo(const QString&) ));
selectionLayout->addWidget(ioSlavesLabel);
selectionLayout->addWidget(ioSlaves);
layout->addLayout(selectionLayout);
m_info = new KHTMLPart(this, this);
m_info->setJScriptEnabled(false);
m_info->setJavaEnabled(false);
m_info->setMetaRefreshEnabled(false);
m_info->setPluginsEnabled(false);
connect(m_info, SIGNAL(completed()), this, SLOT(loadingCompleted()));
connect(m_info->browserExtension(), SIGNAL(openUrlRequestDelayed(const KUrl&, const KParts::OpenUrlArguments&, const KParts::BrowserArguments&)),
this, SLOT(openUrl(const KUrl&, const KParts::OpenUrlArguments&, const KParts::BrowserArguments&)));
layout->addWidget(m_info->view());
QStringList protocols=KProtocolInfo::protocols();
protocols.sort();
foreach(const QString &proto, protocols) {
//m_ioslavesLb->addItem(new QListWidgetItem ( SmallIcon( KProtocolInfo::icon( proto )), proto, m_ioslavesLb));
ioSlaves->addItem(SmallIcon( KProtocolInfo::icon( proto )), proto);
};
//m_ioslavesLb->sort();
//m_ioslavesLb->setSelected(0, true);
KAboutData *about = new KAboutData(I18N_NOOP("kcmioslaveinfo"), 0,
ki18n("KDE Panel System Information Control Module"),
0, KLocalizedString(), KAboutData::License_GPL,
ki18n("(c) 2001 - 2002 Alexander Neundorf"));
about->addAuthor(ki18n("Alexander Neundorf"), KLocalizedString(), "neundorf@kde.org");
about->addAuthor(ki18n("George Staikos"), KLocalizedString(), "staikos@kde.org");
setAboutData(about);
}
/**
* Big Hack to only select content of the help documentation
* The HTML content is cut by removing the all DIV blocks but the class="article" one
*/
void KCMIOSlaveInfo::selectHelpBody() {
DOM::Document document = m_info->document();
m_info->view()->setUpdatesEnabled(true);
if (document.isNull()) {
return;
}
const DOM::NodeList bodylist = document.getElementsByTagName("body");
if (bodylist.length() != 1) {
return;
}
DOM::Node body = bodylist.item(0);
const DOM::NodeList bodyChildren = body.childNodes();
for (unsigned long i = 0; i < bodyChildren.length(); ++i) {
const DOM::Node child = bodyChildren.item(i);
if ((child.nodeType() != DOM::Node::ELEMENT_NODE)
|| (child.nodeName().lower() != DOM::DOMString("div"))) {
continue;
}
const DOM::HTMLElement el = child;
if (el.className() == DOM::DOMString("article")) {
continue;
}
--i;
body.removeChild(child);
}
}
void KCMIOSlaveInfo::showInfo(const QString& protocol) {
//get X-DocPath entry "foo/index.html" from .protocol file
QString docPath=KProtocolInfo::docPath (protocol);
QString file = docPath;
//check for "foo/index.docbook" to get rid of the error dialog from KShortUriFilter
//the error message is displayed in the dialog window here
file.replace ( QString(".html"), QString(".docbook") );
file = KGlobal::locale()->langLookup(file);
if (!file.isEmpty()) {
m_info->view()->setUpdatesEnabled(false);
m_info->openUrl(KUrl(QString( "help:/%1" ).arg(docPath)));
return;
}
m_info->begin();
m_info->write(i18n("<html><body><p style='text-align:center'>No documentation available for the '%1:/' protocol.</p></body></html>", protocol));
m_info->end();
}
void KCMIOSlaveInfo::loadingCompleted() {
selectHelpBody();
}
void KCMIOSlaveInfo::openUrl(const KUrl& url, const KParts::OpenUrlArguments&, const KParts::BrowserArguments&) {
if (url.protocol() == QLatin1String("mailto")) {
KToolInvocation::invokeMailer(url);
} else {
KToolInvocation::invokeBrowser(url.url());
}
}
#include "kcmioslaveinfo.moc"

View file

@ -1,52 +0,0 @@
/*
* kcmioslaveinfo.h
*
* Copyright 2001 Alexander Neundorf <alexander.neundorf@rz.tu-ilmenau.de>
* Copyright 2001 George Staikos <staikos@kde.org>
*
* Requires the Qt widget libraries, available at no cost at
* http://www.troll.no/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef kcmioslaveinfo_h_included
#define kcmioslaveinfo_h_included
#include <kaboutdata.h>
#include <kcmodule.h>
class KHTMLPart;
class KCMIOSlaveInfo : public KCModule {
Q_OBJECT
public:
explicit KCMIOSlaveInfo(QWidget *parent = 0L, const QVariantList &lits=QVariantList());
protected:
QComboBox* ioSlaves;
KHTMLPart *m_info;
protected slots:
void showInfo(const QString& protocol);
void loadingCompleted();
void openUrl(const KUrl& url, const KParts::OpenUrlArguments&, const KParts::BrowserArguments&);
private:
void selectHelpBody();
};
#endif

View file

@ -1,184 +0,0 @@
[Desktop Entry]
Exec=kinfocenter -caption "%c" %i
Icon=hwinfo
Type=Application
X-DocPath=kinfocenter/index.html
X-KDE-StartupNotify=true
OnlyShowIn=KDE;
Name=KInfoCenter
Name[af]=Inligting Sentrum
Name[ar]=مركز معلومات كدي
Name[as]=KInfoCenter
Name[be]=KInfoCenter
Name[be@latin]=KInfoCenter
Name[bg]=KInfoCenter
Name[bn]=--
Name[bn_IN]=KInfoCenter
Name[br]=KInfoCenter
Name[ca]=KInfoCenter
Name[ca@valencia]=KInfoCenter
Name[cs]=KInfoCenter
Name[csb]=Centróm wëdowiédzë
Name[da]=KInfoCenter
Name[de]=Infozentrum
Name[el]=Κέντρο πληροφοριών
Name[en_GB]=KInfoCenter
Name[eo]=KInfoCenter
Name[es]=KInfoCenter
Name[et]=KDE infokeskus
Name[eu]=KInfoCenter
Name[fi]=KInfoCenter
Name[fr]=KInfoCenter
Name[fy]=KInfoCenter
Name[ga]=KInfoCenter
Name[gl]=KInfoCenter
Name[gu]=KInfoCenter
Name[he]=KInfoCenter
Name[hi]=-
Name[hne]=-
Name[hr]=KInfoCenter
Name[hsb]=KInfoCenter
Name[hu]=KInfoCenter
Name[id]=KInfoCenter
Name[is]=KInfoCenter
Name[it]=KInfoCenter
Name[ja]=KDE
Name[ka]=KInfoCenter
Name[kk]=KInfoCenter
Name[km]=KInfoCenter
Name[kn]=
Name[ko]=KInfoCenter
Name[ku]=Navenda Agahiyên KDE'yê
Name[lt]=KInfoCenter
Name[lv]=KInfoCenter
Name[mai]=-
Name[mk]=КИнфоцентар
Name[ml]=
Name[mr]=
Name[ms]=KInfoCenter
Name[nb]=KInfoCenter
Name[nds]=KDE-Infozentrum
Name[ne]=
Name[nl]=KInfoCenter
Name[nn]=KInfoCenter
Name[oc]=KInfoCenter
Name[or]=KInfoCenter
Name[pa]=-
Name[pl]=Centrum informacyjne
Name[pt]=KInfoCenter
Name[pt_BR]=KInfoCenter
Name[ro]=Centrul de informații KDE
Name[ru]=KInfoCenter
Name[se]=KInfoCenter
Name[si]=KInfoCenter
Name[sk]=KInfoCenter
Name[sl]=KInfoCenter
Name[sr]=Кинфоцентар
Name[sr@ijekavian]=Кинфоцентар
Name[sr@ijekavianlatin]=Kinfocentar
Name[sr@latin]=Kinfocentar
Name[sv]=Informationscentralen
Name[ta]=
Name[te]=
Name[tg]=KInfoCenter
Name[th]= K
Name[tr]=KDE Bilgi Merkezi
Name[uk]=KInfoCenter
Name[uz]=Maʼlumot markazi
Name[uz@cyrillic]=Маълумот маркази
Name[vi]=Trung tâm Thông tin KDE
Name[wa]=Cinte d' infôrmåcions
Name[x-test]=xxKInfoCenterxx
Name[zh_CN]=KInfoCenter
Name[zh_TW]=KInfoCenter
GenericName=Info Center
GenericName[af]=Inligting Sentrum
GenericName[ar]=مركز المعلومات
GenericName[as]=
GenericName[be]=Цэнтр інфармацыі
GenericName[be@latin]=Infarmacyjny centar
GenericName[bg]=Информационен център
GenericName[bn]=
GenericName[bn_IN]=
GenericName[br]=Kreizenn Titouroù
GenericName[ca]=Centre d'informació
GenericName[ca@valencia]=Centre d'informació
GenericName[cs]=Informační centrum
GenericName[csb]=Centróm wëdowiédzë
GenericName[cy]=Canolfan Gwybodaeth
GenericName[da]=Infocenter
GenericName[de]=Infozentrum
GenericName[el]=Κέντρο πληροφοριών
GenericName[en_GB]=Info Centre
GenericName[eo]=Informocentro
GenericName[es]=Centro de información
GenericName[et]=Infokeskus
GenericName[eu]=Info gunea
GenericName[fa]=مرکز اطلاعات
GenericName[fi]=Infokeskus
GenericName[fr]=Centre d'informations
GenericName[fy]=Ynformaasjesintrum
GenericName[ga]=Lárionad Eolais
GenericName[gl]=Centro de información
GenericName[gu]=િ
GenericName[he]=מרכז המידע
GenericName[hi]=
GenericName[hne]=
GenericName[hr]=Info središte
GenericName[hsb]=Centralna informacija
GenericName[hu]=Rendszerinformáció
GenericName[id]=Pusat Info
GenericName[is]=Upplýsingaborð
GenericName[it]=Centro informazioni
GenericName[ja]=
GenericName[ka]=
GenericName[kk]=Мәлімет орталығы
GenericName[km]=
GenericName[kn]=ಿಿ
GenericName[ko]=
GenericName[ku]=Navenda Agahiyan
GenericName[lt]=Info centras
GenericName[lv]=Informācijas centrs
GenericName[mai]=
GenericName[mk]=Информативен центар
GenericName[ml]=ി
GenericName[mr]=ि
GenericName[ms]=Pusat Maklumat
GenericName[nb]=KDEs informasjonssenter
GenericName[nds]=Infozentrum
GenericName[ne]=
GenericName[nl]=Informatiecentrum
GenericName[nn]=KDEs informasjonssenter
GenericName[or]=
GenericName[pa]=
GenericName[pl]=Centrum informacyjne
GenericName[pt]=Centro de Informações
GenericName[pt_BR]=Centro de Informações
GenericName[ro]=Centru de informații
GenericName[ru]=Информация о системе
GenericName[se]=Diehtoguovddáš
GenericName[si]=
GenericName[sk]=Informačné centrum
GenericName[sl]=Informacijsko središče
GenericName[sr]=Информациони центар
GenericName[sr@ijekavian]=Информациони центар
GenericName[sr@ijekavianlatin]=Informacioni centar
GenericName[sr@latin]=Informacioni centar
GenericName[sv]=Informationscentralen
GenericName[ta]=
GenericName[te]=
GenericName[tg]=Маркази иттилооти система
GenericName[th]=
GenericName[tr]=Bilgi Merkezi
GenericName[uk]=Центр інформації
GenericName[uz]=Maʼlumot markazi
GenericName[uz@cyrillic]=Маълумот маркази
GenericName[vi]=Trung tâm Thông tin
GenericName[wa]=Cinte d' infôrmåcions di KDE
GenericName[x-test]=xxInfo Centerxx
GenericName[zh_CN]=
GenericName[zh_TW]=
X-DBUS-StartupType=Unique
Categories=Qt;KDE;System;

View file

@ -1,8 +0,0 @@
<!DOCTYPE kpartgui>
<kpartgui name="kinfocenter" version="2">
<MenuBar>
<Menu name="help">
<Action name="help_about_module" append="about_merge"/>
</Menu>
</MenuBar>
</kpartgui>

View file

@ -1,118 +0,0 @@
/*
Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* Howto debug:
* start "kinfocenter --nofork" in a debugger.
*
* If you want to test with command line arguments you need
* -after you have started kinfocenter in the debugger-
* open another shell and run kinfocenter with the desired
* command line arguments.
*
* The command line arguments will be passed to the version of
* kinfocenter in the debugger via DCOP and will cause a call
* to newInstance().
*/
#include "main.h"
#include "toplevel.h"
#include "global.h"
#include <kcmdlineargs.h>
#include <kaboutdata.h>
#include <kglobalsettings.h>
#include <kconfig.h>
#include <kconfiggroup.h>
#include <kdebug.h>
#include <kglobal.h>
#include <klocale.h>
#include <kapplication.h>
#include <QByteArray>
#include <QDesktopWidget>
#include "main.moc"
KInfoCenterApp::KInfoCenterApp() :
KUniqueApplication() {
toplevel = new TopLevel();
QRect desk = KGlobalSettings::desktopGeometry(toplevel);
KConfigGroup config(KGlobal::config(), "General");
// Initial size is:
// never bigger than workspace as reported by desk
// 940x700 on 96 dpi, 12 pt font
// 800x600 on 72 dpi, 12 pt font
// --> 368 + 6 x dpiX, 312 + 4 x dpiY
// Adjusted for font size
int fontSize = toplevel->fontInfo().pointSize();
if (fontSize == 0)
fontSize = (toplevel->fontInfo().pixelSize() * 72) / toplevel->logicalDpiX();
int x = config.readEntry(QString::fromLatin1("InitialWidth %1").arg(desk.width()), qMin(desk.width(), 368 + (6*toplevel->logicalDpiX()*fontSize)/12) );
int y = config.readEntry(QString::fromLatin1("InitialHeight %1").arg(desk.height()), qMin(desk.height(), 312 + (4*toplevel->logicalDpiX()*fontSize)/12) );
toplevel->resize(x, y);
toplevel->show();
}
KInfoCenterApp::~KInfoCenterApp() {
if (toplevel!=NULL) {
KConfigGroup config(KGlobal::config(), "General");
QDesktopWidget *desk = QApplication::desktop();
config.writeEntry(QString::fromLatin1("InitialWidth %1").arg(desk->width()), toplevel->width());
config.writeEntry(QString::fromLatin1("InitialHeight %1").arg(desk->height()), toplevel->height());
config.sync();
}
}
extern "C"KDE_EXPORT int kdemain(int argc, char *argv[])
{
KLocale::setMainCatalog("kinfocenter");
KAboutData aboutKInfoCenter( "kinfocenter", 0, ki18n("KDE Info Center"),
KDE_VERSION_STRING, ki18n("The KDE Info Center"), KAboutData::License_GPL,
ki18n("(c) 1998-2004, The KDE Control Center Developers"));
QByteArray argv_0 = argv[0];
KAboutData *aboutData = &aboutKInfoCenter;
aboutData->addAuthor(ki18n("Nicolas Ternisien"), ki18n("Current Maintainer"), "nicolas.ternisien@gmail.com");
aboutData->addAuthor(ki18n("Helge Deller"), ki18n("Previous Maintainer"), "deller@kde.org");
aboutData->addAuthor(ki18n("Matthias Hoelzer-Kluepfel"),KLocalizedString(), "hoelzer@kde.org");
aboutData->addAuthor(ki18n("Matthias Elter"),KLocalizedString(), "elter@kde.org");
aboutData->addAuthor(ki18n("Matthias Ettrich"),KLocalizedString(), "ettrich@kde.org");
aboutData->addAuthor(ki18n("Waldo Bastian"),KLocalizedString(), "bastian@kde.org");
KCmdLineArgs::init( argc, argv, aboutData );
KUniqueApplication::addCmdLineOptions();
KCGlobal::init();
if (!KInfoCenterApp::start()) {
kDebug() << "kinfocenter is already running!\n";
return 0;
}
KInfoCenterApp app;
return app.exec();
}

View file

@ -1,41 +0,0 @@
/*
Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
Copyright (c) 2000 Matthias Elter <elter@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __main_h__
#define __main_h__
#include <kuniqueapplication.h>
class TopLevel;
class KInfoCenterApp : public KUniqueApplication {
Q_OBJECT
public:
KInfoCenterApp();
virtual ~KInfoCenterApp();
private:
TopLevel *toplevel;
};
#endif

View file

@ -1,14 +0,0 @@
########### next target ###############
set(KCM_MEMORY_PART_SRCS memory.cpp chartWidget.cpp totalMemoryChart.cpp physicalMemoryChart.cpp swapMemoryChart.cpp )
kde4_add_plugin(kcm_memory ${KCM_MEMORY_PART_SRCS})
target_link_libraries(kcm_memory ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY})
install(TARGETS kcm_memory DESTINATION ${PLUGIN_INSTALL_DIR})
########### install files ###############
install( FILES kcm_memory.desktop DESTINATION ${SERVICES_INSTALL_DIR})

View file

@ -1,2 +0,0 @@
#! /usr/bin/env bash
$XGETTEXT *.cpp -o $podir/kcm_memory.pot

View file

@ -1,48 +0,0 @@
#ifndef SETTINGS_H_
#define SETTINGS_H_
#include <QColor>
#define COLOR_USED_MEMORY QColor(0x83,0xDD, 0xF5)
//start : 0x00, 0x71, 0xBC
//end : 0x83,0xDD, 0xF5
//#define COLOR_USED_MEMORY QColor(236,91,47)
#define COLOR_USED_SWAP QColor(255,134,64)
//#define COLOR_FREE_MEMORY QColor(0x00, 0x71, 0xBC)
#define COLOR_FREE_MEMORY QColor(216, 231, 227)
/* better to use quint64, because some 32bit-machines have more total
memory (with swap) than just the 4GB which fits into a 32bit-long */
typedef quint64 t_memsize;
enum { /* entries for memoryInfos[] */
TOTAL_MEM = 0, /* total physical memory (without swaps) */
FREE_MEM, /* total free physical memory (without swaps) */
#if !defined(__svr4__) || !defined(sun)
#if !defined(__NetBSD__) && !defined(__OpenBSD__)
SHARED_MEM, /* shared memory size */
BUFFER_MEM, /* buffered memory size */
#else
ACTIVE_MEM,
INACTIVE_MEM,
#endif
#endif
CACHED_MEM, /* cache memory size (located in ram) */
SWAP_MEM, /* total size of all swap-partitions */
FREESWAP_MEM, /* free memory in swap-partitions */
MEM_LAST_ENTRY
};
#define MEMORY(x) ((t_memsize) (x)) /* it's easier... */
#define NO_MEMORY_INFO MEMORY(-1) /* DO NOT CHANGE */
#define ZERO_IF_NO_INFO(value) ((value) != NO_MEMORY_INFO ? (value) : 0)
#define SPACING 16
#endif /*SETTINGS_H_*/

View file

@ -1,152 +0,0 @@
/***************************************************************************
* KT list view item task implementation. *
* -------------------------------------------------------------------- *
* Copyright (C) 1999, Gary Meyer <gary@meyer.net> *
* -------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "chartWidget.h"
#include <QVBoxLayout>
#include <QLinearGradient>
#include <QLabel>
#include <QPainter>
#include <QPen>
#include <QColor>
#include <klocale.h>
#include <kdebug.h>
#include <kglobal.h>
Chart::Chart(QWidget* parent) :
QWidget(parent) {
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);
memoryInfos = NULL;
freeMemoryLabel = NULL;
}
void Chart::setMemoryInfos(t_memsize* memoryInfos) {
this->memoryInfos = memoryInfos;
}
void Chart::setFreeMemoryLabel(QLabel* freeMemoryLabel) {
this->freeMemoryLabel = freeMemoryLabel;
}
/* Graphical Memory Display */
bool Chart::drawChart(t_memsize total, const QList<t_memsize>& used, const QList<QColor>& colors, const QList<QString>& texts) {
QPainter paint(this);
QPen pen(QColor(0, 0, 0));
paint.setPen(pen);
if (total == NO_MEMORY_INFO) {
paint.fillRect(1, 1, width() - 2, height() - 2, QBrush(QColor(128, 128, 128)));
paint.setPen(pen);
paint.drawRect(rect());
freeMemoryLabel->setText(i18n("Not available."));
return false;
}
int startline = height()-2;
int percent, localheight;
t_memsize last_used = 0;
for (int count = used.size()-1; count >=0; --count) {
last_used = used.at(count);
QColor color = colors.at(count);
QString text = texts.at(count);
percent = (((qint64)last_used) * 100) / total;
if (count)
localheight = ((height()-2) * percent) / 100;
else
localheight = startline;
//kDebug() << "Count : " << count << " Percent : " << percent << "%" << " Localheight:" << localheight << endl;
if (localheight>0) {
QLinearGradient gradient(QPointF(1, startline), QPointF(width()-2, -localheight));
QColor endProgressColor(0xFF, 0xFF, 0xFF, 100);
gradient.setColorAt(0, color);
gradient.setColorAt(1, endProgressColor);
paint.fillRect(1, startline, width()-2, -localheight, gradient);
//paint.fillRect(1, startline, width()-2, -localheight, color);
if (localheight >= SPACING) {
paint.drawText(0, startline-localheight, width(), localheight, Qt::AlignCenter | Qt::TextWordWrap, QString("%1 %2%").arg(text).arg(percent));
}
}
startline -= localheight;
}
// draw surrounding box
QRect r = rect();
qDrawShadePanel(&paint, r.x(), r.y(), r.width(), r.height(), palette(), true, 1);
freeMemoryLabel->setText(i18n("%1 free", formattedUnit(last_used)));
return true;
}
QString Chart::formattedUnit(t_memsize value) {
if (value > (1024 * 1024))
if (value > (1024 * 1024 * 1024))
return i18n("%1 GiB", KGlobal::locale()->formatNumber(value / (1024 * 1024 * 1024.0), 2));
else
return i18n("%1 MiB", KGlobal::locale()->formatNumber(value / (1024 * 1024.0), 2));
else
return i18n("%1 KiB", KGlobal::locale()->formatNumber(value / 1024.0, 2));
}
ChartWidget::ChartWidget(const QString& title, const QString& hint, Chart* chartImplementation, QWidget* parent) :
QWidget(parent) {
QVBoxLayout* mainLayout = new QVBoxLayout(this);
titleLabel = new QLabel("<strong>" + title + "</strong>", this);
titleLabel->setAlignment(Qt::AlignHCenter);
titleLabel->setToolTip(hint);
mainLayout->addWidget(titleLabel);
chart = chartImplementation;
chart->setToolTip(hint);
mainLayout->addWidget(chart);
freeMemoryLabel = new QLabel("", this);
freeMemoryLabel->setAlignment(Qt::AlignHCenter);
freeMemoryLabel->setToolTip(hint);
mainLayout->addWidget(freeMemoryLabel);
chart->setFreeMemoryLabel(freeMemoryLabel);
}
void ChartWidget::setMemoryInfos(t_memsize* memoryInfos) {
chart->setMemoryInfos(memoryInfos);
}
void ChartWidget::refresh() {
//The update() method will launch paintEvent() automatically
chart->update();
}

View file

@ -1,65 +0,0 @@
/***************************************************************************
* -------------------------------------------------------------------- *
* Copyright (C) 2008, Nicolas Ternisien <nicolas.ternisien@gmail.com> *
* -------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef CHART_WIDGET_H
#define CHART_WIDGET_H
#include <QWidget>
#include <QFrame>
#include <QString>
#include <QColor>
#include <QList>
class QLabel;
class QWidget;
#include "base.h"
class Chart : public QWidget {
public:
Chart(QWidget* parent = NULL);
void setMemoryInfos(t_memsize* memoryInfos);
void setFreeMemoryLabel(QLabel* freeMemoryLabel);
static QString formattedUnit(t_memsize value);
protected:
bool drawChart(t_memsize total, const QList<t_memsize>& used, const QList<QColor>& colors, const QList<QString>& texts);
t_memsize* memoryInfos;
QLabel* freeMemoryLabel;
};
class ChartWidget : public QWidget {
public:
/**
* Initialize the list view item and task.
*/
ChartWidget(const QString& title, const QString& hint, Chart* chartImplementation, QWidget* parent = NULL);
void setMemoryInfos(t_memsize* memoryInfos);
void refresh();
private:
QLabel* titleLabel;
Chart* chart;
QLabel* freeMemoryLabel;
};
#endif // CHART_WIDGET_H

View file

@ -1,250 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 kcm_memory
Icon=memory
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kinfocenter/memory/index.html
X-KDE-Library=kcm_memory
X-KDE-ParentApp=kinfocenter
Name=Memory
Name[af]=Geheue
Name[ar]=الذاكرة
Name[as]=িি
Name[be]=Памяць
Name[be@latin]=Pamiać
Name[bg]=Памет
Name[bn]=ি
Name[bn_IN]=ি
Name[br]=Memor
Name[ca]=Memòria
Name[ca@valencia]=Memòria
Name[cs]=Paměť
Name[csb]=Pamiãc
Name[cy]=Cof
Name[da]=Hukommelse
Name[de]=Speicher
Name[el]=Μνήμη
Name[en_GB]=Memory
Name[eo]=Memoro
Name[es]=Memoria
Name[et]=Mälu
Name[eu]=Memoria
Name[fa]=حافظه
Name[fi]=Muisti
Name[fr]=Mémoire
Name[fy]=Unthâld
Name[ga]=Cuimhne
Name[gl]=Memoria
Name[gu]=
Name[he]=זיכרון
Name[hi]=
Name[hne]=
Name[hr]=Memorija
Name[hsb]=Pomjatk
Name[hu]=Memória
Name[id]=Memori
Name[is]=Minni
Name[it]=Memoria
Name[ja]=
Name[ka]=
Name[kk]=Жады
Name[km]=
Name[kn]=ಿ
Name[ko]=
Name[ku]=Bîr
Name[lt]=Atmintis
Name[lv]=Atmiņa
Name[mai]=ि
Name[mk]=Меморија
Name[ml]=ി
Name[mr]=
Name[ms]=Ingatan
Name[nb]=Minne
Name[nds]=Spieker
Name[ne]=ि
Name[nl]=Geheugen
Name[nn]=Minne
Name[oc]=Memòria
Name[or]=ି
Name[pa]=
Name[pl]=Pamięć
Name[pt]=Memória
Name[pt_BR]=Memória
Name[ro]=Memorie
Name[ru]=Память
Name[se]=Muitu
Name[si]=
Name[sk]=Pamäť
Name[sl]=Pomnilnik
Name[sr]=Меморија
Name[sr@ijekavian]=Меморија
Name[sr@ijekavianlatin]=Memorija
Name[sr@latin]=Memorija
Name[sv]=Minne
Name[ta]=ி
Name[te]=ి
Name[tg]=Хотира
Name[th]=
Name[tr]=Bellek
Name[uk]=Пам'ять
Name[uz]=Xotira
Name[uz@cyrillic]=Хотира
Name[vi]=B nh
Name[wa]=Memwere
Name[xh]=Inkumbulo
Name[x-test]=xxMemoryxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Memory information
Comment[af]=Geheue informasie
Comment[ar]=معلومات الذاكرة
Comment[as]=িি
Comment[be]=Звесткі пра памяць
Comment[be@latin]=Źviestki pra pamiać
Comment[bg]=Информация за системната памет
Comment[bn]=ি
Comment[bn_IN]=ি
Comment[br]=Titouroù diwar-benn ar memor
Comment[ca]=Informació de la memòria
Comment[ca@valencia]=Informació de la memòria
Comment[cs]=Informace o paměti
Comment[csb]=Wëdowiédzô ò pamiãcë
Comment[cy]=Gwybodaeth Cof
Comment[da]=Information om hukommelsen
Comment[de]=Informationen zum Speicher
Comment[el]=Πληροφορίες για τη Μνήμη
Comment[en_GB]=Memory information
Comment[eo]=Informoj pri memoro
Comment[es]=Información sobre la memoria
Comment[et]=Mäluga seotud info
Comment[eu]=Memoriari buruzko informazioa
Comment[fa]=اطلاعات حافظه
Comment[fi]=Tietoja muistista
Comment[fr]=Informations sur la mémoire
Comment[fy]=Unthâld ynformaasje
Comment[ga]=Faisnéis chuimhne
Comment[gl]=Información da memoria
Comment[gu]= િ
Comment[he]=מידע על הזיכרון
Comment[hi]=
Comment[hne]=
Comment[hr]=Podaci o memoriji
Comment[hsb]=Informacija wo pomjatku
Comment[hu]=A memória jellemzői
Comment[id]=Informasi memori
Comment[is]=Upplýsingar um vinnsluminni
Comment[it]=Informazioni sulla memoria
Comment[ja]=
Comment[ka]=
Comment[kk]=Жад мәліметі
Comment[km]=
Comment[kn]=ಿ ಿಿ
Comment[ko]=
Comment[ku]=Agahiya Bîrê
Comment[lt]=Atminties informacija
Comment[lv]=Atmiņas informācija
Comment[mai]=
Comment[mk]=Информации за меморијата
Comment[ml]=ിി ി
Comment[mr]= ि
Comment[ms]=Maklumat ingatan
Comment[nb]=Minneinformasjon
Comment[nds]=Informatschoon över den Spieker
Comment[ne]=ि
Comment[nl]=Geheugeninformatie
Comment[nn]=Minneinformasjon
Comment[or]=ି
Comment[pa]=
Comment[pl]=Informacje o pamięci
Comment[pt]=Informações sobre a memória
Comment[pt_BR]=Informações sobre memória
Comment[ro]=Informații despre memorie
Comment[ru]=Сведения об использовании памяти
Comment[se]=Muitodiehtu
Comment[si]=
Comment[sk]=Informácie o pamäti
Comment[sl]=Podatki o pomnilniku
Comment[sr]=Подаци о меморији
Comment[sr@ijekavian]=Подаци о меморији
Comment[sr@ijekavianlatin]=Podaci o memoriji
Comment[sr@latin]=Podaci o memoriji
Comment[sv]=Minnesinformation
Comment[ta]=ி
Comment[te]=ి
Comment[tg]=Иттилооти хотира
Comment[th]=
Comment[tr]=Bellek hakkında bilgi
Comment[uk]=Інформація щодо пам'яті
Comment[uz]=Xotira haqida maʼlumot
Comment[uz@cyrillic]=Хотира ҳақида маълумот
Comment[vi]=Thông tin v b nh
Comment[wa]=Infôrmåcion sol memwere
Comment[xh]=Ulwazi lwenkumbulo
Comment[x-test]=xxMemory informationxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information
X-KDE-Keywords[af]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Informasie
X-KDE-Keywords[be]=Памяць,віртуальная памяць,фізічная памяць,падкачка,сістэмная інфармацыя,Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information
X-KDE-Keywords[bg]=Keywords=информация, система, системна, памет, физическа, виртуална, кеш, реална, Memory, RAM, Virtual memory, Physical memory, Shared memory, Swap, System Information
X-KDE-Keywords[br]=memor,RAM,memor c'halloudel,memor fizikel,memor rannet,disloañ,titouroù reizhiad
X-KDE-Keywords[ca]=Memòria,RAM,Memòria virtual,memòria física,memòria compartida,intercanvi,Informació del sistema
X-KDE-Keywords[cs]=Paměť,RAM,Virtuální paměť,Fyzická paměť,Sdílená paměť,Swap,Informace o systému
X-KDE-Keywords[csb]=pamiãc,RAM,wirtualnô pamiãc,fizycznô pamiãc,zbiérnô pamiãc,lopk wëmianë,particëjô wëmianë,wëdowiédzô ò systemie
X-KDE-Keywords[cy]=Cof,RAM,Cof rhith,Cof corfforol,Cof cyfrannol,Swap,Gwybodaeth Cysawd
X-KDE-Keywords[da]=Hukommelse,Ram,Virtuel hukommelse,Fysisk hukommelse,Delt hukommelse,Swap,Systeminformation
X-KDE-Keywords[de]=Speicher,RAM,Virtueller Speicher,Physischer Speicher,Shared Memory,Auslagerung,Swap,Systeminformation
X-KDE-Keywords[el]=Μνήμη,RAM,Εικονική μνήμη,Φυσική μνήμη,Μοιρασμένη μνήμη,Αντιμετάθεση,Πληροφορίες συστήματος
X-KDE-Keywords[eo]=memoro,RAM,virtuala,fizika,komunuza,sistemo,operaciumo,informo
X-KDE-Keywords[es]=Memoria,RAM,Memoria virtual,Memoria física,Memoria compartida,Swap,Intercambio,Información del sistema
X-KDE-Keywords[et]=Mälu,RAM,Virtuaalmälu,Füüsiline mälu,Jagatud mälu,Swap,Saaleala,Süsteemi info
X-KDE-Keywords[eu]=Memoria,RAM,Memoria birtuala,Memoria fisikoa,Partekatutako memoria, Swap,Sistemaren informazioa
X-KDE-Keywords[fa]=حافظه، حافظه با دستیابی تصادفی، حافظۀ مجازی، حافظۀ فیزیکی، حافظۀ مشترک، مبادله کردن، اطلاعات سیستم
X-KDE-Keywords[fi]=Muisti,RAM,Virtuaalimuisti,Fyysinen muisti,Jaettu muisti,Järjestelmätiedot
X-KDE-Keywords[fr]=mémoire,RAM,mémoire virtuelle,mémoire physique,mémoire partagée,swap,partition d'échange,informations système,ram
X-KDE-Keywords[fy]=memory,RAM,virtual memory,physical memory,shared memory,swap,systeemynformaasje,ûnthâld,wikselûnthâld,,virtueel ûnthâld,fysiek ûnthâld,dield ûnthâld,
X-KDE-Keywords[ga]=Cuimhne,RAM,Cuimhne fhíorúil,Cuimhne ábhartha,Comhchuimhne,Cuimhne bhabhtála,Eolas faoin Chóras
X-KDE-Keywords[gl]=Memória,RAM,Memória virtual,Memória física,Memória compartida,Swap,Intercámbio,Información do Sistema
X-KDE-Keywords[he]=זיכרון פנימי,זיכרון וירטואלי,זיכרון משותף,תחלופה,מידע, מערכת,RAM,זיכרון,Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information
X-KDE-Keywords[hr]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,Memorija,Virtualana memorija,Fizička memorija,Dijeljena memorija,Podaci o sustavu
X-KDE-Keywords[hu]=memória,RAM,virtuális memória,fizikai memória,megosztott memória,lapozómemória,lapozó,swap,rendszerinformáció
X-KDE-Keywords[is]=Minni,vinnsluminni,sýndarminni,samnýtt minni,biðminni,diskminni,kerfi,upplýsingar
X-KDE-Keywords[it]=memoria,RAM,memoria virtuale,memoria fisica,memoria condivisa,swap,informazioni sul sistema
X-KDE-Keywords[ja]=,RAM,,,, ,
X-KDE-Keywords[ka]=,RAM, , , , ,
X-KDE-Keywords[km]= RAM
X-KDE-Keywords[ko]=,RAM, , , ,,
X-KDE-Keywords[lt]=Memory,atmintis,RAM,atmintinė,Virtual memory,virtuali atmintis,Physical memory,fizinė atmintis,Shared memory,bendro naudojimo atmintis,Swap,System Information,sisteminė informacija
X-KDE-Keywords[lv]=Atmiņa,RAM,Virtuālā atmiņa,Fiziskā atmiņa,Koplietošanas atmiņa,Svaps,Sistēmas Informācija
X-KDE-Keywords[mk]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,Меморија,Виртуелна меморија,Физичка меморија,Заедничка меморија,Информации за системот
X-KDE-Keywords[nb]=Minne,RAM,Kunstig minne,Fysisk minne,Delt minne,Vekselsminne,Systeminformasjon
X-KDE-Keywords[nds]=Spieker,RAM,Virtuell Spieker,Physikaalsch Spieker,Deelt Spieker,Swap,Utlager-Spieker,utlagern,Systeeminformatschoon
X-KDE-Keywords[ne]=ि, , ि ि, ि, ि, ,
X-KDE-Keywords[nl]=memory,RAM,virtual memory,physical memory,shared memory,swap,systeeminformatie,geheugen,wisselgeheugen,virtueel geheugen,fysiek geheugen,gedeeld geheugen
X-KDE-Keywords[nn]=minne,RAM,virtuelt minne,fysisk minne,delt minne,veksleminne,systeminformasjon
X-KDE-Keywords[pa]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,,ਿ , ,,ਿ ,
X-KDE-Keywords[pl]=pamięć,RAM,pamięć wirtualna,pamięć fizyczna,pamięć współdzielona,plik wymiany,partycja wymiany,informacja o systemie
X-KDE-Keywords[pt]=memória,RAM,memória virtual,memória física,memória partilhada,swap,informações do sistema
X-KDE-Keywords[pt_BR]=Memória,RAM,Memória virtual,Memória física,Memória compartilhada,Swap,Troca,Informações de sistema
X-KDE-Keywords[ro]=memorie,RAM,memorie virtuală,memorie fizică,memorie partajată,swap,informaţii despre sistem
X-KDE-Keywords[se]=muitu,RAM,virtuella muitu,fysálaš muitu,juohkojuvvon muitu,vuorromuitu, vuogádatdiehtu
X-KDE-Keywords[sl]=pomnilnik,RAM,navidezni pomnilnik,fizični pomnilnik,deljeni pomnilnik,izmenjalni prostor,informacije o sistemu
X-KDE-Keywords[sr]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,меморија,виртуелна меморија,физичка меморија,дељена меморија,размена,системске информације,системски подаци
X-KDE-Keywords[sr@latin]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,memorija,virtuelna memorija,fizička memorija,deljena memorija,razmena,sistemske informacije,sistemski podaci
X-KDE-Keywords[sv]=Minne,RAM,Virtuellt minne,Fysiskt minne,Delat minne,Swapp,Systeminformation
X-KDE-Keywords[ta]=ி, RAM, ி ி, ி ி, ி ி, ,
X-KDE-Keywords[th]=,,,,,,
X-KDE-Keywords[tr]=Bellek,RAM,Sanal bellek,Fiziksel bellek,Paylaşılan bellek,Takas,Sistem Hakkında Bilgi
X-KDE-Keywords[uk]=пам'ять,RAM,віртуальна пам'ять,фізична пам'ять,спільна пам'ять,свопінг,swap,інформація,система
X-KDE-Keywords[uz]=Хотира,RAM,Виртуал хотира,Physical memory,Бўлишилган хотира,Своп,Тизим ҳақида маълумот
X-KDE-Keywords[vi]=B nh,RAM,B nh o,B nh vt lý,B nh dùng chung,B nh tráo đi,Thông tin H thng
X-KDE-Keywords[x-test]=xxMemory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Informationxx
X-KDE-Keywords[xh]=Inkumbulo,RAM,Inkumbulo yobume,Inkumbulo yomzimba,Inkumbulo yokwahlulelana,Ukutshintshiselana,Ulwazi lwendlela
X-KDE-Keywords[zh_CN]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,,,,,,
X-KDE-Keywords[zh_TW]=Memory,RAM,Virtual memory,Physical memory,Shared memory,Swap,System Information,,,,,
Categories=Qt;KDE;X-KDE-information;

View file

@ -1,325 +0,0 @@
/*
* memory.cpp
*
* Copyright (C) 2008 Ivo Anjo <knuckles@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "memory.h"
#include <QStringList>
#include <QGroupBox>
#include <QLayout>
#include <QPainter>
#include <QPixmap>
#include <QLabel>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLinearGradient>
#include <QTreeWidget>
#include <kaboutdata.h>
#include <kdialog.h>
#include <kdebug.h>
#include <sys/param.h> /* for BSD */
#include <klocale.h>
#include <kglobal.h>
#include <KPluginFactory>
#include <KPluginLoader>
#include "chartWidget.h"
#include "physicalMemoryChart.h"
#include "totalMemoryChart.h"
#include "swapMemoryChart.h"
/*
all fetchValues()-functions should put either
their results _OR_ the value NO_MEMORY_INFO into memoryInfos[]
*/
static t_memsize memoryInfos[MEM_LAST_ENTRY];
/******************/
/* Implementation */
/******************/
static QLabel *memorySizeLabels[MEM_LAST_ENTRY][2];
K_PLUGIN_FACTORY(KCMMemoryFactory,
registerPlugin<KCMMemory>();
)
K_EXPORT_PLUGIN(KCMMemoryFactory("kcm_memory"))
KCMMemory::KCMMemory(QWidget *parent, const QVariantList &) :
KCModule(KCMMemoryFactory::componentData(), parent) {
KAboutData *about = new KAboutData(I18N_NOOP("kcm_memory"), 0,
ki18n("KDE Panel Memory Information Control Module"),
0, KLocalizedString(), KAboutData::License_GPL,
ki18n("(c) 1998 - 2002 Helge Deller"));
about->addAuthor(ki18n("Helge Deller"), KLocalizedString(), "deller@gmx.de");
setAboutData(about);
QString title, initial_str;
setButtons(Help);
QVBoxLayout *top = new QVBoxLayout(this);
top->setMargin(0);
top->setSpacing(1);
QGroupBox* informationGroup = initializeText();
top->addWidget(informationGroup, 1);
// Now the Graphics
QGroupBox* graphicsGroup = initializeCharts();
top->addWidget(graphicsGroup, 2);
timer = new QTimer(this);
timer->start(100);
connect(timer, SIGNAL(timeout()), this, SLOT(updateDatas()));
updateDatas();
}
KCMMemory::~KCMMemory() {
/* stop the timer */
timer->stop();
}
QString KCMMemory::quickHelp() const {
return i18n("This display shows you the current memory usage of your system."
" The values are updated on a regular basis and give you an"
" overview of the physical and virtual memory being used.");
}
QGroupBox* KCMMemory::initializeText() {
QGroupBox* informationGroup = new QGroupBox(i18n("Memory"));
QHBoxLayout *hbox = new QHBoxLayout(informationGroup);
/* stretch the left side */
hbox->addStretch();
QString title;
//TODO Use the more smart QGridLayout !!!
/* first create the Informationtext-Widget */
QVBoxLayout *vbox = new QVBoxLayout();
hbox->addLayout(vbox);
vbox->setSpacing(0);
for (int i = TOTAL_MEM; i < MEM_LAST_ENTRY; ++i) {
switch (i) {
case TOTAL_MEM:
title = i18n("Total physical memory:");
break;
case FREE_MEM:
title = i18n("Free physical memory:");
break;
#if !defined(__svr4__) || !defined(sun)
#if !defined(__NetBSD__) && !defined(__OpenBSD__)
case SHARED_MEM:
title = i18n("Shared memory:");
break;
case BUFFER_MEM:
title = i18n("Disk buffers:");
break;
#else
case ACTIVE_MEM:
title = i18n("Active memory:");
break;
case INACTIVE_MEM:
title = i18n("Inactive memory:");
break;
#endif
#endif
case CACHED_MEM:
title = i18n("Disk cache:");
break;
case SWAP_MEM:
vbox->addSpacing(SPACING);
title = i18n("Total swap memory:");
break;
case FREESWAP_MEM:
title = i18n("Free swap memory:");
break;
default:
title = "";
break;
};
QLabel* labelWidget = new QLabel(title, this);
labelWidget->setAlignment(Qt::AlignLeft);
vbox->addWidget(labelWidget);
}
vbox->addStretch();
/* then the memory-content-widgets */
for (int j = 0; j < 2; j++) {
vbox = new QVBoxLayout();
hbox->addLayout(vbox);
vbox->setSpacing(0);
for (int i = TOTAL_MEM; i < MEM_LAST_ENTRY; ++i) {
if (i == SWAP_MEM)
vbox->addSpacing(SPACING);
QLabel* labelWidget = new QLabel(this);
labelWidget->setAlignment(Qt::AlignRight);
memorySizeLabels[i][j] = labelWidget;
vbox->addWidget(labelWidget);
}
vbox->addStretch();
}
/* stretch the right side */
hbox->addStretch();
return informationGroup;
}
QGroupBox* KCMMemory::initializeCharts() {
QGroupBox* chartsGroup = new QGroupBox(i18n("Charts"));
QHBoxLayout* chartsLayout = new QHBoxLayout(chartsGroup);
chartsLayout->setSpacing(1);
chartsLayout->setMargin(1);
//chartsLayout->addStretch(1);
totalMemory = new ChartWidget(i18n("Total Memory"),
i18n("This graph gives you an overview of the "
"<b>total sum of physical and virtual memory</b> "
"in your system."),
new TotalMemoryChart(this), this);
chartsLayout->addWidget(totalMemory);
chartsLayout->addSpacing(SPACING);
physicalMemory = new ChartWidget(i18n("Physical Memory"),
i18n("This graph gives you an overview of "
"the <b>usage of physical memory</b> in your system."
"<p>Most operating systems (including Linux) "
"will use as much of the available physical "
"memory as possible as disk cache, "
"to speed up the system performance.</p>"
"<p>This means that if you have a small amount "
"of <b>Free Physical Memory</b> and a large amount of "
"<b>Disk Cache Memory</b>, your system is well "
"configured.</p>"),
new PhysicalMemoryChart(this), this);
chartsLayout->addWidget(physicalMemory);
chartsLayout->addSpacing(SPACING);
swapMemory = new ChartWidget(i18n("Swap Space"),
i18n("<p>The swap space is the <b>virtual memory</b> "
"available to the system.</p> "
"<p>It will be used on demand and is provided "
"through one or more swap partitions and/or swap files.</p>"),
new SwapMemoryChart(this), this);
chartsLayout->addWidget(swapMemory);
//chartsLayout->addStretch(1);
return chartsGroup;
}
void KCMMemory::updateDatas() {
/* get the Information from memory_linux, memory_fbsd */
fetchValues();
updateMemoryText();
updateMemoryGraphics();
}
void KCMMemory::updateMemoryText() {
/* update the byte-strings */
for (int i = TOTAL_MEM; i < MEM_LAST_ENTRY; i++) {
QLabel* label = memorySizeLabels[i][0];
if (memoryInfos[i] == NO_MEMORY_INFO)
label->clear();
else
label->setText(i18np("1 byte =", "%1 bytes =", memoryInfos[i]));
}
/* update the MB-strings */
for (int i = TOTAL_MEM; i < MEM_LAST_ENTRY; i++) {
QLabel* label = memorySizeLabels[i][1];
label->setText((memoryInfos[i] != NO_MEMORY_INFO) ? Chart::formattedUnit(memoryInfos[i]) : i18n("Not available."));
}
}
void KCMMemory::updateMemoryGraphics() {
totalMemory->setMemoryInfos(memoryInfos);
totalMemory->refresh();
physicalMemory->setMemoryInfos(memoryInfos);
physicalMemory->refresh();
swapMemory->setMemoryInfos(memoryInfos);
swapMemory->refresh();
}
/* Include system-specific code */
#ifdef __linux__
#include "memory_linux.cpp"
#elif defined(__APPLE__)
#include "memory_osx.cpp"
#elif defined(sgi) && sgi
#include "memory_sgi.cpp"
#elif defined(__svr4__) && defined(sun)
#include "memory_solaris.cpp"
#elif defined(__FreeBSD__) || defined(__DragonFly__)
#include "memory_fbsd.cpp"
#elif defined(__hpux)
#include "memory_hpux.cpp"
#elif defined(__NetBSD__) || defined(__OpenBSD__)
#include "memory_netbsd.cpp"
#elif __osf__
#include "memory_tru64.cpp"
#else
/* Default for unsupported systems */
void KCMMemory::fetchValues() {
int i;
for (i = TOTAL_MEM; i < MEM_LAST_ENTRY; ++i) {
memoryInfos[i] = NO_MEMORY_INFO;
}
}
#endif
#include "memory.moc"

View file

@ -1,69 +0,0 @@
/*
* memory.h
*
* Copyright (C) 2008 Nicolas Ternisien <nicolas.ternisien@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KCONTROL_MEMORY_H
#define KCONTROL_MEMORY_H
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QTimer>
#include <kcmodule.h>
#include <kaboutdata.h>
#include "base.h"
class QGroupBox;
class QPushButton;
class ChartWidget;
class KCMMemory : public KCModule {
Q_OBJECT
public:
explicit KCMMemory(QWidget *parent = NULL, const QVariantList &list = QVariantList());
~KCMMemory();
QString quickHelp() const;
private slots:
void updateMemoryText();
void updateMemoryGraphics();
void updateDatas();
private:
QGroupBox* initializeText();
QGroupBox* initializeCharts();
QTimer *timer;
ChartWidget* totalMemory;
ChartWidget* physicalMemory;
ChartWidget* swapMemory;
void fetchValues();
};
#endif

View file

@ -1,67 +0,0 @@
#include <sys/types.h>
#include <sys/sysctl.h>
#include <sys/vmmeter.h>
#include <vm/vm_param.h>
#include <kvm.h>
#include <fcntl.h>
#include <paths.h>
#include <unistd.h>
void KCMMemory::fetchValues()
{
/* Stuff for sysctl */
size_t len;
unsigned long memory;
len = sizeof(memory);
sysctlbyname("hw.physmem", &memory, &len, NULL, 0);
// Numerical values
// total physical memory (without swap space)
memoryInfos[TOTAL_MEM] = MEMORY(memory);
unsigned int cached;
len = sizeof(cached);
if (sysctlbyname("vm.stats.vm.v_cache_count", &cached, &len, NULL, 0) == -1 || !len)
memoryInfos[CACHED_MEM] = NO_MEMORY_INFO;
else
memoryInfos[CACHED_MEM] = MEMORY(cached) * PAGE_SIZE;
unsigned int free;
len = sizeof(free);
if (sysctlbyname("vm.stats.vm.v_free_count", &free, &len, NULL, 0) == -1 || !len)
memoryInfos[FREE_MEM] = NO_MEMORY_INFO;
else
memoryInfos[FREE_MEM] = MEMORY(free) * PAGE_SIZE;
// added by Brad Hughes bhughes@trolltech.com
struct vmtotal vmem;
len = sizeof(vmem);
if (sysctlbyname("vm.vmtotal", &vmem, &len, NULL, 0) == -1 || !len)
memoryInfos[SHARED_MEM] = NO_MEMORY_INFO;
else
memoryInfos[SHARED_MEM] = MEMORY(vmem.t_armshr) * PAGE_SIZE;
long buffers;
len = sizeof(buffers);
if ((sysctlbyname("vfs.bufspace", &buffers, &len, NULL, 0) == -1) || !len)
memoryInfos[BUFFER_MEM] = NO_MEMORY_INFO;
else
memoryInfos[BUFFER_MEM] = MEMORY(buffers);
struct kvm_swap swap[1];
kvm_t *kvm_handle;
kvm_handle = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open");
if (kvm_handle != NULL && kvm_getswapinfo(kvm_handle, swap, 1, 0) != -1) {
memoryInfos[SWAP_MEM] = MEMORY(swap[0].ksw_total) * PAGE_SIZE;
memoryInfos[FREESWAP_MEM] = MEMORY(swap[0].ksw_total - swap[0].ksw_used) * PAGE_SIZE;
}
if (kvm_handle != NULL)
kvm_close(kvm_handle);
}

Some files were not shown because too many files have changed in this diff Show more