diff options
Diffstat (limited to 'tde-i18n-sv/docs/tdevelop')
29 files changed, 5616 insertions, 20506 deletions
diff --git a/tde-i18n-sv/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-sv/docs/tdevelop/kde_app_devel/index.docbook index 1d4b854bed1..a6ded1c4716 100644 --- a/tde-i18n-sv/docs/tdevelop/kde_app_devel/index.docbook +++ b/tde-i18n-sv/docs/tdevelop/kde_app_devel/index.docbook @@ -1,154 +1,83 @@ <?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ - <!ENTITY tdevelop "<application ->KDevelop</application ->"> + <!ENTITY tdevelop "<application>KDevelop</application>"> <!ENTITY kappname "&tdevelop;"> <!ENTITY % addindex "INCLUDE"> - <!ENTITY % Swedish "INCLUDE" -> <!-- change language only here --> + <!ENTITY % Swedish "INCLUDE"> <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> -<title ->Programmeringshandbok &tdevelop;</title> +<title>Programmeringshandbok &tdevelop;</title> -<date ->2002-12-05</date> -<releaseinfo ->2.0</releaseinfo> +<date>2002-12-05</date> +<releaseinfo>2.0</releaseinfo> <authorgroup> -<author -><firstname ->Ralf</firstname -> <surname ->Nolden</surname -> <affiliation -><address -><email ->Ralf.Nolden@post.rwth-aachen.de</email -></address -></affiliation> +<author><firstname>Ralf</firstname> <surname>Nolden</surname> <affiliation><address><email>Ralf.Nolden@post.rwth-aachen.de</email></address></affiliation> </author> -<author -><firstname ->Caleb</firstname -> <surname ->Tennis</surname -> <affiliation -><address -><email ->caleb@aei-tech.com</email -></address -></affiliation> +<author><firstname>Caleb</firstname> <surname>Tennis</surname> <affiliation><address><email>caleb@aei-tech.com</email></address></affiliation> </author> </authorgroup> <copyright> -<year ->1999</year> -<holder ->Ralf Nolden</holder> +<year>1999</year> +<holder>Ralf Nolden</holder> </copyright> <copyright> -<year ->2002</year> -<holder ->Caleb Tennis</holder> +<year>2002</year> +<holder>Caleb Tennis</holder> </copyright> <!-- ROLES_OF_TRANSLATORS --> -<legalnotice ->&FDLNotice;</legalnotice> +<legalnotice>&FDLNotice;</legalnotice> <abstract> -<para ->Användarguide till C++ programutveckling för K-skrivbordsmiljön (KDE) med den integrerade utvecklingsmiljön &tdevelop;</para> +<para>Användarguide till C++ programutveckling för K-skrivbordsmiljön (KDE) med den integrerade utvecklingsmiljön &tdevelop;</para> </abstract> <keywordset> -<keyword ->KDE</keyword> -<keyword ->KDevelop</keyword> -<keyword ->IDE</keyword> -<keyword ->utveckling</keyword> -<keyword ->programmering</keyword> +<keyword>KDE</keyword> +<keyword>KDevelop</keyword> +<keyword>IDE</keyword> +<keyword>utveckling</keyword> +<keyword>programmering</keyword> </keywordset> </bookinfo> <chapter id="chapter1"> -<title ->Inledning</title> -<para ->Medan Unix-system blir mer och mer populära även för nybörjare som arbetar med datorer, på grund av sina fördelar i form av stabilitet och funktionalitet, blir de flesta på något sätt besvikna, eftersom program inte har likadana utseenden och vart och ett beter sig annorlunda. Med KDE har utvecklare ett nästan perfekt sätt att skapa förstklassiga program för Unix-skrivbordssystem, för att få en bredare användargrupp enbart på grund av kvaliteten som programmen erbjuder. Därför blir KDE mer och mer populärt som en bas för programkonstruktion, och utvecklare vill dra fördel av möjligheterna som systemet erbjuder. </para> +<title>Inledning</title> +<para>Medan Unix-system blir mer och mer populära även för nybörjare som arbetar med datorer, på grund av sina fördelar i form av stabilitet och funktionalitet, blir de flesta på något sätt besvikna, eftersom program inte har likadana utseenden och vart och ett beter sig annorlunda. Med KDE har utvecklare ett nästan perfekt sätt att skapa förstklassiga program för Unix-skrivbordssystem, för att få en bredare användargrupp enbart på grund av kvaliteten som programmen erbjuder. Därför blir KDE mer och mer populärt som en bas för programkonstruktion, och utvecklare vill dra fördel av möjligheterna som systemet erbjuder. </para> <sect1 id="c1s1"> -<title ->Vad du redan bör veta</title> -<para ->För att använda den här programmeringshandboken på bästa sätt, antar vi att du redan känner till programspråket C++. Om du inte gör det, bör du göra dig bekant med det först. Information om C++ är tillgänglig via olika källor, antingen på skriftlig form i den lokala bokhandeln eller med handledningar på Internet. Kunskap om konstruktion av grafiska användargränssnitt krävs inte, eftersom handboken försöker täcka konstruktion av KDE-program, som också omfattar en introduktion till QT-verktygslådan samt KDE-biblioteken och konstruktion av användargränssnitt. Dessutom bör du ha bekantat dig med &tdevelop;, genom att läsa användarmanualen till &tdevelop;, som innehåller en beskrivande genomgång av funktionerna som den integrerade utvecklingsmiljön tillhandahåller. </para> +<title>Vad du redan bör veta</title> +<para>För att använda den här programmeringshandboken på bästa sätt, antar vi att du redan känner till programspråket C++. Om du inte gör det, bör du göra dig bekant med det först. Information om C++ är tillgänglig via olika källor, antingen på skriftlig form i den lokala bokhandeln eller med handledningar på Internet. Kunskap om konstruktion av grafiska användargränssnitt krävs inte, eftersom handboken försöker täcka konstruktion av KDE-program, som också omfattar en introduktion till QT-verktygslådan samt KDE-biblioteken och konstruktion av användargränssnitt. Dessutom bör du ha bekantat dig med &tdevelop;, genom att läsa användarmanualen till &tdevelop;, som innehåller en beskrivande genomgång av funktionerna som den integrerade utvecklingsmiljön tillhandahåller. </para> </sect1> <sect1 id="c1s2"> -<title ->Om den här handboken</title> -<para ->Den här handboken är skriven för att ge utvecklare en introduktion till utveckling av KDE-program genom att använda den integrerade utvecklingsmiljön KDevelop. </para> -<para ->Följande kapitel ger därför en introduktion till hur projekt skapas, förklarar källkoden som redan skapats och visar hur den givna källkoden kan utökas med olika funktioner som verktygsrader, menyrader och vyområden. </para> -<para ->Därefter beskrivs dialogeditorn i detalj, där det förklaras hur grafiska komponenter skapas och hur inställningar av komponentegenskaper görs i detalj för alla komponenter som tillhandahålls. </para> -<para ->Till sist får du information om flera ämnen som utökar din kunskap om projektkonstruktion och hjälper dig lösa ytterligare problem förutom kodning, som att lägga till dokumentation om programgränssnittet och utöka handböcker. </para> +<title>Om den här handboken</title> +<para>Den här handboken är skriven för att ge utvecklare en introduktion till utveckling av KDE-program genom att använda den integrerade utvecklingsmiljön KDevelop. </para> +<para>Följande kapitel ger därför en introduktion till hur projekt skapas, förklarar källkoden som redan skapats och visar hur den givna källkoden kan utökas med olika funktioner som verktygsrader, menyrader och vyområden. </para> +<para>Därefter beskrivs dialogeditorn i detalj, där det förklaras hur grafiska komponenter skapas och hur inställningar av komponentegenskaper görs i detalj för alla komponenter som tillhandahålls. </para> +<para>Till sist får du information om flera ämnen som utökar din kunskap om projektkonstruktion och hjälper dig lösa ytterligare problem förutom kodning, som att lägga till dokumentation om programgränssnittet och utöka handböcker. </para> <sect2 id="c1s2s1"> -<title ->I nästa kapitel</title> -<para ->Vi kommer att ta en titt på QT- och KDE-biblioteken, visa grundläggande koncept och varför saker och ting ser ut som de gör. Dessutom beskriver vi hur exempelprogrammen som tillhandahålls med QT-verktygslådan skapas genom att använda KDevelop, så att nybörjare redan kan se de första resultaten efter ett fåtal steg, och därigenom lär sig hur några av de bästa funktionerna i &tdevelop; används. </para> +<title>I nästa kapitel</title> +<para>Vi kommer att ta en titt på QT- och KDE-biblioteken, visa grundläggande koncept och varför saker och ting ser ut som de gör. Dessutom beskriver vi hur exempelprogrammen som tillhandahålls med QT-verktygslådan skapas genom att använda KDevelop, så att nybörjare redan kan se de första resultaten efter ett fåtal steg, och därigenom lär sig hur några av de bästa funktionerna i &tdevelop; används. </para> </sect2> <sect2 id="c1s2s2"> -<title ->I följande kapitel</title> -<para ->Du får lära dig att: <itemizedlist> -<listitem -><para ->Skapa ett program med programguiden</para -></listitem> -<listitem -><para ->Vad projektskelettet redan tillhandahåller</para -></listitem> -<listitem -><para ->Vad koden som redan skapats betyder</para -></listitem> -<listitem -><para ->Hur man skapar egna vyer</para -></listitem> -<listitem -><para ->Hur programmets funktion kan utökas med dialogrutor, menyrader och verktygsrader</para -></listitem> -<listitem -><para ->Hur programmet kan göras användarvänligt genom att tillhandahålla hjälpfunktioner</para -></listitem> -<listitem -><para ->Hur man skriver direktdokumentation</para -></listitem> +<title>I följande kapitel</title> +<para>Du får lära dig att: <itemizedlist> +<listitem><para>Skapa ett program med programguiden</para></listitem> +<listitem><para>Vad projektskelettet redan tillhandahåller</para></listitem> +<listitem><para>Vad koden som redan skapats betyder</para></listitem> +<listitem><para>Hur man skapar egna vyer</para></listitem> +<listitem><para>Hur programmets funktion kan utökas med dialogrutor, menyrader och verktygsrader</para></listitem> +<listitem><para>Hur programmet kan göras användarvänligt genom att tillhandahålla hjälpfunktioner</para></listitem> +<listitem><para>Hur man skriver direktdokumentation</para></listitem> </itemizedlist> </para> </sect2> @@ -156,92 +85,40 @@ </sect1> <sect1 id="c1s3"> -<title ->Ytterligare information</title> -<para ->Ytterligare information om QT- och KDE-programmering är tillgänglig från olika källor: <itemizedlist> -<listitem -><para ->Programming with Qt av Matthias Kalle Dalheimer</para -></listitem> -<listitem -><para -><ulink url="www.kdevelop.org" ->Handbok KDevelop, som tillhandahålls med den integrerade utvecklingsmiljön KDevelop</ulink -></para -></listitem> -<listitem -><para -><ulink url="doc.trolltech.com" ->Direktreferensen till QT-biblioteket</ulink -></para -></listitem> -<listitem -><para -><ulink url="developer.kde.org" ->KDE:s webbplats för utvecklare</ulink -></para -></listitem> +<title>Ytterligare information</title> +<para>Ytterligare information om QT- och KDE-programmering är tillgänglig från olika källor: <itemizedlist> +<listitem><para>Programming with Qt av Matthias Kalle Dalheimer</para></listitem> +<listitem><para><ulink url="www.kdevelop.org">Handbok KDevelop, som tillhandahålls med den integrerade utvecklingsmiljön KDevelop</ulink></para></listitem> +<listitem><para><ulink url="doc.trolltech.com">Direktreferensen till QT-biblioteket</ulink></para></listitem> +<listitem><para><ulink url="developer.kde.org">KDE:s webbplats för utvecklare</ulink></para></listitem> </itemizedlist> </para> -<para ->Dessutom bör du söka hjälp genom att prenumerera på de olika e-postlistorna, vars adresser är tillgängliga på nämda webbsidor, och på diskussionsgrupper i Usenet som ägnas åt användning av KDE och Unix-system samt programspråken C och C++. </para> -<para ->För att skaffa hjälp med den integrerade utvecklingsmiljön KDevelop, kan du skicka frågor till vår e-postlista på <email ->kdevelop@kdevelop.org</email ->. Kom ihåg att KDevelop-gruppen är engagerad i att erbjuda möjligheter för dig att skapa program, och därför inte är avsett som en teknisk stödgrupp ifall program du utvecklar inte fungerar på grund av implementeringsfel eller felaktig inställning av operativsystemet. Med detta ber vi alla användare att dra fördel av e-postlistan i de fall då problem med användning av själva den integrerade utvecklingsmiljön uppstår, samt för felrapporter och förbättringsförslag av funktionerna i utvecklingsmiljön. </para> +<para>Dessutom bör du söka hjälp genom att prenumerera på de olika e-postlistorna, vars adresser är tillgängliga på nämda webbsidor, och på diskussionsgrupper i Usenet som ägnas åt användning av KDE och Unix-system samt programspråken C och C++. </para> +<para>För att skaffa hjälp med den integrerade utvecklingsmiljön KDevelop, kan du skicka frågor till vår e-postlista på <email>kdevelop@kdevelop.org</email>. Kom ihåg att KDevelop-gruppen är engagerad i att erbjuda möjligheter för dig att skapa program, och därför inte är avsett som en teknisk stödgrupp ifall program du utvecklar inte fungerar på grund av implementeringsfel eller felaktig inställning av operativsystemet. Med detta ber vi alla användare att dra fördel av e-postlistan i de fall då problem med användning av själva den integrerade utvecklingsmiljön uppstår, samt för felrapporter och förbättringsförslag av funktionerna i utvecklingsmiljön. </para> </sect1> </chapter> <chapter id="chapter2"> -<title ->KDE- och QT-biblioteken</title> -<para ->Det norska företaget TrollTech (<ulink url="http://www.trolltech.com" ->http://www.trolltech.com</ulink ->) tillhandahåller en så kallad GUI-verktygslåda, som kallas QT. GUI betyder "grafiskt användargränssnitt", och därför visas QT-baserade program med knappar, fönster etc., vilket möjliggör användarinmatning genom att synliggöra funktionerna som ett program tillhandahåller. En sådan verktygslåda behövs för att utveckla grafiska program som använder gränssnittet X-windows på Unix-system, eftersom X inte själv innehåller ett fördefinierat användargränssnitt. Även om andra verktygslådor också finns tillgängliga för att skapa användargränssnitt, erbjuder QT några tekniska fördelar som gör programkonstruktion mycket enkel. Dessutom är QT-verktygslådan också tillgänglig på Microsoft Windows-system, vilket gör det möjligt för utvecklare att tillhandahålla sina program på båda plattformarna. </para> -<para ->KDE-gruppen (<ulink url="http://www.kde.org" ->http://www.kde.org</ulink ->) bildades med målet att göra det mer användarvänligt att bruka Unix-system, och bestämde att QT-verktygslådan skulle användas för utveckling av en fönsterhanterare för X-windows, samt en mängd verktyg som ingår i KDE-paketen. K-skrivbordsmiljön innehåller därför huvudkomponenterna fönsterhanteraren kwm, filhanteraren kfm och startpanelen kpanel samt en mängd förstklassiga verktyg och program. Efter KDE gavs ut, tittademånga utvecklare till den nya miljön och vad den hade att erbjuda. KDE-biblioteken tillhandahåller väsentliga metoder och klasser som gör att alla program som konstrueras med dem liknar varandra och beter sig likadant, så att användaren har den stora fördelen att bara behöva vänja sig vid användning av ett specifikt program, inte vid hantering av dialogrutor och knappar. Dessutom integreras KDE-program med skrivbordet, kan fungera tillsammans med filhanteraren via drag och släpp, erbjuder sessionshantering, och mycket mer om alla funktioner som erbjuds av KDE-biblioteken används. Både QT-verktygslådan och KDE-biblioteken är implementerade med programspråket C++. Därför är de flesta program som använder sig av biblioteken också skrivna i C++. I följande kapitel tar vi en kort tur genom biblioteken för att se vad som redan tillhandahålls, och hur QT- och KDE-program i allmänhet skapas. </para> -<para ->Både QT-verktygslådan och KDE-biblioteken är implementerade med programspråket C++. Därför skrivs också program som använder dessa bibliotek oftast i C++. I följande kapitel tar vi en snabbtur genom biblioteken för att se vad som redan tillhandahålls, och hur QT- och KDE-program skapas i allmänhet. </para> +<title>KDE- och QT-biblioteken</title> +<para>Det norska företaget TrollTech (<ulink url="http://www.trolltech.com">http://www.trolltech.com</ulink>) tillhandahåller en så kallad GUI-verktygslåda, som kallas QT. GUI betyder "grafiskt användargränssnitt", och därför visas QT-baserade program med knappar, fönster etc., vilket möjliggör användarinmatning genom att synliggöra funktionerna som ett program tillhandahåller. En sådan verktygslåda behövs för att utveckla grafiska program som använder gränssnittet X-windows på Unix-system, eftersom X inte själv innehåller ett fördefinierat användargränssnitt. Även om andra verktygslådor också finns tillgängliga för att skapa användargränssnitt, erbjuder QT några tekniska fördelar som gör programkonstruktion mycket enkel. Dessutom är QT-verktygslådan också tillgänglig på Microsoft Windows-system, vilket gör det möjligt för utvecklare att tillhandahålla sina program på båda plattformarna. </para> +<para>KDE-gruppen (<ulink url="http://www.kde.org">http://www.kde.org</ulink>) bildades med målet att göra det mer användarvänligt att bruka Unix-system, och bestämde att QT-verktygslådan skulle användas för utveckling av en fönsterhanterare för X-windows, samt en mängd verktyg som ingår i KDE-paketen. K-skrivbordsmiljön innehåller därför huvudkomponenterna fönsterhanteraren kwm, filhanteraren kfm och startpanelen kpanel samt en mängd förstklassiga verktyg och program. Efter KDE gavs ut, tittademånga utvecklare till den nya miljön och vad den hade att erbjuda. KDE-biblioteken tillhandahåller väsentliga metoder och klasser som gör att alla program som konstrueras med dem liknar varandra och beter sig likadant, så att användaren har den stora fördelen att bara behöva vänja sig vid användning av ett specifikt program, inte vid hantering av dialogrutor och knappar. Dessutom integreras KDE-program med skrivbordet, kan fungera tillsammans med filhanteraren via drag och släpp, erbjuder sessionshantering, och mycket mer om alla funktioner som erbjuds av KDE-biblioteken används. Både QT-verktygslådan och KDE-biblioteken är implementerade med programspråket C++. Därför är de flesta program som använder sig av biblioteken också skrivna i C++. I följande kapitel tar vi en kort tur genom biblioteken för att se vad som redan tillhandahålls, och hur QT- och KDE-program i allmänhet skapas. </para> +<para>Både QT-verktygslådan och KDE-biblioteken är implementerade med programspråket C++. Därför skrivs också program som använder dessa bibliotek oftast i C++. I följande kapitel tar vi en snabbtur genom biblioteken för att se vad som redan tillhandahålls, och hur QT- och KDE-program skapas i allmänhet. </para> <sect1 id="c2s1"> -<title ->QT-verktygslådan för grafiska användargränssnitt</title> -<para ->Som sagt, är QT-biblioteket en verktygslåda som erbjuder grafiska element som används för att skapa program med grafiska gränssnitt och behövs för programmering av X-windows. Dessutom erbjuder verktygslådan: <itemizedlist> -<listitem -><para ->En komplett uppsättning klasser och metoder klara att använda till och med för programmering som inte rör grafik</para -></listitem> -<listitem -><para ->En bra lösning för användarkommunikation med virtuella metoder och mekanismen med signaler och slots</para -></listitem> -<listitem -><para ->En uppsättning fördefinierade grafiska gränssnittselement, som kallas "grafiska komponenter" och kan användas för att skapa synliga element</para -></listitem> -<listitem -><para ->Dessutom fullständiga fördefinierade dialogrutor som ofta används i program som förlopps- och fildialogrutor</para -></listitem> +<title>QT-verktygslådan för grafiska användargränssnitt</title> +<para>Som sagt, är QT-biblioteket en verktygslåda som erbjuder grafiska element som används för att skapa program med grafiska gränssnitt och behövs för programmering av X-windows. Dessutom erbjuder verktygslådan: <itemizedlist> +<listitem><para>En komplett uppsättning klasser och metoder klara att använda till och med för programmering som inte rör grafik</para></listitem> +<listitem><para>En bra lösning för användarkommunikation med virtuella metoder och mekanismen med signaler och slots</para></listitem> +<listitem><para>En uppsättning fördefinierade grafiska gränssnittselement, som kallas "grafiska komponenter" och kan användas för att skapa synliga element</para></listitem> +<listitem><para>Dessutom fullständiga fördefinierade dialogrutor som ofta används i program som förlopps- och fildialogrutor</para></listitem> </itemizedlist> </para> -<para ->Därför är det mycket väsentligt att känna till QT-klasserna, även om du bara vill programmera KDE-program. För att få en inblick i grundkoncepten för att skapa och kompilera ett program med grafiskt gränssnitt, tar vi först en titt på ett exempelprogram som bara använder QT. Därefter utökar vi det till ett KDE-program. </para> +<para>Därför är det mycket väsentligt att känna till QT-klasserna, även om du bara vill programmera KDE-program. För att få en inblick i grundkoncepten för att skapa och kompilera ett program med grafiskt gränssnitt, tar vi först en titt på ett exempelprogram som bara använder QT. Därefter utökar vi det till ett KDE-program. </para> <sect2 id="c2s1s1"> -<title ->Det första QT-programmet</title> -<para ->Som vanligt måste program i C++ innehålla funktionen <function ->main()</function ->, som är programkörningens startpunkt. Eftersom vi vill att programmet ska vara synligt som grafik i fönster och erbjuda kommunikation med användaren, måste vi först veta hur de kan visas för användaren. Som ett exempel, tar vi en titt på det första exemplet som ingår i QT:s direktreferensdokumentation, och förklarar de grundläggande stegen i körningen, inklusive varför och hur programmets fönster visas: <programlisting ->#include <qapplication.h> +<title>Det första QT-programmet</title> +<para>Som vanligt måste program i C++ innehålla funktionen <function>main()</function>, som är programkörningens startpunkt. Eftersom vi vill att programmet ska vara synligt som grafik i fönster och erbjuda kommunikation med användaren, måste vi först veta hur de kan visas för användaren. Som ett exempel, tar vi en titt på det första exemplet som ingår i QT:s direktreferensdokumentation, och förklarar de grundläggande stegen i körningen, inklusive varför och hur programmets fönster visas: <programlisting>#include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -257,368 +134,116 @@ return a.exec(); } </programlisting> </para> -<para ->Det här programmet ritar bara upp ett fönster som innehåller en knapp med "Hello world" som text. Som för alla QT-baserade program, måste du först skapa en instans av klassen <classname ->QApplication</classname ->, som representeras av variabeln a. </para> -<para ->Därefter skapar programmet en instans av klassen <classname ->QPushButton</classname -> som heter hello. Det här blir knappen. Konstruktorn av hello tar en sträng som parameter, som är innehållet i komponenten som blir synligt som knappens text. </para> -<para ->Därefter anropas metoden <methodname ->resize()</methodname -> för knappen hello. Det ändrar komponentens normalstorlek (som i det här fallet är <classname ->QPushButton</classname ->) som den hade när den skapades, till längden 100 bildpunkter och höjden 80 bildpunkter. Till sist anropas metoden setMainWidget() och metoden show() för hello. Slutligen körs vår QApplication med <methodname ->a.exec()</methodname ->, går in i huvudhändelsesnurran och väntar till den ska returnera ett heltalsvärde till det omgivande operativsystemet för att signalera att programmet har avslutats. </para> +<para>Det här programmet ritar bara upp ett fönster som innehåller en knapp med "Hello world" som text. Som för alla QT-baserade program, måste du först skapa en instans av klassen <classname>QApplication</classname>, som representeras av variabeln a. </para> +<para>Därefter skapar programmet en instans av klassen <classname>QPushButton</classname> som heter hello. Det här blir knappen. Konstruktorn av hello tar en sträng som parameter, som är innehållet i komponenten som blir synligt som knappens text. </para> +<para>Därefter anropas metoden <methodname>resize()</methodname> för knappen hello. Det ändrar komponentens normalstorlek (som i det här fallet är <classname>QPushButton</classname>) som den hade när den skapades, till längden 100 bildpunkter och höjden 80 bildpunkter. Till sist anropas metoden setMainWidget() och metoden show() för hello. Slutligen körs vår QApplication med <methodname>a.exec()</methodname>, går in i huvudhändelsesnurran och väntar till den ska returnera ett heltalsvärde till det omgivande operativsystemet för att signalera att programmet har avslutats. </para> </sect2> <sect2 id="c2s1s2"> -<title ->Referensdokumentation för Qt</title> -<para ->Låt oss nu ta en snabb titt på referensdokumentationen för QT-biblioteket. För att göra det, starta &tdevelop; och välj "Qt" i dokumentationsflikens träd. Dokumentationsbläddraren öppnas och visar startsidan i QT-referensdokumentationen. Det här är det första stället där du kan hämta information om QT, dess klasser och tillgängliga funktioner som de tillhandahåller. Dessutom är ovanstående program det första som finns med i handledningsavsnittet. För att komma till klasserna vi vill titta på, <classname ->QApplication</classname -> och <classname ->QPushButton</classname ->, välj "Alphabetical Class List" och leta efter motsvarande namn. Följ något av dem för att ta en titt på klassdokumentationen. </para> -<para ->Som ett alternativ kan du använda direktdokumentationen från TrollTechs <ulink url="doc.trolltech.com" ->QT-dokumentation</ulink ->. </para> -<para ->Du kommer att se konstruktorn och alla andra metoder som klassen <classname ->QApplication</classname -> tillhandahåller. Om du följer en länk, får du mer information om användningen och betydelsen hos metoderna, vilket är mycket användbart om du ibland inte kan inse riktig användning eller vill ha ett exempel. Det här gäller också dokumentationen av KDE-biblioteken, som använder en liknande sorts dokumentation, därför är detta nästan allt du behöver veta om att använda klassreferenser med dokumentationsbläddraren. </para> +<title>Referensdokumentation för Qt</title> +<para>Låt oss nu ta en snabb titt på referensdokumentationen för QT-biblioteket. För att göra det, starta &tdevelop; och välj "Qt" i dokumentationsflikens träd. Dokumentationsbläddraren öppnas och visar startsidan i QT-referensdokumentationen. Det här är det första stället där du kan hämta information om QT, dess klasser och tillgängliga funktioner som de tillhandahåller. Dessutom är ovanstående program det första som finns med i handledningsavsnittet. För att komma till klasserna vi vill titta på, <classname>QApplication</classname> och <classname>QPushButton</classname>, välj "Alphabetical Class List" och leta efter motsvarande namn. Följ något av dem för att ta en titt på klassdokumentationen. </para> +<para>Som ett alternativ kan du använda direktdokumentationen från TrollTechs <ulink url="doc.trolltech.com">QT-dokumentation</ulink>. </para> +<para>Du kommer att se konstruktorn och alla andra metoder som klassen <classname>QApplication</classname> tillhandahåller. Om du följer en länk, får du mer information om användningen och betydelsen hos metoderna, vilket är mycket användbart om du ibland inte kan inse riktig användning eller vill ha ett exempel. Det här gäller också dokumentationen av KDE-biblioteken, som använder en liknande sorts dokumentation, därför är detta nästan allt du behöver veta om att använda klassreferenser med dokumentationsbläddraren. </para> <sect3 id="c2s1s2s1"> -<title ->Tolkning av exemplet</title> -<para ->Med början från <classname ->QApplication</classname ->, hittar du alla metoder som används i vårt första exempel: <itemizedlist> -<listitem -><para ->konstruktorn <methodname ->QApplication()</methodname -></para -></listitem> -<listitem -><para ->metoden <methodname ->setMainWidget()</methodname -></para -></listitem> -<listitem -><para ->metoden <methodname ->exec()</methodname -></para -></listitem> +<title>Tolkning av exemplet</title> +<para>Med början från <classname>QApplication</classname>, hittar du alla metoder som används i vårt första exempel: <itemizedlist> +<listitem><para>konstruktorn <methodname>QApplication()</methodname></para></listitem> +<listitem><para>metoden <methodname>setMainWidget()</methodname></para></listitem> +<listitem><para>metoden <methodname>exec()</methodname></para></listitem> </itemizedlist> </para> -<para ->Tolkningen av varför vi använder metoderna är mycket enkel: <orderedlist> -<listitem -><para ->Skapa en instans av klassen <classname ->QApplication</classname -> med konstruktorn, så att vi kan använda elementen för det grafiska gränssnittet som tillhandahålls av QT</para -></listitem> -<listitem -><para ->Skapa en grafisk komponent som blir innehållet i vårt programfönster</para -></listitem> -<listitem -><para ->Ange komponenten som huvudkomponent för a</para -></listitem> -<listitem -><para ->Kör en instans av <classname ->QApplication</classname -></para -></listitem> -</orderedlist -> +<para>Tolkningen av varför vi använder metoderna är mycket enkel: <orderedlist> +<listitem><para>Skapa en instans av klassen <classname>QApplication</classname> med konstruktorn, så att vi kan använda elementen för det grafiska gränssnittet som tillhandahålls av QT</para></listitem> +<listitem><para>Skapa en grafisk komponent som blir innehållet i vårt programfönster</para></listitem> +<listitem><para>Ange komponenten som huvudkomponent för a</para></listitem> +<listitem><para>Kör en instans av <classname>QApplication</classname></para></listitem> +</orderedlist> </para> -<para ->Det andra objektet i vårt program är tryckknappen, en instans av klassen <classname ->QPushButton</classname ->. Av de två konstruktorer som finns för att skapa klassen, använder vi den andra. Den tar en text, som är textinnehållet i knappen. Här är det strängen "Hello world!". Därefter anropar vi metoden <methodname ->resize()</methodname -> för att ändra storlek på knappen i enlighet med dess innehåll. Knappen måste bli större för att göra strängen fullständigt synlig. </para> -<para ->Men vad gäller för metoden <methodname ->show()</methodname ->? Nu märker du, att som de flesta andra grafiska komponenter, är <classname ->QPushButton</classname -> baserad på enkelt arv. Dokumentationen säger, ärver <classname ->QButton</classname ->. Följ länken till klassen <classname ->QButton</classname ->. Det visar många andra komponenter som ärvs av <classname ->QPushButton</classname ->, som vi senare använder för att förklara signal/slot-mekanismen. Hur som helst finns inte metoden <methodname ->show()</methodname -> listad, och därför måste den vara en metod som också tillhandahålls via arv. Klassen som <classname ->QButton</classname -> ärver är <classname ->QWidget</classname ->. Följ bara länken igen, så ser du en hel mängd metoder som klassen QWidget tillhandahåller, inklusive metoden <methodname ->show()</methodname ->. Nu förstår vi vad som gjordes i exemplet med knappen: <orderedlist> -<listitem -><para ->Skapa en instans av <classname ->QPushButton</classname ->, och använd den andra konstruktorn för att ange knappens text</para -></listitem> -<listitem -><para ->Ändra storlek på komponenten till dess innehåll</para -></listitem> -<listitem -><para ->Ange komponenten som huvudkomponent i instansen av <classname ->QApplication</classname -></para -></listitem> -<listitem -><para ->Tala om för den grafiska komponenten att den ska visas på skärmen genom att anropa <methodname ->show()</methodname ->, en metod som ärvts från <classname ->QWidget</classname -></para -></listitem> +<para>Det andra objektet i vårt program är tryckknappen, en instans av klassen <classname>QPushButton</classname>. Av de två konstruktorer som finns för att skapa klassen, använder vi den andra. Den tar en text, som är textinnehållet i knappen. Här är det strängen "Hello world!". Därefter anropar vi metoden <methodname>resize()</methodname> för att ändra storlek på knappen i enlighet med dess innehåll. Knappen måste bli större för att göra strängen fullständigt synlig. </para> +<para>Men vad gäller för metoden <methodname>show()</methodname>? Nu märker du, att som de flesta andra grafiska komponenter, är <classname>QPushButton</classname> baserad på enkelt arv. Dokumentationen säger, ärver <classname>QButton</classname>. Följ länken till klassen <classname>QButton</classname>. Det visar många andra komponenter som ärvs av <classname>QPushButton</classname>, som vi senare använder för att förklara signal/slot-mekanismen. Hur som helst finns inte metoden <methodname>show()</methodname> listad, och därför måste den vara en metod som också tillhandahålls via arv. Klassen som <classname>QButton</classname> ärver är <classname>QWidget</classname>. Följ bara länken igen, så ser du en hel mängd metoder som klassen QWidget tillhandahåller, inklusive metoden <methodname>show()</methodname>. Nu förstår vi vad som gjordes i exemplet med knappen: <orderedlist> +<listitem><para>Skapa en instans av <classname>QPushButton</classname>, och använd den andra konstruktorn för att ange knappens text</para></listitem> +<listitem><para>Ändra storlek på komponenten till dess innehåll</para></listitem> +<listitem><para>Ange komponenten som huvudkomponent i instansen av <classname>QApplication</classname></para></listitem> +<listitem><para>Tala om för den grafiska komponenten att den ska visas på skärmen genom att anropa <methodname>show()</methodname>, en metod som ärvts från <classname>QWidget</classname></para></listitem> </orderedlist> </para> -<para ->Efter att ha anropat metoden <methodname ->exec()</methodname ->, är programmet synligt för användaren, och visar ett fönster med knappen "Hello world!". Observera att program med grafiska gränssnitt beter sig något annorlunda jämfört med procedurbaserade program. Den viktigaste saken här är att programmet går in i en så kallad "huvudhändelsesnurra". Det betyder att programmet måste vänta på användarens åtgärder och därefter reagera på dem. Det betyder också, för ett QT-program, att programmet måste vara i huvudhändelsesnurran för att starta händelsehanteringen. Nästa avsnitt beskriver kortfattat vad det betyder förprogrammeraren och vad QT erbjuder för att hantera händelser. </para> -<note -><para ->För användare som redan är avancerade: Knappen har ingen överliggande komponent deklarerad i konstruktorn. Därför är den en toppnivåkomponent och kör med en lokal händelsesnurra som inte behöver vänta på huvudhändelsesnurran. Se dokumentationen för klassen QWidget och KDE:s biblioteksreferensguide.</para> -</note -> +<para>Efter att ha anropat metoden <methodname>exec()</methodname>, är programmet synligt för användaren, och visar ett fönster med knappen "Hello world!". Observera att program med grafiska gränssnitt beter sig något annorlunda jämfört med procedurbaserade program. Den viktigaste saken här är att programmet går in i en så kallad "huvudhändelsesnurra". Det betyder att programmet måste vänta på användarens åtgärder och därefter reagera på dem. Det betyder också, för ett QT-program, att programmet måste vara i huvudhändelsesnurran för att starta händelsehanteringen. Nästa avsnitt beskriver kortfattat vad det betyder förprogrammeraren och vad QT erbjuder för att hantera händelser. </para> +<note><para>För användare som redan är avancerade: Knappen har ingen överliggande komponent deklarerad i konstruktorn. Därför är den en toppnivåkomponent och kör med en lokal händelsesnurra som inte behöver vänta på huvudhändelsesnurran. Se dokumentationen för klassen QWidget och KDE:s biblioteksreferensguide.</para> +</note> </sect3> </sect2> <sect2 id="c2s1s3"> -<title ->Användarkommandon</title> -<para ->Efter att ha läst föregående avsnitt, bör du redan känna till: <itemizedlist> -<listitem -><para ->Vad QT-biblioteket tillhandahåller för program med grafiska gränssnitt,</para -></listitem> -<listitem -><para ->Hur ett program som använder QT skapas, och</para -></listitem> -<listitem -><para ->Var och hur du hittar information om klasser som du vill använda med dokumentationsbläddraren.</para -></listitem> -</itemizedlist -> +<title>Användarkommandon</title> +<para>Efter att ha läst föregående avsnitt, bör du redan känna till: <itemizedlist> +<listitem><para>Vad QT-biblioteket tillhandahåller för program med grafiska gränssnitt,</para></listitem> +<listitem><para>Hur ett program som använder QT skapas, och</para></listitem> +<listitem><para>Var och hur du hittar information om klasser som du vill använda med dokumentationsbläddraren.</para></listitem> +</itemizedlist> </para> -<para ->Nu fortsätter vi med att ge programmet "liv" genom att behandla användarhändelser. I allmänhet har användaren två sätt att kommunicera med ett program: musen och tangentbordet. Ett grafiskt användargränssnitt måste tillhandahålla metoder för båda sätten, som detekterar åtgärder och gör något som reaktion på åtgärderna. </para -> -<para ->Fönstersystemet skickar därför alla kommunikationshändelser till motsvarande program. <classname ->QApplication</classname -> skickar dem därefter till det aktiva fönstret som ett <classname ->QEvent</classname ->, och komponenterna själva måste bestämma vad som ska göras med dem. En komponent tar emot händelsen och behandlar <methodname ->QWidget::event(QEvent*)</methodname ->, som avgör vilken händelse som har skett och hur reaktionen ska ske. Metoden <methodname ->event()</methodname -> gör därför den huvudsakliga händelsehanteringen. Därefter skickar metoden <methodname ->event()</methodname -> händelsen till så kallade händelsefilter som avgör vad som sker och vad som ska göras med händelsen. Om inget filter signalerar att det är ansvarigt för händelsen, anropas speciell händelsehantering. Därigenom kan vi skilja mellan: <itemizedlist> -<listitem -><para ->Tangentbordshändelser: Tangenterna Tabulator och Skift+Tabulator:</para> +<para>Nu fortsätter vi med att ge programmet "liv" genom att behandla användarhändelser. I allmänhet har användaren två sätt att kommunicera med ett program: musen och tangentbordet. Ett grafiskt användargränssnitt måste tillhandahålla metoder för båda sätten, som detekterar åtgärder och gör något som reaktion på åtgärderna. </para> +<para>Fönstersystemet skickar därför alla kommunikationshändelser till motsvarande program. <classname>QApplication</classname> skickar dem därefter till det aktiva fönstret som ett <classname>QEvent</classname>, och komponenterna själva måste bestämma vad som ska göras med dem. En komponent tar emot händelsen och behandlar <methodname>QWidget::event(QEvent*)</methodname>, som avgör vilken händelse som har skett och hur reaktionen ska ske. Metoden <methodname>event()</methodname> gör därför den huvudsakliga händelsehanteringen. Därefter skickar metoden <methodname>event()</methodname> händelsen till så kallade händelsefilter som avgör vad som sker och vad som ska göras med händelsen. Om inget filter signalerar att det är ansvarigt för händelsen, anropas speciell händelsehantering. Därigenom kan vi skilja mellan: <itemizedlist> +<listitem><para>Tangentbordshändelser: Tangenterna Tabulator och Skift+Tabulator:</para> <itemizedlist> -<listitem -><para -><methodname ->virtual void focusInEvent(QFocusEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void focusOutEvent(QFocusEvent *)</methodname -></para -></listitem> +<listitem><para><methodname>virtual void focusInEvent(QFocusEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void focusOutEvent(QFocusEvent *)</methodname></para></listitem> </itemizedlist> </listitem> -<listitem -><para ->All övrig tangentbordsinmatning:</para> +<listitem><para>All övrig tangentbordsinmatning:</para> <itemizedlist> -<listitem -><para -><methodname ->virtual void keyPressEvent(QKeyEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void keyReleaseEvent(QKeyEvent *)</methodname -></para -></listitem> +<listitem><para><methodname>virtual void keyPressEvent(QKeyEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void keyReleaseEvent(QKeyEvent *)</methodname></para></listitem> </itemizedlist> </listitem> -<listitem -><para ->Musförflyttning:</para> +<listitem><para>Musförflyttning:</para> <itemizedlist> -<listitem -><para -><methodname ->virtual void mouseMoveEvent(QMouseEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void enterEvent(QEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void leaveEvent(QEvent *)</methodname -></para -></listitem> +<listitem><para><methodname>virtual void mouseMoveEvent(QMouseEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void enterEvent(QEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void leaveEvent(QEvent *)</methodname></para></listitem> </itemizedlist> </listitem> -<listitem -><para ->Åtgärder med musknapparna</para> +<listitem><para>Åtgärder med musknapparna</para> <itemizedlist> -<listitem -><para -><methodname ->virtual void mousePressEvent(QMouseEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void mouseReleaseEvent(QMouseEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void mouseDoubleClickEvent(QMouseEvent *)</methodname -></para -></listitem> +<listitem><para><methodname>virtual void mousePressEvent(QMouseEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void mouseReleaseEvent(QMouseEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void mouseDoubleClickEvent(QMouseEvent *)</methodname></para></listitem> </itemizedlist> </listitem> -<listitem -><para ->Fönsterhändelser som innehåller den grafiska komponenten</para> +<listitem><para>Fönsterhändelser som innehåller den grafiska komponenten</para> <itemizedlist> -<listitem -><para -><methodname ->virtual void moveEvent(QMoveEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void resizeEvent(QResizeEvent *)</methodname -></para -></listitem> -<listitem -><para -><methodname ->virtual void closeEvent(QCloseEvent *)</methodname -></para -></listitem> +<listitem><para><methodname>virtual void moveEvent(QMoveEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void resizeEvent(QResizeEvent *)</methodname></para></listitem> +<listitem><para><methodname>virtual void closeEvent(QCloseEvent *)</methodname></para></listitem> </itemizedlist> </listitem> </itemizedlist> </para> -<para ->Observera att alla händelsefunktioner är virtuella och protected. Därför kan du implementera om händelser som du behöver i egna komponenter och ange hur din komponent ska reagera. <classname ->QWidget</classname -> innehåller också några andra virtuella metoder som kan vara användbara i dina program. Hur som helst, är det nödvändigt att känna till <classname ->QWidget</classname -> väl. </para> +<para>Observera att alla händelsefunktioner är virtuella och protected. Därför kan du implementera om händelser som du behöver i egna komponenter och ange hur din komponent ska reagera. <classname>QWidget</classname> innehåller också några andra virtuella metoder som kan vara användbara i dina program. Hur som helst, är det nödvändigt att känna till <classname>QWidget</classname> väl. </para> </sect2> <sect2 id="c1s2s4"> -<title ->Interaktion mellan objekt med signaler och slots</title> -<para ->Nu kommer vi till den mest uppenbara fördelen med QT-verktygslådan: signal/slot-mekanismen. Den erbjuder en mycket bekväm och användbar lösning för kommunikation mellan objekt, som oftast löses med återanropsfunktioner i X-windows verktygslådor. Eftersom kommunikationen kräver strikt programmering och ibland gör det mycket svårt att skapa användargränssnitt (som beskrivs i QT-dokumentationen och förklaras i Programming with Qt av K. Dalheimer), uppfann TrollTech ett nytt system där objekt kan skicka signaler som kan anslutas till metoder som deklareras som slots. Som programmerare av C++, behöver man bara veta några saker om mekanismen: <itemizedlist> -<listitem -><para ->klassdeklarationen av en klass som använder signaler och slots måste innehålla makrot Q_OBJECT i början (utan ett semikolon), och måste härledas från klassen <classname ->QObject</classname -> </para -></listitem> -<listitem -><para ->en signal kan skickas med nyckelordet emit, t.ex. emit signal(parametrar);, inne i vilken medlemsfunktion som helst i en klass som tillåter användning av signaler och slots </para -></listitem> - -<listitem -><para ->alla signaler som används av klasser som inte ärvs måste läggas till i klassdeklarationen i en signalsektion </para -></listitem> -<listitem -><para ->alla metoder som kan anslutas med en signal deklareras i sektioner med det ytterligare nyckelordet slot, t.ex. public slots: inne i klassdeklarationen </para -></listitem> -<listitem -><para ->metaobjektkompilatorn moc har körts för deklarationsfilen för att expandera makron och skapa implementeringen (som man inte behöverkänna till). Utdatafilerna från moc kompileras också av C++ kompilatorn. </para -></listitem> +<title>Interaktion mellan objekt med signaler och slots</title> +<para>Nu kommer vi till den mest uppenbara fördelen med QT-verktygslådan: signal/slot-mekanismen. Den erbjuder en mycket bekväm och användbar lösning för kommunikation mellan objekt, som oftast löses med återanropsfunktioner i X-windows verktygslådor. Eftersom kommunikationen kräver strikt programmering och ibland gör det mycket svårt att skapa användargränssnitt (som beskrivs i QT-dokumentationen och förklaras i Programming with Qt av K. Dalheimer), uppfann TrollTech ett nytt system där objekt kan skicka signaler som kan anslutas till metoder som deklareras som slots. Som programmerare av C++, behöver man bara veta några saker om mekanismen: <itemizedlist> +<listitem><para>klassdeklarationen av en klass som använder signaler och slots måste innehålla makrot Q_OBJECT i början (utan ett semikolon), och måste härledas från klassen <classname>QObject</classname> </para></listitem> +<listitem><para>en signal kan skickas med nyckelordet emit, t.ex. emit signal(parametrar);, inne i vilken medlemsfunktion som helst i en klass som tillåter användning av signaler och slots </para></listitem> + +<listitem><para>alla signaler som används av klasser som inte ärvs måste läggas till i klassdeklarationen i en signalsektion </para></listitem> +<listitem><para>alla metoder som kan anslutas med en signal deklareras i sektioner med det ytterligare nyckelordet slot, t.ex. public slots: inne i klassdeklarationen </para></listitem> +<listitem><para>metaobjektkompilatorn moc har körts för deklarationsfilen för att expandera makron och skapa implementeringen (som man inte behöverkänna till). Utdatafilerna från moc kompileras också av C++ kompilatorn. </para></listitem> </itemizedlist> </para> -<para ->Ett annat sätt att använda signaler utan att härleda från <classname ->QObject</classname -> är att använda klassen <classname ->QSignal</classname ->. Se referensdokumentationen för mer information och exempel på användning. Vi antar att du härleder från <classname ->QObject</classname -> i det följande. </para> -<para ->På detta sätt kan din klass skicka signaler vart som helst och tillhandahålla slots som signaler kan anslutas till. Genom att använda en signal, behöver du inte bry dig om vem som tar emot den. Du behöver bara skicka signalen, och vilken slot du än ansluter till den kan reagera när den skickas. Dessutom kan en slot användas som en vanlig metod i implementeringen. </para> -<para ->För att nu ansluta en signal till en slot, måste du använda metoderna <methodname ->connect()</methodname -> som tillhandahålls av <classname ->QObject</classname -> eller, om tillgängliga, speciella metoder som objekt tillhandahåller för att ange anslutningen för en viss signal. </para> +<para>Ett annat sätt att använda signaler utan att härleda från <classname>QObject</classname> är att använda klassen <classname>QSignal</classname>. Se referensdokumentationen för mer information och exempel på användning. Vi antar att du härleder från <classname>QObject</classname> i det följande. </para> +<para>På detta sätt kan din klass skicka signaler vart som helst och tillhandahålla slots som signaler kan anslutas till. Genom att använda en signal, behöver du inte bry dig om vem som tar emot den. Du behöver bara skicka signalen, och vilken slot du än ansluter till den kan reagera när den skickas. Dessutom kan en slot användas som en vanlig metod i implementeringen. </para> +<para>För att nu ansluta en signal till en slot, måste du använda metoderna <methodname>connect()</methodname> som tillhandahålls av <classname>QObject</classname> eller, om tillgängliga, speciella metoder som objekt tillhandahåller för att ange anslutningen för en viss signal. </para> <sect3 id="c1s2s4s1"> -<title ->Exempel på användning</title> -<para ->För att förklara hur objektinteraktion hanteras, tar vi vårt första exempel igen och utökar det med en enkel anslutning: <programlisting ->#include <qapplication.h> +<title>Exempel på användning</title> +<para>För att förklara hur objektinteraktion hanteras, tar vi vårt första exempel igen och utökar det med en enkel anslutning: <programlisting>#include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -637,87 +262,37 @@ return a.exec(); } </programlisting> </para> -<para ->Du märker att allt du måste lägga till för att ge knappen mer kommunikation är metoden <methodname ->connect()</methodname ->: <methodname ->connect (&hello, SIGNAL( clicked() ), &a, SLOT( quit() ))</methodname ->;. Vad är betydelsen nu? Klassdeklarationen av QObject säger följande om metoden <methodname ->connect()</methodname ->: </para> -<para -><methodname ->bool connect ( const QObject * avsändare, const char * signal, const QObject * mottagare, const char * medlem ) </methodname -></para> -<para ->Detta betyder att du måste ange en <classname ->QObject</classname ->-instanspekare som är signalens avsändare, vilket betyder att den kan skicka signalen, som första parameter. Därefter måste du ange signalen som du vill ansluta till. De två sista parametrarna är mottagarobjektet som tillhandahåller en slot, följt av medlemsfunktionen som är en verklig slot som kommer att köras när signalen skickas. </para> -<para ->Genom att använda signaler och slots, kan programmets objekt enkelt kommunicera med varandra utan att uttryckligen bero på typen hos mottagarobjektet. Du får lära dig mer om hur den här mekanismen används produktivt senare i handboken. Mer information om signal/slot-mekanismen finns också i <ulink url="developer.kde.org/documentation/library/libraryref.html" ->KDE:s biblioteksreferensguide</ulink -> och <ulink url="doc.trolltech.com" ->QT:s direktreferens</ulink ->. </para> +<para>Du märker att allt du måste lägga till för att ge knappen mer kommunikation är metoden <methodname>connect()</methodname>: <methodname>connect (&hello, SIGNAL( clicked() ), &a, SLOT( quit() ))</methodname>;. Vad är betydelsen nu? Klassdeklarationen av QObject säger följande om metoden <methodname>connect()</methodname>: </para> +<para><methodname>bool connect ( const QObject * avsändare, const char * signal, const QObject * mottagare, const char * medlem ) </methodname></para> +<para>Detta betyder att du måste ange en <classname>QObject</classname>-instanspekare som är signalens avsändare, vilket betyder att den kan skicka signalen, som första parameter. Därefter måste du ange signalen som du vill ansluta till. De två sista parametrarna är mottagarobjektet som tillhandahåller en slot, följt av medlemsfunktionen som är en verklig slot som kommer att köras när signalen skickas. </para> +<para>Genom att använda signaler och slots, kan programmets objekt enkelt kommunicera med varandra utan att uttryckligen bero på typen hos mottagarobjektet. Du får lära dig mer om hur den här mekanismen används produktivt senare i handboken. Mer information om signal/slot-mekanismen finns också i <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE:s biblioteksreferensguide</ulink> och <ulink url="doc.trolltech.com">QT:s direktreferens</ulink>. </para> </sect3> </sect2> </sect1> <sect1 id="c2s3"> -<title ->Vad KDE tillhandahåller</title> +<title>Vad KDE tillhandahåller</title> <sect2 id="c2s3s1"> -<title ->KDE 3.x biblioteken</title> -<para ->KDE:s huvudbibliotek som används för att skapa KDE-program är: <itemizedlist> -<listitem -><para ->biblioteket tdecore, som innehåller alla klasser som är osynliga element för att tillhandahålla programfunktioner </para -></listitem> -<listitem -><para ->biblioteket tdeui, som innehåller element i användargränssnittet som menyrader, verktygsrader, etc. </para -></listitem> -<listitem -><para ->biblioteket tdefile, som innehåller filvalsdialogrutor </para -></listitem> +<title>KDE 3.x biblioteken</title> +<para>KDE:s huvudbibliotek som används för att skapa KDE-program är: <itemizedlist> +<listitem><para>biblioteket tdecore, som innehåller alla klasser som är osynliga element för att tillhandahålla programfunktioner </para></listitem> +<listitem><para>biblioteket tdeui, som innehåller element i användargränssnittet som menyrader, verktygsrader, etc. </para></listitem> +<listitem><para>biblioteket tdefile, som innehåller filvalsdialogrutor </para></listitem> </itemizedlist> </para> -<para ->Dessutom erbjuder KDE följande bibliotek för speciallösningar: <itemizedlist> -<listitem -><para ->biblioteket tdefx, som innehåller pixmaps, bildeffekter och TDEStyle-utökningen till QStyle </para -></listitem> -<listitem -><para ->biblioteket tdehtml, som innehåller KDE:s HTML-komponent </para -></listitem> -<listitem -><para ->biblioteket kjs, som innehåller KDE:s stöd för Javaskript </para -></listitem> -<listitem -><para ->biblioteket tdeio, som innehåller åtkomst av nätverksfiler på låg nivå </para -></listitem> -<listitem -><para ->biblioteket tdeparts, med stöd för återanvändbara, inbäddningsbara och utökningsbara program </para -></listitem> +<para>Dessutom erbjuder KDE följande bibliotek för speciallösningar: <itemizedlist> +<listitem><para>biblioteket tdefx, som innehåller pixmaps, bildeffekter och TDEStyle-utökningen till QStyle </para></listitem> +<listitem><para>biblioteket tdehtml, som innehåller KDE:s HTML-komponent </para></listitem> +<listitem><para>biblioteket kjs, som innehåller KDE:s stöd för Javaskript </para></listitem> +<listitem><para>biblioteket tdeio, som innehåller åtkomst av nätverksfiler på låg nivå </para></listitem> +<listitem><para>biblioteket tdeparts, med stöd för återanvändbara, inbäddningsbara och utökningsbara program </para></listitem> </itemizedlist> </para> -<para ->Därefter tar vi en titt på vad som behövs för att förvandla vårt första QT-program till ett KDE-program. </para> +<para>Därefter tar vi en titt på vad som behövs för att förvandla vårt första QT-program till ett KDE-program. </para> </sect2> <sect2 id="c2s3s2"> -<title ->Exempel på ett KDE-program</title> -<para ->Du ser att det inte är mycket svårare att skriva ett KDE-program än ett QT-program i det följande. Du måste bara använda några andra klasser för att komma åt KDE:s funktioner, så är du nästan klar. Vi diskuterar en ändrad version av QT-koden ovan, som ett exempel: <programlisting ->#include <tdeapplication.h> +<title>Exempel på ett KDE-program</title> +<para>Du ser att det inte är mycket svårare att skriva ett KDE-program än ett QT-program i det följande. Du måste bara använda några andra klasser för att komma åt KDE:s funktioner, så är du nästan klar. Vi diskuterar en ändrad version av QT-koden ovan, som ett exempel: <programlisting>#include <tdeapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -735,141 +310,65 @@ hello.show(); return a.exec(); } </programlisting> -</para -> -<para ->Du märker att vi först har ändrat från <classname ->QApplication</classname -> till <classname ->TDEApplication</classname ->. Dessutom var vi tvungna att ändra den tidigare använda metoden <methodname ->setMainWidget()</methodname -> till <methodname ->setTopWidget</methodname -> som <classname ->TDEApplication</classname -> använder för att ange huvudkomponenten. Det är allt! Ditt första KDE-program är klart. Du behöver bara tala om för kompilatorn vilken deklarationssökväg KDE har, och för länkaren att den ska länka med tdecore-biblioteket med -ltdecore. </para> -<para ->Eftersom du nu åtminstone vet vad funktionen <function ->main()</function -> i allmänhet tillhandahåller, och hur ett program blir synligt och tillåter kommunikation mellan användare och objekt, fortsätter vi med nästa kapitel, där vårt första program med &tdevelop; skapas. Där kan du också prova allting som tidigare nämnts, och se effekterna. </para> -<para ->Vad du ytterligare bör ha tittat på hittills är QT-referensdokumentationen, särskilt klasserna <classname ->QApplication</classname ->, <classname ->QWidget</classname -> och <classname ->QObject</classname -> och tdecore-biblioteksdokumentationen för klassen <classname ->TDEApplication</classname ->. <ulink url="developer.kde.org/documentation/library/libraryref.html" ->KDE:s biblioteksreferensguide</ulink -> har också en fullständig beskrivning av hur konstruktorerna i <classname ->QApplication</classname -> och <classname ->TDEApplication</classname -> anropas, inklusive behandling av kommandoradsväljare. </para> +</para> +<para>Du märker att vi först har ändrat från <classname>QApplication</classname> till <classname>TDEApplication</classname>. Dessutom var vi tvungna att ändra den tidigare använda metoden <methodname>setMainWidget()</methodname> till <methodname>setTopWidget</methodname> som <classname>TDEApplication</classname> använder för att ange huvudkomponenten. Det är allt! Ditt första KDE-program är klart. Du behöver bara tala om för kompilatorn vilken deklarationssökväg KDE har, och för länkaren att den ska länka med tdecore-biblioteket med -ltdecore. </para> +<para>Eftersom du nu åtminstone vet vad funktionen <function>main()</function> i allmänhet tillhandahåller, och hur ett program blir synligt och tillåter kommunikation mellan användare och objekt, fortsätter vi med nästa kapitel, där vårt första program med &tdevelop; skapas. Där kan du också prova allting som tidigare nämnts, och se effekterna. </para> +<para>Vad du ytterligare bör ha tittat på hittills är QT-referensdokumentationen, särskilt klasserna <classname>QApplication</classname>, <classname>QWidget</classname> och <classname>QObject</classname> och tdecore-biblioteksdokumentationen för klassen <classname>TDEApplication</classname>. <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE:s biblioteksreferensguide</ulink> har också en fullständig beskrivning av hur konstruktorerna i <classname>QApplication</classname> och <classname>TDEApplication</classname> anropas, inklusive behandling av kommandoradsväljare. </para> </sect2> </sect1> </chapter> <chapter id="chapter3"> -<title ->Skapa nya program</title> +<title>Skapa nya program</title> <sect1 id="c3s1"> -<title ->Programguiden</title> -<para ->Programguiden i &tdevelop; är avsedd att låta dig börja arbeta med ett nytt projekt i &tdevelop;. Därför skapas alla projekt först av guiden, och därefter kan du börja bygga dem och utöka vad som redan tillhandahålls av källkodsskelettet. Du kan välja bland flera projekttyper enligt målet med ditt projekt: <itemizedlist> -<listitem -><para ->KDE Application Framework: Innehåller källkod för en fullständig ramstruktur till ett vanligt KDE-program </para -></listitem> -<listitem -><para ->QMake project: Skapar ett programramverk baserat på TrollTechs qmake konfigurationssystem </para -></listitem> -<listitem -><para ->Simple Hello world program: Skapar ett C++ terminalbaserat program utan stöd för grafiskt gränssnitt </para -></listitem> -<listitem -><para ->En mängd andra programskelett </para -></listitem> +<title>Programguiden</title> +<para>Programguiden i &tdevelop; är avsedd att låta dig börja arbeta med ett nytt projekt i &tdevelop;. Därför skapas alla projekt först av guiden, och därefter kan du börja bygga dem och utöka vad som redan tillhandahålls av källkodsskelettet. Du kan välja bland flera projekttyper enligt målet med ditt projekt: <itemizedlist> +<listitem><para>KDE Application Framework: Innehåller källkod för en fullständig ramstruktur till ett vanligt KDE-program </para></listitem> +<listitem><para>QMake project: Skapar ett programramverk baserat på TrollTechs qmake konfigurationssystem </para></listitem> +<listitem><para>Simple Hello world program: Skapar ett C++ terminalbaserat program utan stöd för grafiskt gränssnitt </para></listitem> +<listitem><para>En mängd andra programskelett </para></listitem> </itemizedlist> </para> -<para ->I det här kapitlet ser vi hur Programguiden kan startas, och vad som måste göras för att skapa ett KDE-programmeringsprojekt. Det här är också det första steget i uppföljningen där vi skapar den ursprungliga versionen av vårt exempelprojekt. Stegen är oftast likadana för alla andra projekttyper, men det kanske inte finns så många tillgängliga alternativ. </para> +<para>I det här kapitlet ser vi hur Programguiden kan startas, och vad som måste göras för att skapa ett KDE-programmeringsprojekt. Det här är också det första steget i uppföljningen där vi skapar den ursprungliga versionen av vårt exempelprojekt. Stegen är oftast likadana för alla andra projekttyper, men det kanske inte finns så många tillgängliga alternativ. </para> </sect1> <sect1 id="c3s2"> -<title ->Starta programguiden och skapa projekt</title> +<title>Starta programguiden och skapa projekt</title> <sect2 id="c3s2s1"> -<title ->Starta programguiden och första sidan</title> -<para ->Öppna &tdevelop; för att börja med ditt KDE-program. Välj Nytt projekt i projektmenyn. Programguiden startar, och du ser urvalsträdet på första sidan som innehåller tillgängliga projekttyper som kan skapas. Välj delträdet C++, därefter KDE, och Application framework. </para> -<para ->Vi kommer att skapa programmet KScribble som exempelprojekt. Skriv in det som programmets namn, och ändra eventuellt annan information som behövs längst ner på skärmen. Välj därefter Nästa. <screenshot -><mediaobject -><imageobject> +<title>Starta programguiden och första sidan</title> +<para>Öppna &tdevelop; för att börja med ditt KDE-program. Välj Nytt projekt i projektmenyn. Programguiden startar, och du ser urvalsträdet på första sidan som innehåller tillgängliga projekttyper som kan skapas. Välj delträdet C++, därefter KDE, och Application framework. </para> +<para>Vi kommer att skapa programmet KScribble som exempelprojekt. Skriv in det som programmets namn, och ändra eventuellt annan information som behövs längst ner på skärmen. Välj därefter Nästa. <screenshot><mediaobject><imageobject> <imagedata fileref="appwizard.png" format="PNG"/> -</imageobject -><textobject -><phrase ->Programguiden</phrase -></textobject> -</mediaobject -></screenshot> +</imageobject><textobject><phrase>Programguiden</phrase></textobject> +</mediaobject></screenshot> </para> </sect2> <sect2 id="c3s2s2"> -<title ->Versionskontrollinformation</title> -<para ->På den här skärmen har du möjlighet att bestämma om projektet ska använda ett versionskontrollsystem som CVS. För vårt exempelprojekt använder vi inte versionskontroll, så försäkra dig om att rutan lyder Inget, och välj Nästa. </para> +<title>Versionskontrollinformation</title> +<para>På den här skärmen har du möjlighet att bestämma om projektet ska använda ett versionskontrollsystem som CVS. För vårt exempelprojekt använder vi inte versionskontroll, så försäkra dig om att rutan lyder Inget, och välj Nästa. </para> </sect2> <sect2 id="c3s2s3"> -<title ->Deklarations- och källkodsmallar</title> -<para ->Följande två sidor visar exempel på sidhuvuden som hamnar överst i deklarations- och källkodsfilerna som du skapar med &tdevelop;. Lämna dem bara som de är för närvarande, och välj Nästa och därefter Slutför. Om knappen Slutför inte är aktiverad, har du inte ställt in alla alternativ riktigt. Använd knappen Tillbaka för att återgå till tidigare sidor och rätta eventuella misstag. </para> +<title>Deklarations- och källkodsmallar</title> +<para>Följande två sidor visar exempel på sidhuvuden som hamnar överst i deklarations- och källkodsfilerna som du skapar med &tdevelop;. Lämna dem bara som de är för närvarande, och välj Nästa och därefter Slutför. Om knappen Slutför inte är aktiverad, har du inte ställt in alla alternativ riktigt. Använd knappen Tillbaka för att återgå till tidigare sidor och rätta eventuella misstag. </para> </sect2> <sect2 id="c3s2s4"> -<title ->Avslutning</title> -<para ->När den är färdig, ska Programguiden stängas och meddelandefönstret ska dyka upp och visa information om aktiviteterna som &tdevelop; för närvarande utför. I slutet av alla aktiviteter ska du se **** Lyckades ****. Det betyder att programmets ramverk har skapats med lyckat resultat. </para> +<title>Avslutning</title> +<para>När den är färdig, ska Programguiden stängas och meddelandefönstret ska dyka upp och visa information om aktiviteterna som &tdevelop; för närvarande utför. I slutet av alla aktiviteter ska du se **** Lyckades ****. Det betyder att programmets ramverk har skapats med lyckat resultat. </para> </sect2> </sect1> <sect1 id="c3s3"> -<title ->Bygg första gången</title> -<para ->Efter projektet har skapats, tar vi först en tur genom källkoden för att få en allmän förståelse för hur programmets ramverk ser ut. Det hjälper oss inte bara att komma igång, utan vi vet också var ändringar ska göras i senare steg. </para> -<para ->Det här kapitlet gör antagandet att du förstår den grundläggande hanteringen av &tdevelop;. Titta i KDevelops handbok för att hitta informationen om du behöver. </para> -<para ->Hantering av automake visar projektfilerna enligt följande: <screenshot -><mediaobject -><imageobject> +<title>Bygg första gången</title> +<para>Efter projektet har skapats, tar vi först en tur genom källkoden för att få en allmän förståelse för hur programmets ramverk ser ut. Det hjälper oss inte bara att komma igång, utan vi vet också var ändringar ska göras i senare steg. </para> +<para>Det här kapitlet gör antagandet att du förstår den grundläggande hanteringen av &tdevelop;. Titta i KDevelops handbok för att hitta informationen om du behöver. </para> +<para>Hantering av automake visar projektfilerna enligt följande: <screenshot><mediaobject><imageobject> <imagedata fileref="kscribblefiles.png" format="PNG"/> -</imageobject -><textobject -><phrase ->Filer i vårt projekt</phrase -></textobject> -</mediaobject -></screenshot> +</imageobject><textobject><phrase>Filer i vårt projekt</phrase></textobject> +</mediaobject></screenshot> </para> -<para ->Innan vi dyker ner i källkoden, ska vi låta &tdevelop; bygga och köra vårt nya program. För att göra det, välj Bygg projekt i menyn Bygg, eller tryck på F8. Utmatningsfönstret öppnas och visar utskrivna meddelanden under kompileringsfasen. <programlisting ->1 cd /home/caleb/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k +<para>Innan vi dyker ner i källkoden, ska vi låta &tdevelop; bygga och köra vårt nya program. För att göra det, välj Bygg projekt i menyn Bygg, eller tryck på F8. Utmatningsfönstret öppnas och visar utskrivna meddelanden under kompileringsfasen. <programlisting>1 cd /home/caleb/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k 2 gmake all-recursive 3 gmake[1]: Entering directory `/home/caleb/kscribble' 4 Making all in doc @@ -931,8 +430,7 @@ return a.exec(); -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c -o pref.o `test -f 'pref.cpp' || echo '/home/caleb/kscribble/src/'`pref.cpp -47 /usr/local/kde3/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h -> kscribbleiface.kidl || +47 /usr/local/kde3/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h > kscribbleiface.kidl || ( rm -f kscribbleiface.kidl ; /bin/false ) 48 /usr/local/kde3/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl 49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \ @@ -971,30 +469,18 @@ return a.exec(); 64 *** Lyckades *** </programlisting> </para> -<para ->Som du kan se, har vi lagt till radnummer framför varje rad som inte visas i utmatningen, men som gör det enklare att beskriva vad som sker under byggningen. För det första fungerar byggprogrammet rekursivt. Det betyder att det börjar i katalogen där det startas, först går ner i underkataloger, en i taget, och därefter återgår till katalogen där det startades, behandlar det, och sedan avslutas. </para> -<para ->Den första intressanta raden är 24. Observera att g++, som är vår C++ kompilator, anropas av make på den här raden för att kompilera den första källkodsfilen i vårt projekt - i det här fallet main.cpp. Många ytterligare kommandoradsväljare används också med g++ kompilatorn.Vissa är förvalda, medan andra kan anpassas via &tdevelop;. </para> -<para ->Innan nästa fil (kscribble.cpp, rad 29) kompileras, körs först moc (metaobjektkompilatorn) för kscribble.h (rad 25). Det sker därför att KScribble-klasser använder signaler och slots, så att makrot Q_OBJECT måste expanderas, och moc gör det åt oss. Resultatfilen, kscribble.moc, används av kscribble.cpp via satsen #include i filen. </para> +<para>Som du kan se, har vi lagt till radnummer framför varje rad som inte visas i utmatningen, men som gör det enklare att beskriva vad som sker under byggningen. För det första fungerar byggprogrammet rekursivt. Det betyder att det börjar i katalogen där det startas, först går ner i underkataloger, en i taget, och därefter återgår till katalogen där det startades, behandlar det, och sedan avslutas. </para> +<para>Den första intressanta raden är 24. Observera att g++, som är vår C++ kompilator, anropas av make på den här raden för att kompilera den första källkodsfilen i vårt projekt - i det här fallet main.cpp. Många ytterligare kommandoradsväljare används också med g++ kompilatorn.Vissa är förvalda, medan andra kan anpassas via &tdevelop;. </para> +<para>Innan nästa fil (kscribble.cpp, rad 29) kompileras, körs först moc (metaobjektkompilatorn) för kscribble.h (rad 25). Det sker därför att KScribble-klasser använder signaler och slots, så att makrot Q_OBJECT måste expanderas, och moc gör det åt oss. Resultatfilen, kscribble.moc, används av kscribble.cpp via satsen #include i filen. </para> </sect1> <sect1 id="c3s4"> -<title ->Källkodsskelettet</title> -<para ->För att klargöra hur ett KDE-program fungerar, måste vi först granska källkodsskelettet som redan tillhandahålls av programguiden mycket noggrant. Som vi redan sett, har vi en uppsättning källkods- och deklarationsfiler som bygger upp den ursprungliga programkoden och gör den klar att köra. Därför är det enklaste sättet att förklara koden att följa implementeringen rad för rad som den behandlas under körning av programmet till det går in i huvudhändelsesnurran och är klart att acceptera användarinmatning. Därefter tar vi en titt på funktionerna som möjliggör kommunikation med användaren, och hur vissa saker fungerar. Det här är troligen det bästa sättet att förklara ramverket, och eftersom det är liknande för nästan alla KDE-program, gör det att du kan läsa källkod också från andra projekt. Dessutom lär du dig var olika delar av koden ska ändras för att få ditt program att bete sig som det är avsett att göra. </para> +<title>Källkodsskelettet</title> +<para>För att klargöra hur ett KDE-program fungerar, måste vi först granska källkodsskelettet som redan tillhandahålls av programguiden mycket noggrant. Som vi redan sett, har vi en uppsättning källkods- och deklarationsfiler som bygger upp den ursprungliga programkoden och gör den klar att köra. Därför är det enklaste sättet att förklara koden att följa implementeringen rad för rad som den behandlas under körning av programmet till det går in i huvudhändelsesnurran och är klart att acceptera användarinmatning. Därefter tar vi en titt på funktionerna som möjliggör kommunikation med användaren, och hur vissa saker fungerar. Det här är troligen det bästa sättet att förklara ramverket, och eftersom det är liknande för nästan alla KDE-program, gör det att du kan läsa källkod också från andra projekt. Dessutom lär du dig var olika delar av koden ska ändras för att få ditt program att bete sig som det är avsett att göra. </para> <sect2 id="c3s4s1"> -<title ->Funktionen main()</title> -<para ->Eftersom programmet börjar köra genom att gå in i funktionen <function ->main()</function ->, är det där vi börjar titta på koden. Funktionen <function ->main()</function -> i KScribble är implementerad i filen main.cpp, och kan också hittas genom att använda klassbläddraren och välja mappen "Globala funktioner". <programlisting ->1 int main(int argc, char **argv) +<title>Funktionen main()</title> +<para>Eftersom programmet börjar köra genom att gå in i funktionen <function>main()</function>, är det där vi börjar titta på koden. Funktionen <function>main()</function> i KScribble är implementerad i filen main.cpp, och kan också hittas genom att använda klassbläddraren och välja mappen "Globala funktioner". <programlisting>1 int main(int argc, char **argv) 2 { 3 TDEAboutData about("kscribble", I18N_NOOP("KScribble"), version, description, 4 TDEAboutData::License_GPL, "(C) 2002 Ditt Namn", 0, 0, "du@du.se"); @@ -1034,27 +520,18 @@ return a.exec(); 38 return app.exec(); 39 } </programlisting> -</para -> -<para ->Vad som först händer nu, är att objektet <classname ->TDEApplication</classname -> skapas som vanligt, men vi har lagt till några KDE-metoder som anger information om program och upphovsman för programmet. </para> +</para> +<para>Vad som först händer nu, är att objektet <classname>TDEApplication</classname> skapas som vanligt, men vi har lagt till några KDE-metoder som anger information om program och upphovsman för programmet. </para> </sect2> <sect2> -<title ->Start av användarprogrammet</title> +<title>Start av användarprogrammet</title> -<para ->... (ännu inte skrivet)</para> +<para>... (ännu inte skrivet)</para> </sect2> <sect2> -<title ->Konstruktorn</title> -<para ->Låt oss ta en titt på konstruktorn och se hur instansen anropas <programlisting ->1 KScribble::KScribble() +<title>Konstruktorn</title> +<para>Låt oss ta en titt på konstruktorn och se hur instansen anropas <programlisting>1 KScribble::KScribble() 2 : TDEMainWindow( 0, "KScribble" ), 3 m_view(new KScribbleView(this)), 4 m_printer(0) @@ -1080,784 +557,342 @@ return a.exec(); 24 } </programlisting> </para> -<para ->Observera att <classname ->KScribble</classname -> ärver klassen <classname ->TDEMainWindow</classname ->, en ofta använd basklass för KDE-program. Vi initierar en klass som heter <classname ->KScribbleView</classname -> som central grafikkomponent, skapar en <classname ->KStatusBar</classname -> via metoden <methodname ->statusBar()</methodname -> (på rad 16), och kopplar ihop några signaler och slots. </para> +<para>Observera att <classname>KScribble</classname> ärver klassen <classname>TDEMainWindow</classname>, en ofta använd basklass för KDE-program. Vi initierar en klass som heter <classname>KScribbleView</classname> som central grafikkomponent, skapar en <classname>KStatusBar</classname> via metoden <methodname>statusBar()</methodname> (på rad 16), och kopplar ihop några signaler och slots. </para> </sect2> </sect1> </chapter> <chapter id="chapter4"> -<title ->Konstruktion av programvyn</title> +<title>Konstruktion av programvyn</title> <sect1 id="c4s1"> -<title ->Inledning</title> -<para ->När ett program med ett grafiskt gränssnitt utvecklas, sker det huvudsakliga arbetet genom att tillhandahålla en så kallad "vy" för programmet. En vy är i allmänhet en grafisk komponent som visar data i ett dokument och tillhandahåller metoder för att manipulera dokumentets innehåll. Detta kan göras av användaren via de händelser som skapas via tangentbordet och musen. Komplexare åtgärder behandlas ofta av verktygsrader och menyrader som kommunicerar med vyn och dokumentet. Statusraden tillhandahåller sedan information om dokumentet, vyn eller programmets status. Som exempel, tittar vi på hur en editor är konstruerad, och var varje del kan hittas. </para> -<para ->En editor antas i allmänhet tillhandahålla ett gränssnitt för att visa och/eller ändra innehåll i ett textdokument för användaren. Om du startar Kate, ser du följande i det visuella gränssnittet: <itemizedlist> -<listitem -><para ->Menyraden: tillhandahåller komplexa åtgärder samt öppna, spara och stänga filer eller avsluta programmet. </para -></listitem> -<listitem -><para ->Verktygsraden: erbjuder ikoner som ger snabbare åtkomst till de oftast använda funktionerna, </para -></listitem> -<listitem -><para ->Statusraden visar status för markörpositionen med aktuell rad och kolumn, </para -></listitem> -<listitem -><para ->Vyn i fönstrets mitt, som visar ett dokument och erbjuder en markör kopplad till tangentbordet och musen för att hantera data. </para -></listitem> +<title>Inledning</title> +<para>När ett program med ett grafiskt gränssnitt utvecklas, sker det huvudsakliga arbetet genom att tillhandahålla en så kallad "vy" för programmet. En vy är i allmänhet en grafisk komponent som visar data i ett dokument och tillhandahåller metoder för att manipulera dokumentets innehåll. Detta kan göras av användaren via de händelser som skapas via tangentbordet och musen. Komplexare åtgärder behandlas ofta av verktygsrader och menyrader som kommunicerar med vyn och dokumentet. Statusraden tillhandahåller sedan information om dokumentet, vyn eller programmets status. Som exempel, tittar vi på hur en editor är konstruerad, och var varje del kan hittas. </para> +<para>En editor antas i allmänhet tillhandahålla ett gränssnitt för att visa och/eller ändra innehåll i ett textdokument för användaren. Om du startar Kate, ser du följande i det visuella gränssnittet: <itemizedlist> +<listitem><para>Menyraden: tillhandahåller komplexa åtgärder samt öppna, spara och stänga filer eller avsluta programmet. </para></listitem> +<listitem><para>Verktygsraden: erbjuder ikoner som ger snabbare åtkomst till de oftast använda funktionerna, </para></listitem> +<listitem><para>Statusraden visar status för markörpositionen med aktuell rad och kolumn, </para></listitem> +<listitem><para>Vyn i fönstrets mitt, som visar ett dokument och erbjuder en markör kopplad till tangentbordet och musen för att hantera data. </para></listitem> </itemizedlist> </para> -<para ->Nu är det enkelt att förstå att en vy är programmets mest unika del, och att konstruktionen av vyn bestämmer hur användbart och lätt att acceptera programmet är. Det betyder att ett av de första stegen i utvecklingen är att avgöra syftet med programmet och vilken sorts konstruktion av vyn som passar bäst för att låta vilken användare som helst arbeta med programmet, med en minimal ansträngning för att lära sig hur användargränssnittet ska hanteras. </para> -<para ->Vyer tillhandahålls av QT- och KDE-biblioteken för vissa syften, som textredigering och visning av HTML-filer. Vi beskriver vissa aspekter av de här högnivåkomponenterna i nästa avsnitt. Men för de flesta program måste nya komponenter konstrueras och implementeras. Det är detta som gör att programmeraren också blir en formgivare, och där skapelseförmågan sätts på prov. Trots detta bör du först försöka uppnå något intuitivt. Kom ihåg att många användare accepterar inte ett program som inte: <itemizedlist> -<listitem -><para ->har bra grafiskt utseende </para -></listitem> -<listitem -><para ->erbjuder många funktioner </para -></listitem> -<listitem -><para ->är enkelt att hantera </para -></listitem> -<listitem -><para ->går snabbt att lära sig använda </para -></listitem> +<para>Nu är det enkelt att förstå att en vy är programmets mest unika del, och att konstruktionen av vyn bestämmer hur användbart och lätt att acceptera programmet är. Det betyder att ett av de första stegen i utvecklingen är att avgöra syftet med programmet och vilken sorts konstruktion av vyn som passar bäst för att låta vilken användare som helst arbeta med programmet, med en minimal ansträngning för att lära sig hur användargränssnittet ska hanteras. </para> +<para>Vyer tillhandahålls av QT- och KDE-biblioteken för vissa syften, som textredigering och visning av HTML-filer. Vi beskriver vissa aspekter av de här högnivåkomponenterna i nästa avsnitt. Men för de flesta program måste nya komponenter konstrueras och implementeras. Det är detta som gör att programmeraren också blir en formgivare, och där skapelseförmågan sätts på prov. Trots detta bör du först försöka uppnå något intuitivt. Kom ihåg att många användare accepterar inte ett program som inte: <itemizedlist> +<listitem><para>har bra grafiskt utseende </para></listitem> +<listitem><para>erbjuder många funktioner </para></listitem> +<listitem><para>är enkelt att hantera </para></listitem> +<listitem><para>går snabbt att lära sig använda </para></listitem> </itemizedlist> </para> -<para ->Det behöver inte sägas att stabilitet är ett av huvudmålen med konstruktionen. Ingen kan förhindra fel, men ett minimum kan åtminstone uppnås med smarta konstruktionsmål och utbredd användning av objektorienterad konstruktion. C++ gör det till ett nöje att programmera om du vet hur man utnyttjar dess möjligheter - arv, att dölja information och återanvändning av befintlig kod. </para> -<para ->När ett KDE- eller QT-projekt skapas, måste du alltid ha en vy som ärver en QWidget, antingen med direkt arv eller eftersom en bibliotekskomponent som du vill använda ärver QWidget. Därför harProgramguiden redan skapat en vy som är en instans av klassen programnamnView, som redan ärver QWidget. </para> -<para ->Det här kapitlet beskriver därför hur bibliotekskomponenter används för att skapa vyer för KDE- och QT-program som skapas med &tdevelop;. Därefter tar vi en titt på biblioteken och vilka sorters vyer de redan erbjuder. </para> +<para>Det behöver inte sägas att stabilitet är ett av huvudmålen med konstruktionen. Ingen kan förhindra fel, men ett minimum kan åtminstone uppnås med smarta konstruktionsmål och utbredd användning av objektorienterad konstruktion. C++ gör det till ett nöje att programmera om du vet hur man utnyttjar dess möjligheter - arv, att dölja information och återanvändning av befintlig kod. </para> +<para>När ett KDE- eller QT-projekt skapas, måste du alltid ha en vy som ärver en QWidget, antingen med direkt arv eller eftersom en bibliotekskomponent som du vill använda ärver QWidget. Därför harProgramguiden redan skapat en vy som är en instans av klassen programnamnView, som redan ärver QWidget. </para> +<para>Det här kapitlet beskriver därför hur bibliotekskomponenter används för att skapa vyer för KDE- och QT-program som skapas med &tdevelop;. Därefter tar vi en titt på biblioteken och vilka sorters vyer de redan erbjuder. </para> </sect1> <sect1 id="c4s2"> -<title ->Använda biblioteksvyer</title> -<para ->När programmets konstruktion har fastställts, bör du först leta efter befintlig kod som kan göra livet mycket enklare. En del av detta är att leta efter en grafisk komponent som kan användas för vyn, eller åtminstone för en del av den, antingen direkt eller med arv. KDE- och QT-biblioteken innehåller redan en uppsättning grafiska komponenter som kan användas för ändamålet. Det finns två möjligheter att använda dem: <orderedlist> -<listitem -><para ->Ta bort den nya vyklassen och skapa en instans av en bibliotekskomponent, och därefter ange den som vyn, </para -></listitem> -<listitem -><para ->Ändra arv för tillhandahållen vyklass till klassen för bibliotekskomponenten som ska användas. </para -></listitem> +<title>Använda biblioteksvyer</title> +<para>När programmets konstruktion har fastställts, bör du först leta efter befintlig kod som kan göra livet mycket enklare. En del av detta är att leta efter en grafisk komponent som kan användas för vyn, eller åtminstone för en del av den, antingen direkt eller med arv. KDE- och QT-biblioteken innehåller redan en uppsättning grafiska komponenter som kan användas för ändamålet. Det finns två möjligheter att använda dem: <orderedlist> +<listitem><para>Ta bort den nya vyklassen och skapa en instans av en bibliotekskomponent, och därefter ange den som vyn, </para></listitem> +<listitem><para>Ändra arv för tillhandahållen vyklass till klassen för bibliotekskomponenten som ska användas. </para></listitem> </orderedlist> </para> -<para ->Hur som helst är det viktigt att veta att om programramverket för närvarande inte länkas med biblioteket som innehåller den grafiska komponenten, kommer länkningen att misslyckas. Efter du bestämt dig för att använda en viss grafisk komponent, titta efter biblioteket som ska länkas in. Öppna därefter "Projekt"->"Projektinställningar" i menyraden för &tdevelop;. Byt till sidan "Länkinställningar" och leta efter kryssrutorna som anger de bibliotek som för närvarande används. Om biblioteket för din komponent redan är markerat, kan du lämna projektinställningarna oförändrade och börja göra nödvändiga ändringar baserat på ditt val. Om inte, och länkinställningarna erbjuder att lägga till biblioteket med en kryssruta, markera den och tryck på "Ok" för att stänga dialogrutan igen. I alla andra fall, lägg till biblioteket i redigeringsraden under med väljaren -l. För bibliotek som ditt program ska söka efter innan byggfiler skapas av configure-skriptet, lägg till motsvarande sökmakro i filen configure.in som finns i projektets rotkatalog, och lägg till makrot på redigeringsraden. Tänk på att du måste köra "Bygg"->"Autoconf och automake" och "Bygg"->"Configure" innan byggfilerna innehåller rätt expansion av biblioteksmakrot. </para> -<para ->Dessutom, om deklarationsfilerna för biblioteket som ska läggas till inte finns med i nuvarande deklarationssökväg (som syns i väljaren -I till "make" i utmatningsfönstret), måste du lägga till sökvägen i dialogrutan Projektinställningar på sidan "Kompilatorinställningar" med väljaren -I eller i motsvarande automake-makro på redigeringsraden för "Ytterligare inställningar". </para> +<para>Hur som helst är det viktigt att veta att om programramverket för närvarande inte länkas med biblioteket som innehåller den grafiska komponenten, kommer länkningen att misslyckas. Efter du bestämt dig för att använda en viss grafisk komponent, titta efter biblioteket som ska länkas in. Öppna därefter "Projekt"->"Projektinställningar" i menyraden för &tdevelop;. Byt till sidan "Länkinställningar" och leta efter kryssrutorna som anger de bibliotek som för närvarande används. Om biblioteket för din komponent redan är markerat, kan du lämna projektinställningarna oförändrade och börja göra nödvändiga ändringar baserat på ditt val. Om inte, och länkinställningarna erbjuder att lägga till biblioteket med en kryssruta, markera den och tryck på "Ok" för att stänga dialogrutan igen. I alla andra fall, lägg till biblioteket i redigeringsraden under med väljaren -l. För bibliotek som ditt program ska söka efter innan byggfiler skapas av configure-skriptet, lägg till motsvarande sökmakro i filen configure.in som finns i projektets rotkatalog, och lägg till makrot på redigeringsraden. Tänk på att du måste köra "Bygg"->"Autoconf och automake" och "Bygg"->"Configure" innan byggfilerna innehåller rätt expansion av biblioteksmakrot. </para> +<para>Dessutom, om deklarationsfilerna för biblioteket som ska läggas till inte finns med i nuvarande deklarationssökväg (som syns i väljaren -I till "make" i utmatningsfönstret), måste du lägga till sökvägen i dialogrutan Projektinställningar på sidan "Kompilatorinställningar" med väljaren -I eller i motsvarande automake-makro på redigeringsraden för "Ytterligare inställningar". </para> <sect2 id="c4s3s1"> -<title ->Vyer i Qt</title> -<para ->När du tittar på första sidan av QT:s direktdokumentation, hittar du en länk till "Widget Screenshots", där du kan titta på hur de grafiska komponenterna som QT innehåller ser ut. De är färdiga att använda, och kan kombineras för att ge komplexa komponenter som kan skapa programvyer eller dialogrutor. I följande stycken beskriver vi några av dessa, som är mycket användbara för att skapa programvyer, men kom ihåg att KDE-biblioteken ibland innehåller andra komponenter med samma syfte. Dessa granskas i nästa avsnitt. </para> -<para ->Här är några tips om vilken Qt-komponent som kan användas för vilket ändamål: <orderedlist> -<listitem -><para ->Om vyområdet inte är stort nog för att visa all data, måste användaren kunna panorera i dokumentet med lister till vänster och längst ner i vyn. QT tillhandahåller klassen <classname ->QScrollView</classname -> för detta, som erbjuder ett underliggande område med panoreringsmöjlighet. Som tidigare förklarats, kan du låta din egen grafiska komponent ärva <classname ->QScrollView</classname ->, eller använda en instans för att hantera ditt dokuments vykomponent. </para -></listitem -> -<listitem -><para ->För att skapa en egen ScrollView, låt komponenten View ärva från <classname ->QWidget</classname -> och lägg till vertikala och horisontella rullningslister med <classname ->QScrollBars</classname ->. (Detta görs av KDE:s komponent TDEHTMLView.) </para -></listitem -> -<listitem -><para ->För textbehandling, använd <classname ->QTextEdit</classname ->. Den här klassen tillhandahåller en fullständig grafisk texteditorkomponent, som redan kan klippa ut, kopiera och klistra text och hanteras av en vy med rullningslister. </para -></listitem -> -<listitem -><para ->Använd <classname ->QTable</classname -> för att visa data som är arrangerat i en tabell. Eftersom <classname ->QTable</classname -> också hanteras av rullningslister, erbjuder den en bra lösning för program med tabellberäkningar. </para -></listitem -> -<listitem -><para ->För att visa två olika grafiska komponenter eller två instanser av samma komponent samtidigt, använd <classname ->QSplitter</classname ->. Den tillåter att vyer läggs sida vid sida med horisontella eller vertikala avdelare. Kmail är ett bra exempel på hur det ser ut. Huvudfönstret är delat vertikalt av en avdelare, och det högra fönstret är återigen avdelat horisontellt. </para -></listitem -> -<listitem -><para -><classname ->QListView</classname -> visar information i en lista och ett träd. Det är användbart för att skapa filträd eller vilken annan hierarkisk information som helst som du vill hantera. </para -></listitem -> +<title>Vyer i Qt</title> +<para>När du tittar på första sidan av QT:s direktdokumentation, hittar du en länk till "Widget Screenshots", där du kan titta på hur de grafiska komponenterna som QT innehåller ser ut. De är färdiga att använda, och kan kombineras för att ge komplexa komponenter som kan skapa programvyer eller dialogrutor. I följande stycken beskriver vi några av dessa, som är mycket användbara för att skapa programvyer, men kom ihåg att KDE-biblioteken ibland innehåller andra komponenter med samma syfte. Dessa granskas i nästa avsnitt. </para> +<para>Här är några tips om vilken Qt-komponent som kan användas för vilket ändamål: <orderedlist> +<listitem><para>Om vyområdet inte är stort nog för att visa all data, måste användaren kunna panorera i dokumentet med lister till vänster och längst ner i vyn. QT tillhandahåller klassen <classname>QScrollView</classname> för detta, som erbjuder ett underliggande område med panoreringsmöjlighet. Som tidigare förklarats, kan du låta din egen grafiska komponent ärva <classname>QScrollView</classname>, eller använda en instans för att hantera ditt dokuments vykomponent. </para></listitem> +<listitem><para>För att skapa en egen ScrollView, låt komponenten View ärva från <classname>QWidget</classname> och lägg till vertikala och horisontella rullningslister med <classname>QScrollBars</classname>. (Detta görs av KDE:s komponent TDEHTMLView.) </para></listitem> +<listitem><para>För textbehandling, använd <classname>QTextEdit</classname>. Den här klassen tillhandahåller en fullständig grafisk texteditorkomponent, som redan kan klippa ut, kopiera och klistra text och hanteras av en vy med rullningslister. </para></listitem> +<listitem><para>Använd <classname>QTable</classname> för att visa data som är arrangerat i en tabell. Eftersom <classname>QTable</classname> också hanteras av rullningslister, erbjuder den en bra lösning för program med tabellberäkningar. </para></listitem> +<listitem><para>För att visa två olika grafiska komponenter eller två instanser av samma komponent samtidigt, använd <classname>QSplitter</classname>. Den tillåter att vyer läggs sida vid sida med horisontella eller vertikala avdelare. Kmail är ett bra exempel på hur det ser ut. Huvudfönstret är delat vertikalt av en avdelare, och det högra fönstret är återigen avdelat horisontellt. </para></listitem> +<listitem><para><classname>QListView</classname> visar information i en lista och ett träd. Det är användbart för att skapa filträd eller vilken annan hierarkisk information som helst som du vill hantera. </para></listitem> </orderedlist> </para> -<para ->Du märker att enbart QT erbjuder en hel uppsättning med grafiska komponenter som är klara för användning, så att du inte behöver uppfinna nya lösningar om de passar dina behov. Sidoeffekten när standardkomponenter används är att användare redan vet hur de hanteras, och behöver bara koncentrera sig på data som visas. </para> +<para>Du märker att enbart QT erbjuder en hel uppsättning med grafiska komponenter som är klara för användning, så att du inte behöver uppfinna nya lösningar om de passar dina behov. Sidoeffekten när standardkomponenter används är att användare redan vet hur de hanteras, och behöver bara koncentrera sig på data som visas. </para> </sect2> <sect2 id="c4s3s2"> -<title ->Vyer i KDE</title> -<para ->KDE-biblioteken uppfanns för att göra det enklare att skapa program för K-skrivbordsmiljön och göra det möjligt för dem att ha mer funktioner än enbart vad QT erbjuder. Biblioteket tdeui erbjuder: <orderedlist> -<listitem -><para ->TDEListView: en mer kraftfull version av <classname ->QListView</classname -> </para -></listitem> -<listitem -><para ->TDEIconView: en grafisk visare av ikonfiler </para -></listitem> +<title>Vyer i KDE</title> +<para>KDE-biblioteken uppfanns för att göra det enklare att skapa program för K-skrivbordsmiljön och göra det möjligt för dem att ha mer funktioner än enbart vad QT erbjuder. Biblioteket tdeui erbjuder: <orderedlist> +<listitem><para>TDEListView: en mer kraftfull version av <classname>QListView</classname> </para></listitem> +<listitem><para>TDEIconView: en grafisk visare av ikonfiler </para></listitem> </orderedlist> </para> -<para ->Biblioteket tdehtml tillhandahåller å andra sidan en fullständig HTML-tolkningskomponent, som är klar att använda. Den har redan rullningslister, så du behöver inte ens hantera det. En möjlig användning kan vara att integrera den som en förhandsgranskningskomponent för en HTML-editor. Den används av program som Konqueror för att visa HTML-filer. </para> +<para>Biblioteket tdehtml tillhandahåller å andra sidan en fullständig HTML-tolkningskomponent, som är klar att använda. Den har redan rullningslister, så du behöver inte ens hantera det. En möjlig användning kan vara att integrera den som en förhandsgranskningskomponent för en HTML-editor. Den används av program som Konqueror för att visa HTML-filer. </para> </sect2> </sect1> <sect1 id="c4s4"> -<title ->Skapa egna vyer</title> -<para ->Ännu inte skrivet </para> +<title>Skapa egna vyer</title> +<para>Ännu inte skrivet </para> </sect1> </chapter> <chapter id="chapter5"> -<title ->Anpassa menyrader och verktygsrader</title> +<title>Anpassa menyrader och verktygsrader</title> <sect1 id="c5s1"> -<title ->Inledning</title> -<para ->Menyrader och verktygsrader är några av de viktigaste delarna av ett program för att tillhandahålla sätt att arbeta med en dokumentstruktur. Du bör göra alla funktioner tillgängliga via menyraden, som en allmän regel. De alternativ som inte är tillgängliga vid ett visst ögonblick i användningen av programmet bör vara inaktiverade. </para> -<para ->Dessutom kan ett program bara innehålla en menyrad, men flera verktygsrader. Verktygsrader, å andra sidan, bör bara innehålla de oftast använda kommandona med ikoner eller tillhandahålla metoder för snabb åtkomst som kombinationsrutor för att välja värden. </para> +<title>Inledning</title> +<para>Menyrader och verktygsrader är några av de viktigaste delarna av ett program för att tillhandahålla sätt att arbeta med en dokumentstruktur. Du bör göra alla funktioner tillgängliga via menyraden, som en allmän regel. De alternativ som inte är tillgängliga vid ett visst ögonblick i användningen av programmet bör vara inaktiverade. </para> +<para>Dessutom kan ett program bara innehålla en menyrad, men flera verktygsrader. Verktygsrader, å andra sidan, bör bara innehålla de oftast använda kommandona med ikoner eller tillhandahålla metoder för snabb åtkomst som kombinationsrutor för att välja värden. </para> </sect1> <sect1 id="c5s2"> -<title ->Hur fungerar det?</title> -<para ->Vårt program ärver klassen <classname ->TDEMainWindow</classname -> som automatiskt hanterar att skapa en menyrad och verktygsrader åt oss. I metoden <methodname ->KScribble::setupActions()</methodname -> finns ett anrop till <methodname ->TDEMainWindow::createGUI()</methodname ->. Den metoden laddar en resursfil, i det här fallet kscribbleui.rc, för att initiera menyerna vid start. Observera att kscribbleui.rc listas som en av projektfilerna i Hantering av automake. Öppnas filen syns detta: <programlisting ->1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +<title>Hur fungerar det?</title> +<para>Vårt program ärver klassen <classname>TDEMainWindow</classname> som automatiskt hanterar att skapa en menyrad och verktygsrader åt oss. I metoden <methodname>KScribble::setupActions()</methodname> finns ett anrop till <methodname>TDEMainWindow::createGUI()</methodname>. Den metoden laddar en resursfil, i det här fallet kscribbleui.rc, för att initiera menyerna vid start. Observera att kscribbleui.rc listas som en av projektfilerna i Hantering av automake. Öppnas filen syns detta: <programlisting>1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> 2 <kpartgui name="kscribble" version="1"> 3 <MenuBar> -4 <Menu name="custom" -><text ->C&ustom</text> +4 <Menu name="custom"><text>C&ustom</text> 5 <Action name="custom_action" /> 6 </Menu> 7 </MenuBar> -8 </kpartgui -> +8 </kpartgui> </programlisting> </para> -<para ->Förklaring ... </para> -<para ->Ett annat sätt att ändra innehållet i menyn och verktygsraderna är att direkt manipulera dem via metoderna som tillhandahålls i deras klasser. Metoden <methodname ->menuBar()</methodname -> returnerar till exempel komponenten <classname ->KMenuBar</classname -> som är menyraden i vårt program. Tittar du i dokumentationen för <classname ->KMenuBar</classname -> och klassen den ärver <classname ->QMenuBar</classname ->, hittar du ett stort antal metoder kallade <methodname ->insertItem()</methodname ->, som låter dig lägga till alternativ i menyraden. </para> -<para -><classname ->TDEMainWindow</classname ->s metoder <methodname ->statusBar()</methodname -> och <methodname -> toolBar()</methodname -> ger dig också lämpliga grafiska komponenter. </para> +<para>Förklaring ... </para> +<para>Ett annat sätt att ändra innehållet i menyn och verktygsraderna är att direkt manipulera dem via metoderna som tillhandahålls i deras klasser. Metoden <methodname>menuBar()</methodname> returnerar till exempel komponenten <classname>KMenuBar</classname> som är menyraden i vårt program. Tittar du i dokumentationen för <classname>KMenuBar</classname> och klassen den ärver <classname>QMenuBar</classname>, hittar du ett stort antal metoder kallade <methodname>insertItem()</methodname>, som låter dig lägga till alternativ i menyraden. </para> +<para><classname>TDEMainWindow</classname>s metoder <methodname>statusBar()</methodname> och <methodname> toolBar()</methodname> ger dig också lämpliga grafiska komponenter. </para> </sect1> <sect1 id="c5s3"> -<title ->Inställning av snabbtangenter</title> -<para ->Något mycket professionellt som du alltid bör lägga till i programmet är snabbtangenter. De används oftast av erfarna användare som vill arbeta snabbt med sina program och är villiga att lära sig genvägar. KDE-biblioteken erbjuder klassen <classname ->TDEAction</classname -> för detta, som tillhandahåller snabbtangenter och åtkomst av globalt inställda standardgenvägar. </para> -<para ->Normalt använder bara ramprogram skapade av &tdevelop; vanliga snabbtangenter som F1 för att komma åt direkthjälp, Ctrl+N för Ny fil, etc. </para> -<para ->Om programmet innehåller många snabbtangenter bör du göra dem anpassningsbara via en inställningsmeny. Antingen kan det kombineras med annan programinställning i en QWidget eller vara ensamt. KDE-biblioteket tillhandahåller redan en <classname ->KKeyChooser</classname -> för att använda i flikdialogrutor, medan <classname ->KKeyDialog</classname -> tillhandahåller en inställningsdialogruta för snabbtangenter som är färdig att använda. </para> +<title>Inställning av snabbtangenter</title> +<para>Något mycket professionellt som du alltid bör lägga till i programmet är snabbtangenter. De används oftast av erfarna användare som vill arbeta snabbt med sina program och är villiga att lära sig genvägar. KDE-biblioteken erbjuder klassen <classname>TDEAction</classname> för detta, som tillhandahåller snabbtangenter och åtkomst av globalt inställda standardgenvägar. </para> +<para>Normalt använder bara ramprogram skapade av &tdevelop; vanliga snabbtangenter som F1 för att komma åt direkthjälp, Ctrl+N för Ny fil, etc. </para> +<para>Om programmet innehåller många snabbtangenter bör du göra dem anpassningsbara via en inställningsmeny. Antingen kan det kombineras med annan programinställning i en QWidget eller vara ensamt. KDE-biblioteket tillhandahåller redan en <classname>KKeyChooser</classname> för att använda i flikdialogrutor, medan <classname>KKeyDialog</classname> tillhandahåller en inställningsdialogruta för snabbtangenter som är färdig att använda. </para> </sect1> </chapter> <!-- <chapter id="chapter6"> -<title ->Other Features</title> +<title>Other Features</title> </chapter> <chapter id="chapter7"> -<title ->Printing Support</title> +<title>Printing Support</title> </chapter> --> <chapter id="chapter8"> -<title ->Hjälpfunktioner</title> +<title>Hjälpfunktioner</title> <sect1 id="c8s1"> -<title ->Inledning</title> -<para ->En mycket viktig del av utvecklingsprocessen är att tillhandahålla hjälpfunktioner för användaren om möjligt. De flesta utvecklare tenderar att fördröja detta, men du bör komma ihåg att en normal användare inte nödvändigtvis är en Unix-expert. Han kanske kommer från den mörka sidan av programvaruanvändning som erbjuder alla godsaker som en användare kan behöva för att arbeta sig in i användningen av ett program utan att någonsin röra en handbok. Därför tillhandahåller KDE- och QT-biblioteken alla möjligheter som oftast anses göra ett program professionellt i den vanliga användarens ögon, men hjälpfunktioner som är klara att använda. Inne i programmet är de:</para> +<title>Inledning</title> +<para>En mycket viktig del av utvecklingsprocessen är att tillhandahålla hjälpfunktioner för användaren om möjligt. De flesta utvecklare tenderar att fördröja detta, men du bör komma ihåg att en normal användare inte nödvändigtvis är en Unix-expert. Han kanske kommer från den mörka sidan av programvaruanvändning som erbjuder alla godsaker som en användare kan behöva för att arbeta sig in i användningen av ett program utan att någonsin röra en handbok. Därför tillhandahåller KDE- och QT-biblioteken alla möjligheter som oftast anses göra ett program professionellt i den vanliga användarens ögon, men hjälpfunktioner som är klara att använda. Inne i programmet är de:</para> <itemizedlist> -<listitem -><para ->Verktygstips</para -></listitem> -<listitem -><para ->Hjälp i statusraden</para -></listitem> -<listitem -><para ->Vad är det här...? knappar</para -></listitem> +<listitem><para>Verktygstips</para></listitem> +<listitem><para>Hjälp i statusraden</para></listitem> +<listitem><para>Vad är det här...? knappar</para></listitem> </itemizedlist> -<para ->Dessutom bör programmet tillhandahålla en möjlighet att komma åt en HTML-baserad handbok direkt med den vanliga hjälptangenten F1. Det här sammanhangsberoende hjälpsystemet tillhandahålls automatiskt via klassen <classname ->TDEMainWindow</classname ->, även om du som upphovsman måste tillhandahålla innehållet. </para> -<para ->Eftersom &tdevelop; också erbjuder alla sorters hjälp, samt att KDE-ramverket som skapas av programguiden redan innehåller stöd för detta, hjälper det här kapitlet dig att lära dig var och hur du kan lägga till hjälpfunktioner. </para> -<para ->Under utvecklingen av programmet bör du försöka att vara konsekvent i vad du än gör. Därför bör du utföra nödvändiga steg direkt när du utökar koden. Det förhindrar att du behöver dyka ner i koden igen för att lista ut vad programmet gör eller vad du avsåg med vissa delar av koden. </para> +<para>Dessutom bör programmet tillhandahålla en möjlighet att komma åt en HTML-baserad handbok direkt med den vanliga hjälptangenten F1. Det här sammanhangsberoende hjälpsystemet tillhandahålls automatiskt via klassen <classname>TDEMainWindow</classname>, även om du som upphovsman måste tillhandahålla innehållet. </para> +<para>Eftersom &tdevelop; också erbjuder alla sorters hjälp, samt att KDE-ramverket som skapas av programguiden redan innehåller stöd för detta, hjälper det här kapitlet dig att lära dig var och hur du kan lägga till hjälpfunktioner. </para> +<para>Under utvecklingen av programmet bör du försöka att vara konsekvent i vad du än gör. Därför bör du utföra nödvändiga steg direkt när du utökar koden. Det förhindrar att du behöver dyka ner i koden igen för att lista ut vad programmet gör eller vad du avsåg med vissa delar av koden. </para> </sect1> <sect1 id="c8s2"> -<title ->Verktygstips</title> -<para ->Ett mycket enkelt sätt att tillhandahålla hjälp är verktygstips. De är små hjälpmeddelanden som dyker upp när användaren flyttar musen över en komponent som tillhandahåller ett verktygstips, och försvinner när musen flyttas. Den populäraste användningen av verktygstips är i verktygsrader där verktygstipsen bör vara så små som möjligt, eftersom verktygsrader kan ställas in att visa innehållet på olika sätt: antingen visas knappen, knappen med text till höger, knappen med text nedanför, eller bara text. Denna inställning bör kunna anpassas av användaren, men det är inte helt nödvändigt. Texten visas ändå som ett verktygstips, och en verktygsrad består oftast av knappar och andra grafiska komponenter som redigeringsfält och kombinationsrutor. För en fullständig beskrivning, se klassreferensen för <classname ->TDEToolBar</classname ->, som finns i tdeui-biblioteket. </para> -<para ->Som ett exempel tittar vi på knappen "Ny fil" i ett generellt program: </para> -<para ->Där tillhandahåller delen i18n("New File") meddelandet för verktygstipset. Det omges av makrot i18n(), som tillhandahålls av kapp.h, för att översätta verktygstipset till språket som för närvarande är valt. </para> -<para ->Verktygstips kan också läggas till i vilken egen grafisk komponent som helst genom att använda <classname ->QToolTip</classname -> som tillhandahålls av QT. Ett exempel på det skulle kunna vara: </para> +<title>Verktygstips</title> +<para>Ett mycket enkelt sätt att tillhandahålla hjälp är verktygstips. De är små hjälpmeddelanden som dyker upp när användaren flyttar musen över en komponent som tillhandahåller ett verktygstips, och försvinner när musen flyttas. Den populäraste användningen av verktygstips är i verktygsrader där verktygstipsen bör vara så små som möjligt, eftersom verktygsrader kan ställas in att visa innehållet på olika sätt: antingen visas knappen, knappen med text till höger, knappen med text nedanför, eller bara text. Denna inställning bör kunna anpassas av användaren, men det är inte helt nödvändigt. Texten visas ändå som ett verktygstips, och en verktygsrad består oftast av knappar och andra grafiska komponenter som redigeringsfält och kombinationsrutor. För en fullständig beskrivning, se klassreferensen för <classname>TDEToolBar</classname>, som finns i tdeui-biblioteket. </para> +<para>Som ett exempel tittar vi på knappen "Ny fil" i ett generellt program: </para> +<para>Där tillhandahåller delen i18n("New File") meddelandet för verktygstipset. Det omges av makrot i18n(), som tillhandahålls av kapp.h, för att översätta verktygstipset till språket som för närvarande är valt. </para> +<para>Verktygstips kan också läggas till i vilken egen grafisk komponent som helst genom att använda <classname>QToolTip</classname> som tillhandahålls av QT. Ett exempel på det skulle kunna vara: </para> </sect1> <sect1 id="c8s3"> -<title ->Utöka statusraden</title> -<para ->Eftersom program som ärver <classname ->TDEMainWindow</classname -> också innehåller en statusrad, erbjuder den också en uppsättning färdiga statusradmeddelanden för alla meny- och verktygsradsobjekt. Ett hjälpmeddelande i statusraden är ett kort meddelande som utökar betydelsen av ett verktygstips, eller kan ses som en ersättning av ett verktygstips för ett alternativ i menyraden, och visas (som namnet anger) i statusraden när användaren aktiverar en meny och markerar ett menyalternativ. </para> +<title>Utöka statusraden</title> +<para>Eftersom program som ärver <classname>TDEMainWindow</classname> också innehåller en statusrad, erbjuder den också en uppsättning färdiga statusradmeddelanden för alla meny- och verktygsradsobjekt. Ett hjälpmeddelande i statusraden är ett kort meddelande som utökar betydelsen av ett verktygstips, eller kan ses som en ersättning av ett verktygstips för ett alternativ i menyraden, och visas (som namnet anger) i statusraden när användaren aktiverar en meny och markerar ett menyalternativ. </para> </sect1> <sect1 id="c8s4"> -<title ->Knappen <guibutton ->Vad är det här?</guibutton -></title> -<para ->Knappen <guibutton ->Vad är det här...?</guibutton -> tillhandahåller hjälpfönster med syftet att ge användaren hjälp med en viss komponent i vyn som används eller ett objekt i en verktygsrad. Den finns i verktygsraden och aktiveras när användaren trycker på knappen. Markören ändras till en pilmarkör med ett frågetecken, precis som knappen själv ser ut. Därefter kan användaren klicka på en synlig komponent och får då ett hjälpfönster. Som en övning kan du prova beteendet med knappen <guibutton ->Vad är det här...?</guibutton -> inne i &tdevelop;. </para> -<para ->För att lägga till "Vad är det här...?" hjälp i en av dina grafiska komponenter, använd den statiska metoden <methodname ->QWhatsThis::add(QWidget *widget, const QString &text)</methodname -> </para> +<title>Knappen <guibutton>Vad är det här?</guibutton></title> +<para>Knappen <guibutton>Vad är det här...?</guibutton> tillhandahåller hjälpfönster med syftet att ge användaren hjälp med en viss komponent i vyn som används eller ett objekt i en verktygsrad. Den finns i verktygsraden och aktiveras när användaren trycker på knappen. Markören ändras till en pilmarkör med ett frågetecken, precis som knappen själv ser ut. Därefter kan användaren klicka på en synlig komponent och får då ett hjälpfönster. Som en övning kan du prova beteendet med knappen <guibutton>Vad är det här...?</guibutton> inne i &tdevelop;. </para> +<para>För att lägga till "Vad är det här...?" hjälp i en av dina grafiska komponenter, använd den statiska metoden <methodname>QWhatsThis::add(QWidget *widget, const QString &text)</methodname> </para> </sect1> </chapter> <chapter id="chapter9"> -<title ->Dokumentation</title> +<title>Dokumentation</title> <sect1 id="c9s1"> -<title ->Inledning</title> -<para ->På grund av att projekt ofta saknar en fullständig uppsättning användardokumentation, innehåller alla projekt i &tdevelop; en handbok skapad i förväg. På så sätt uppfylls ett annat av KDE:s mål: Att tillhandahålla tillräckligt med direkthjälp för att stödja användare som inte är bekanta med programmet. Det här kapitlet introducerar därför hur dokumentationsmallen som tillhandahålls kan utökas, och vad du måste göra för att användaren ska få tillgång till den. </para> +<title>Inledning</title> +<para>På grund av att projekt ofta saknar en fullständig uppsättning användardokumentation, innehåller alla projekt i &tdevelop; en handbok skapad i förväg. På så sätt uppfylls ett annat av KDE:s mål: Att tillhandahålla tillräckligt med direkthjälp för att stödja användare som inte är bekanta med programmet. Det här kapitlet introducerar därför hur dokumentationsmallen som tillhandahålls kan utökas, och vad du måste göra för att användaren ska få tillgång till den. </para> </sect1> <sect1 id="c9s2"> -<title ->Användardokumentation</title> -<para ->Projektdokumentationen finns under projektkatalog/doc/en, eller kanske en annan katalog om engelska inte är ditt modersmål. Där finns en fil, index.docbook, där dokumentationen lagras. Formatet för att redigera filen förklaras på <ulink url="http://i18n.kde.org/doc/markup/" ->KDE:s webbsida för dokumentation</ulink ->. </para> +<title>Användardokumentation</title> +<para>Projektdokumentationen finns under projektkatalog/doc/en, eller kanske en annan katalog om engelska inte är ditt modersmål. Där finns en fil, index.docbook, där dokumentationen lagras. Formatet för att redigera filen förklaras på <ulink url="http://i18n.kde.org/doc/markup/">KDE:s webbsida för dokumentation</ulink>. </para> </sect1> <sect1 id="c9s3"> -<title ->Programdokumentation</title> -<para ->En annan viktig del av dokumentationen är att inkludera en beskrivande hjälp för klassgränssnitten. Det låter dig och andra programmerare använda dina klasser genom att läsa klassdokumentationen i HTML, som kan skapas med KDoc. &tdevelop; stöder fullständigt användning av KDoc för att skapa KDE-biblioteksdokumentation, ramverket för ditt program är också redan dokumenterat. För att arbeta sig in i koden som tillhandahålls, är det en god start att läsa inkluderad direktdokumentation. Det följande beskriver vad som ska göras för att få fram dokumentation av programmeringsgränssnittet, hur &tdevelop; hjälper dig lägga till det, och vilka särskilda taggar som KDoc tillhandahåller. </para> +<title>Programdokumentation</title> +<para>En annan viktig del av dokumentationen är att inkludera en beskrivande hjälp för klassgränssnitten. Det låter dig och andra programmerare använda dina klasser genom att läsa klassdokumentationen i HTML, som kan skapas med KDoc. &tdevelop; stöder fullständigt användning av KDoc för att skapa KDE-biblioteksdokumentation, ramverket för ditt program är också redan dokumenterat. För att arbeta sig in i koden som tillhandahålls, är det en god start att läsa inkluderad direktdokumentation. Det följande beskriver vad som ska göras för att få fram dokumentation av programmeringsgränssnittet, hur &tdevelop; hjälper dig lägga till det, och vilka särskilda taggar som KDoc tillhandahåller. </para> </sect1> </chapter> <chapter id="chapter10"> -<title ->Språk</title> +<title>Språk</title> <sect1 id="c10s1"> -<title ->Inledning</title> -<para ->Internationalisering med i18n är ett system som används för att erbjuda internationella versioner av ett program eller projekt. Svårigheten med att skriva program är att de bara stöder språket som de ursprungligen skapas med. Detta synliggörs med texter, menyalternativ och liknande. Målet med internationaliseringen är att tillhandahålla program och biblioteksfunktioner i användarens språk, och på så sätt göra det möjligt för användare som inte har originalspråket som modersmål att använda funktionerna som erbjuds och känna sig mer nöjd och belåten. </para> +<title>Inledning</title> +<para>Internationalisering med i18n är ett system som används för att erbjuda internationella versioner av ett program eller projekt. Svårigheten med att skriva program är att de bara stöder språket som de ursprungligen skapas med. Detta synliggörs med texter, menyalternativ och liknande. Målet med internationaliseringen är att tillhandahålla program och biblioteksfunktioner i användarens språk, och på så sätt göra det möjligt för användare som inte har originalspråket som modersmål att använda funktionerna som erbjuds och känna sig mer nöjd och belåten. </para> </sect1> <!-- <sect1 id="c10s2"> -<title ->How KDE support Internationalization</title> +<title>How KDE support Internationalization</title> -</sect1 -> --> +</sect1> --> </chapter> <!-- <chapter id="chapter11"> -<title ->Finding Errors</title> +<title>Finding Errors</title> </chapter> <chapter id="chapter12"> -<title ->Licensing</title> +<title>Licensing</title> </chapter> <chapter id="chapter13"> -<title ->References</title> +<title>References</title> </chapter> --> <chapter id="credits"> -<title ->Tack till</title> +<title>Tack till</title> -<para ->(ännu inte skrivet ...) </para> +<para>(ännu inte skrivet ...) </para> <!--CREDITS_FOR_TRANSLATORS--> -</chapter -> <!-- credits --> +</chapter> <!-- credits --> <appendix id="bibliography"> -<title ->Bibliografi</title> +<title>Bibliografi</title> <bibliography> <biblioentry> -<title -><ulink url="info://make/Top" ->GNU Make Manual</ulink -></title> +<title><ulink url="info://make/Top">GNU Make Manual</ulink></title> <authorgroup> -<author -><firstname ->Richard M.</firstname -><surname ->Stallman</surname -></author> -<author -><firstname ->Roland</firstname -><surname ->McGrath</surname -></author> +<author><firstname>Richard M.</firstname><surname>Stallman</surname></author> +<author><firstname>Roland</firstname><surname>McGrath</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://automake/Top" ->GNU Automake</ulink -></title> +<title><ulink url="info://automake/Top">GNU Automake</ulink></title> <authorgroup> -<author -><firstname ->David</firstname -><surname ->MacKenzie</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Tromey</surname -></author> +<author><firstname>David</firstname><surname>MacKenzie</surname></author> +<author><firstname>Tom</firstname><surname>Tromey</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -></title> +<title><ulink url="info://autoconf/Top">GNU Autoconf</ulink></title> <authorgroup> -<author -><firstname ->David</firstname -><surname ->MacKenzie</surname -></author> -<author -><firstname ->Ben</firstname -><surname ->Elliston</surname -></author> +<author><firstname>David</firstname><surname>MacKenzie</surname></author> +<author><firstname>Ben</firstname><surname>Elliston</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -></title> -<author -><firstname ->Richard M.</firstname -><surname ->Stallman</surname -></author> +<title><ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink></title> +<author><firstname>Richard M.</firstname><surname>Stallman</surname></author> </biblioentry> <biblioentry> -<title -><ulink url="info://libtool/Top" ->GNU Libtool</ulink -></title> +<title><ulink url="info://libtool/Top">GNU Libtool</ulink></title> <authorgroup> -<author -><firstname ->Gordon</firstname -><surname ->Matzigkeit</surname -></author> -<author -><firstname ->Alexandre</firstname -><surname ->Oliva</surname -></author> -<author -><firstname ->Thomas</firstname -><surname ->Tanner</surname -></author> -<author -><firstname ->Gary V.</firstname -><surname ->Vaughan</surname -></author> +<author><firstname>Gordon</firstname><surname>Matzigkeit</surname></author> +<author><firstname>Alexandre</firstname><surname>Oliva</surname></author> +<author><firstname>Thomas</firstname><surname>Tanner</surname></author> +<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title ->GNU Autoconf, Automake, and Libtool</title> -<edition ->1st edition</edition> -<pubdate ->October 2000</pubdate> +<title>GNU Autoconf, Automake, and Libtool</title> +<edition>1st edition</edition> +<pubdate>October 2000</pubdate> <authorgroup> -<author -><firstname ->Gary V.</firstname -><surname ->Vaughan</surname -></author> -<author -><firstname ->Ben</firstname -><surname ->Elliston</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Tromey</surname -></author> -<author -><firstname ->Ian Lance</firstname -><surname ->Taylor</surname -></author> +<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author> +<author><firstname>Ben</firstname><surname>Elliston</surname></author> +<author><firstname>Tom</firstname><surname>Tromey</surname></author> +<author><firstname>Ian Lance</firstname><surname>Taylor</surname></author> </authorgroup> -<publisher -><publishername ->New Riders Publishing</publishername -></publisher> -<isbn ->ISBN 1578701902</isbn> +<publisher><publishername>New Riders Publishing</publishername></publisher> +<isbn>ISBN 1578701902</isbn> </biblioentry> <biblioentry> -<title ->Advanced Programming in the UNIX(R) Environment</title> -<edition ->1st edition</edition> -<pubdate ->June 1992</pubdate> -<author -><firstname ->W. Richard</firstname -><surname ->Stevens</surname -></author> -<publisher -><publishername ->Addison-Wesley Pub Co</publishername -></publisher> -<isbn ->ISBN 0201563177</isbn> +<title>Advanced Programming in the UNIX(R) Environment</title> +<edition>1st edition</edition> +<pubdate>June 1992</pubdate> +<author><firstname>W. Richard</firstname><surname>Stevens</surname></author> +<publisher><publishername>Addison-Wesley Pub Co</publishername></publisher> +<isbn>ISBN 0201563177</isbn> </biblioentry> <biblioentry> -<title ->Thinking in C++, Volume 1: Introduction to Standard C++</title> -<edition ->2nd Edition</edition> -<pubdate ->April 15, 2000</pubdate> -<author -><firstname ->Bruce</firstname -><surname ->Eckel</surname -></author> -<publisher -><publishername ->Prentice Hall</publishername -></publisher> -<isbn ->ISBN 0139798099</isbn> +<title>Thinking in C++, Volume 1: Introduction to Standard C++</title> +<edition>2nd Edition</edition> +<pubdate>April 15, 2000</pubdate> +<author><firstname>Bruce</firstname><surname>Eckel</surname></author> +<publisher><publishername>Prentice Hall</publishername></publisher> +<isbn>ISBN 0139798099</isbn> </biblioentry> <biblioentry> -<title ->Open Source Development with CVS</title> -<edition ->2nd Edition</edition> -<pubdate ->October 12, 2001</pubdate> +<title>Open Source Development with CVS</title> +<edition>2nd Edition</edition> +<pubdate>October 12, 2001</pubdate> <authorgroup> -<author -><firstname ->Karl</firstname -><surname ->Fogel</surname -></author> -<author -><firstname ->Moshe</firstname -><surname ->Bar</surname -></author> +<author><firstname>Karl</firstname><surname>Fogel</surname></author> +<author><firstname>Moshe</firstname><surname>Bar</surname></author> </authorgroup> -<publisher -><publishername ->The Coriolis Group</publishername -></publisher> -<isbn ->ISBN 158880173X</isbn> +<publisher><publishername>The Coriolis Group</publishername></publisher> +<isbn>ISBN 158880173X</isbn> </biblioentry> <biblioentry> -<title ->Programming PHP</title> -<edition ->1st edition</edition> -<pubdate ->March 2002</pubdate> +<title>Programming PHP</title> +<edition>1st edition</edition> +<pubdate>March 2002</pubdate> <authorgroup> -<author -><firstname ->Rasmus</firstname -><surname ->Lerdorf</surname -></author> -<author -><firstname ->Kevin</firstname -><surname ->Tatroe</surname -></author> +<author><firstname>Rasmus</firstname><surname>Lerdorf</surname></author> +<author><firstname>Kevin</firstname><surname>Tatroe</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 1565926102</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 1565926102</isbn> </biblioentry> <biblioentry> -<title ->Programming Python</title> -<edition ->2nd Edition</edition> -<pubdate ->March 2001</pubdate> -<author -><firstname ->Mark</firstname -><surname ->Lutz</surname -></author> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596000855</isbn> +<title>Programming Python</title> +<edition>2nd Edition</edition> +<pubdate>March 2001</pubdate> +<author><firstname>Mark</firstname><surname>Lutz</surname></author> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596000855</isbn> </biblioentry> <biblioentry> -<title ->Gui Programming With Python : Using the Qt Toolkit</title> -<edition ->Bk&Cd-r edition</edition> -<pubdate ->January 2002</pubdate> -<author -><firstname ->Boudewijn</firstname -><surname ->Rempt</surname -></author> -<publisher -><publishername ->Opendocs Llc</publishername -></publisher> -<isbn ->ISBN 0970033044</isbn> +<title>Gui Programming With Python : Using the Qt Toolkit</title> +<edition>Bk&Cd-r edition</edition> +<pubdate>January 2002</pubdate> +<author><firstname>Boudewijn</firstname><surname>Rempt</surname></author> +<publisher><publishername>Opendocs Llc</publishername></publisher> +<isbn>ISBN 0970033044</isbn> </biblioentry> <biblioentry> -<title ->Programming Perl</title> -<subtitle ->Kamelboken</subtitle> -<edition ->3rd Edition</edition> -<pubdate ->July 2000</pubdate> +<title>Programming Perl</title> +<subtitle>Kamelboken</subtitle> +<edition>3rd Edition</edition> +<pubdate>July 2000</pubdate> <authorgroup> -<author -><firstname ->Larry</firstname -><surname ->Wall</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Christiansen</surname -></author> -<author -><firstname ->Jon</firstname -><surname ->Orwant</surname -></author> +<author><firstname>Larry</firstname><surname>Wall</surname></author> +<author><firstname>Tom</firstname><surname>Christiansen</surname></author> +<author><firstname>Jon</firstname><surname>Orwant</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596000278</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596000278</isbn> </biblioentry> <biblioentry> -<title ->Learning Perl</title> -<subtitle ->Lamaboken</subtitle> -<edition ->3rd Edition</edition> -<pubdate ->July 15, 2001</pubdate> +<title>Learning Perl</title> +<subtitle>Lamaboken</subtitle> +<edition>3rd Edition</edition> +<pubdate>July 15, 2001</pubdate> <authorgroup> -<author -><firstname ->Randal L.</firstname -><surname ->Schwartz</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Phoenix</surname -></author> +<author><firstname>Randal L.</firstname><surname>Schwartz</surname></author> +<author><firstname>Tom</firstname><surname>Phoenix</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596001320</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596001320</isbn> </biblioentry> </bibliography> diff --git a/tde-i18n-sv/docs/tdevelop/kdearch/index.docbook b/tde-i18n-sv/docs/tdevelop/kdearch/index.docbook index 5bc2e4787f0..1407e68157c 100644 --- a/tde-i18n-sv/docs/tdevelop/kdearch/index.docbook +++ b/tde-i18n-sv/docs/tdevelop/kdearch/index.docbook @@ -1,137 +1,74 @@ <?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY % addindex "INCLUDE"> - <!ENTITY % Swedish "INCLUDE" -> <!-- change language only here --> + <!ENTITY % Swedish "INCLUDE"> <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> -<title ->Översikt över KDE:s arkitektur</title> +<title>Översikt över KDE:s arkitektur</title> -<date -></date> -<releaseinfo -></releaseinfo> +<date></date> +<releaseinfo></releaseinfo> <authorgroup> -<author -><firstname ->Bernd</firstname -> <surname ->Gehrmann</surname -> <affiliation -><address -><email ->bernd@kdevelop.org</email -></address -></affiliation> +<author><firstname>Bernd</firstname> <surname>Gehrmann</surname> <affiliation><address><email>bernd@kdevelop.org</email></address></affiliation> </author> </authorgroup> <copyright> -<year ->2001</year> -<year ->2002</year> -<holder ->Bernd Gehrmann</holder> +<year>2001</year> +<year>2002</year> +<holder>Bernd Gehrmann</holder> </copyright> -<legalnotice ->&FDLNotice;</legalnotice> +<legalnotice>&FDLNotice;</legalnotice> <abstract> -<para ->Den här dokumentationen ger en översikt över KDE-utvecklingsmiljön.</para> +<para>Den här dokumentationen ger en översikt över KDE-utvecklingsmiljön.</para> </abstract> <keywordset> -<keyword ->KDE</keyword> -<keyword ->arkitektur</keyword> -<keyword ->utveckling</keyword> -<keyword ->programmering</keyword> +<keyword>KDE</keyword> +<keyword>arkitektur</keyword> +<keyword>utveckling</keyword> +<keyword>programmering</keyword> </keywordset> </bookinfo> <chapter id="structure"> -<title ->Biblioteksstruktur</title> +<title>Biblioteksstruktur</title> <simplesect id="structure-byname"> -<title ->Bibliotek ordnade efter namn</title> +<title>Bibliotek ordnade efter namn</title> <variablelist> <varlistentry> -<term -><ulink url="kdeapi:tdecore/index.html" ->tdecore</ulink -></term> -<listitem -><para ->Biblioteket tdecore är det grundläggande programramverket för alla KDE-baserade program. Det ger tillgång till konfigurationssystemet, hantering av kommandoraden, laddning och hantering av ikoner, vissa särskilda sorters interprocesskommunikation, filhantering och diverse andra verktyg. </para -></listitem> +<term><ulink url="kdeapi:tdecore/index.html">tdecore</ulink></term> +<listitem><para>Biblioteket tdecore är det grundläggande programramverket för alla KDE-baserade program. Det ger tillgång till konfigurationssystemet, hantering av kommandoraden, laddning och hantering av ikoner, vissa särskilda sorters interprocesskommunikation, filhantering och diverse andra verktyg. </para></listitem> </varlistentry> <varlistentry> -<term -><ulink url="kdeapi:tdeui/index.html" ->tdeui</ulink -></term> -<listitem -><para ->Biblioteket <literal ->tdeui</literal -> tillhandahåller många grafiska komponenter och standarddialogrutor som Qt inte har eller som har fler funktioner än motsvarande i Qt. Det innehåller också flera grafiska komponenter som är delklasser av de i Qt, men är bättre integrerade med KDE-skrivbordet genom att de respekterar användarinställningar. </para -></listitem> +<term><ulink url="kdeapi:tdeui/index.html">tdeui</ulink></term> +<listitem><para>Biblioteket <literal>tdeui</literal> tillhandahåller många grafiska komponenter och standarddialogrutor som Qt inte har eller som har fler funktioner än motsvarande i Qt. Det innehåller också flera grafiska komponenter som är delklasser av de i Qt, men är bättre integrerade med KDE-skrivbordet genom att de respekterar användarinställningar. </para></listitem> </varlistentry> <varlistentry> -<term -><ulink url="kdeapi:tdeio/index.html" ->tdeio</ulink -></term> -<listitem -><para ->Biblioteket <literal ->tdeio</literal -> innehåller funktioner för asynkron, nätverkstransparent I/O och åtkomst till hantering av Mime-typer. Det tillhandahåller också KDE:s fildialogruta och dess hjälpklasser. </para -></listitem> +<term><ulink url="kdeapi:tdeio/index.html">tdeio</ulink></term> +<listitem><para>Biblioteket <literal>tdeio</literal> innehåller funktioner för asynkron, nätverkstransparent I/O och åtkomst till hantering av Mime-typer. Det tillhandahåller också KDE:s fildialogruta och dess hjälpklasser. </para></listitem> </varlistentry> <varlistentry> -<term -><ulink url="kdeapi:kjs/index.html" ->kjs</ulink -></term> -<listitem -><para ->Biblioteket <literal ->kjs</literal -> tillhandahåller en implementering av Javaskript. </para -></listitem> +<term><ulink url="kdeapi:kjs/index.html">kjs</ulink></term> +<listitem><para>Biblioteket <literal>kjs</literal> tillhandahåller en implementering av Javaskript. </para></listitem> </varlistentry> <varlistentry> -<term -><ulink url="kdeapi:tdehtml/index.html" ->tdehtml</ulink -></term> -<listitem -><para ->Biblioteket <literal ->tdehtml</literal -> innehåller TDEHTML-delen, en HTML-bläddringskomponent, DOM-gränssnitt och tolk, inklusive gränssnitt till Java och Javaskript. </para -></listitem> +<term><ulink url="kdeapi:tdehtml/index.html">tdehtml</ulink></term> +<listitem><para>Biblioteket <literal>tdehtml</literal> innehåller TDEHTML-delen, en HTML-bläddringskomponent, DOM-gränssnitt och tolk, inklusive gränssnitt till Java och Javaskript. </para></listitem> </varlistentry> </variablelist> @@ -140,928 +77,382 @@ <simplesect id="structure-grouped"> -<title ->Grupperade klasser</title> +<title>Grupperade klasser</title> -<para ->Centralt programskelett: klasser som behövs av nästan alla program. </para> +<para>Centralt programskelett: klasser som behövs av nästan alla program. </para> <itemizedlist> -<listitem -><formalpara> -<title -><ulink url="kdeapi:tdecore/TDEApplication" ->TDEApplication</ulink -></title> -<para ->Initierar och styr ett KDE-program. </para> -</formalpara -></listitem> - -<listitem -><formalpara> -<title -><ulink url="kdeapi:tdecore/KUniqueApplication" ->KUniqueApplication</ulink -></title> -<para ->Försäkrar att bara en instans av ett program kan köra samtidigt. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEAboutData" ->TDEAboutData</ulink -></title> -<para ->Innehåller information för dialogrutan Om. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDECmdLineArgs" ->TDECmdLineArgs</ulink -></title> -<para ->Behandling av kommandoradsväljare. </para> -</formalpara -></listitem> +<listitem><formalpara> +<title><ulink url="kdeapi:tdecore/TDEApplication">TDEApplication</ulink></title> +<para>Initierar och styr ett KDE-program. </para> +</formalpara></listitem> + +<listitem><formalpara> +<title><ulink url="kdeapi:tdecore/KUniqueApplication">KUniqueApplication</ulink></title> +<para>Försäkrar att bara en instans av ett program kan köra samtidigt. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEAboutData">TDEAboutData</ulink></title> +<para>Innehåller information för dialogrutan Om. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDECmdLineArgs">TDECmdLineArgs</ulink></title> +<para>Behandling av kommandoradsväljare. </para> +</formalpara></listitem> </itemizedlist> -<para ->Konfigurationsinställningar: åtkomst till KDE:s hierarkiska konfigurationsdatabas, globala inställningar och programresurser. </para> +<para>Konfigurationsinställningar: åtkomst till KDE:s hierarkiska konfigurationsdatabas, globala inställningar och programresurser. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEConfig" ->TDEConfig</ulink -></title> -<para ->Ger tillgång till KDE:s konfigurationsdatabas. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KSimpleConfig" ->KSimpleConfig</ulink -></title> -<para ->Åtkomst av enkla, icke-hierarkiska konfigurationsfiler. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KDesktopFile" ->KDesktopFile</ulink -></title> -<para ->Åtkomst till <literal ->.desktop</literal ->-filer. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEGlobalSettings" ->TDEGlobalSettings</ulink -></title> -<para ->Bekväm åtkomst till inställningar som inte är programspecifika. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEConfig">TDEConfig</ulink></title> +<para>Ger tillgång till KDE:s konfigurationsdatabas. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KSimpleConfig">KSimpleConfig</ulink></title> +<para>Åtkomst av enkla, icke-hierarkiska konfigurationsfiler. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KDesktopFile">KDesktopFile</ulink></title> +<para>Åtkomst till <literal>.desktop</literal>-filer. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEGlobalSettings">TDEGlobalSettings</ulink></title> +<para>Bekväm åtkomst till inställningar som inte är programspecifika. </para> +</formalpara></listitem> </itemizedlist> -<para ->Fil- och webbadresshantering: avkodning av webbadresser, tillfälliga filer, etc. </para> +<para>Fil- och webbadresshantering: avkodning av webbadresser, tillfälliga filer, etc. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KURL" ->KURL</ulink -></title> -<para ->Representerar och tolkar webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KTempFile" ->KTempFile</ulink -></title> -<para ->Skapar unika filer för tillfällig data. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KSaveFile" ->KSaveFile</ulink -></title> -<para ->Tillåter att filer sparas odelbart. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KURL">KURL</ulink></title> +<para>Representerar och tolkar webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KTempFile">KTempFile</ulink></title> +<para>Skapar unika filer för tillfällig data. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KSaveFile">KSaveFile</ulink></title> +<para>Tillåter att filer sparas odelbart. </para> +</formalpara></listitem> </itemizedlist> -<para ->Interprocesskommunikation: DCOP-hjälpklasser och start av underprocesser. </para> +<para>Interprocesskommunikation: DCOP-hjälpklasser och start av underprocesser. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEProcess" ->TDEProcess</ulink -></title> -<para ->Startar och styr underprocesser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KShellProcess" ->KShellProcess</ulink -></title> -<para ->Startar underprocesser via ett skal. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdesu/PtyProcess" ->PtyProcess</ulink -></title> -<para ->Kommunikation med underprocesser via en pseudoterminal. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KIPC" ->KIPC</ulink -></title> -<para ->Enkel IPC-mekanism som använder X11-klientmeddelanden. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:dcop/DCOPClient" ->DCOPClient</ulink -></title> -<para ->DCOP-meddelanden. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KDCOPPropertyProxy" ->KDCOPPropertyProxy</ulink -></title> -<para ->En proxyklass som offentliggör Qt-egenskaper via DCOP. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KDCOPActionProxy" ->KDCOPActionProxy</ulink -></title> -<para ->En proxyklass som offentliggör ett DCOP-gränssnitt för åtgärder. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEProcess">TDEProcess</ulink></title> +<para>Startar och styr underprocesser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KShellProcess">KShellProcess</ulink></title> +<para>Startar underprocesser via ett skal. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdesu/PtyProcess">PtyProcess</ulink></title> +<para>Kommunikation med underprocesser via en pseudoterminal. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KIPC">KIPC</ulink></title> +<para>Enkel IPC-mekanism som använder X11-klientmeddelanden. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:dcop/DCOPClient">DCOPClient</ulink></title> +<para>DCOP-meddelanden. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KDCOPPropertyProxy">KDCOPPropertyProxy</ulink></title> +<para>En proxyklass som offentliggör Qt-egenskaper via DCOP. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KDCOPActionProxy">KDCOPActionProxy</ulink></title> +<para>En proxyklass som offentliggör ett DCOP-gränssnitt för åtgärder. </para> +</formalpara></listitem> </itemizedlist> -<para ->Verktygsklasser: minneshantering, reguljära uttryck, stränghantering, slumptal. </para> +<para>Verktygsklasser: minneshantering, reguljära uttryck, stränghantering, slumptal. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KRegExp" ->KRegExp</ulink -></title> -<para ->Matchning av POSIX reguljära uttryck. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KStringHandler" ->KStringHandler</ulink -></title> -<para ->Ett överdådigt gränssnitt för stränghantering. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEZoneAllocator" ->TDEZoneAllocator</ulink -></title> -<para ->Effektiv minnestilldelning för stora grupper av små objekt. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KRandomSequence" ->KRandomSequence</ulink -></title> -<para ->Skapa pseudoslumptal. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KRegExp">KRegExp</ulink></title> +<para>Matchning av POSIX reguljära uttryck. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KStringHandler">KStringHandler</ulink></title> +<para>Ett överdådigt gränssnitt för stränghantering. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEZoneAllocator">TDEZoneAllocator</ulink></title> +<para>Effektiv minnestilldelning för stora grupper av små objekt. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KRandomSequence">KRandomSequence</ulink></title> +<para>Skapa pseudoslumptal. </para> +</formalpara></listitem> </itemizedlist> -<para ->Snabbtangenter: klasser som hjälper till att skapa överensstämmande tangentbindningar över hela skrivbordet. </para> +<para>Snabbtangenter: klasser som hjälper till att skapa överensstämmande tangentbindningar över hela skrivbordet. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEAccel" ->TDEAccel</ulink -></title> -<para ->Samling av snabbtangenter. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEStdAccel" ->TDEStdAccel</ulink -></title> -<para ->Lätt åtkomst till de vanliga snabbtangenterna. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEGlobalAccel" -></ulink -></title> -<para ->Samling av snabbtangenter som gäller för hela systemet. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEAccel">TDEAccel</ulink></title> +<para>Samling av snabbtangenter. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEStdAccel">TDEStdAccel</ulink></title> +<para>Lätt åtkomst till de vanliga snabbtangenterna. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEGlobalAccel"></ulink></title> +<para>Samling av snabbtangenter som gäller för hela systemet. </para> +</formalpara></listitem> </itemizedlist> -<para ->Bildbehandling: ikonladdning och -hantering. </para> +<para>Bildbehandling: ikonladdning och -hantering. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEIconLoader" ->TDEIconLoader</ulink -></title> -<para ->Laddar ikoner som överensstämmer med teman. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDEIconTheme" ->TDEIconTheme</ulink -></title> -<para ->Hjälpklasser för TDEIconLoader. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KPixmap" ->KPixmap</ulink -></title> -<para ->En pixmapp-klass med utökade gittermöjligheter. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KPixmapEffect" ->KPixmapEffect</ulink -></title> -<para ->Pixmappeffekter som toning och mönster. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KPixmapIO" ->KPixmapIO</ulink -></title> -<para ->Snabb konvertering mellan <classname ->QImage</classname -> och <classname ->QPixmap</classname ->. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEIconLoader">TDEIconLoader</ulink></title> +<para>Laddar ikoner som överensstämmer med teman. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDEIconTheme">TDEIconTheme</ulink></title> +<para>Hjälpklasser för TDEIconLoader. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KPixmap">KPixmap</ulink></title> +<para>En pixmapp-klass med utökade gittermöjligheter. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KPixmapEffect">KPixmapEffect</ulink></title> +<para>Pixmappeffekter som toning och mönster. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KPixmapIO">KPixmapIO</ulink></title> +<para>Snabb konvertering mellan <classname>QImage</classname> och <classname>QPixmap</classname>. </para> +</formalpara></listitem> </itemizedlist> -<para ->Drag och släpp: dra objekt för färger och webbadresser. </para> +<para>Drag och släpp: dra objekt för färger och webbadresser. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KURLDrag" ->KURLDrag</ulink -></title> -<para ->Dragobjekt för webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KColorDrag" ->KColorDrag</ulink -></title> -<para ->Dragobjekt för färger. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KMultipleDrag" ->KMultipleDrag</ulink -></title> -<para ->Tillåter att dragobjekt skapas från flera andra. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KURLDrag">KURLDrag</ulink></title> +<para>Dragobjekt för webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KColorDrag">KColorDrag</ulink></title> +<para>Dragobjekt för färger. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KMultipleDrag">KMultipleDrag</ulink></title> +<para>Tillåter att dragobjekt skapas från flera andra. </para> +</formalpara></listitem> </itemizedlist> -<para ->Automatisk komplettering </para> +<para>Automatisk komplettering </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/TDECompletion" ->TDECompletion</ulink -></title> -<para ->Generell automatisk komplettering av strängar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KURLCompletion" ->KURLCompletion</ulink -></title> -<para ->Automatisk komplettering av webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KShellCompletion" ->KShellCompletion</ulink -></title> -<para ->Automatisk komplettering för körbara program. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/TDECompletion">TDECompletion</ulink></title> +<para>Generell automatisk komplettering av strängar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KURLCompletion">KURLCompletion</ulink></title> +<para>Automatisk komplettering av webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KShellCompletion">KShellCompletion</ulink></title> +<para>Automatisk komplettering för körbara program. </para> +</formalpara></listitem> </itemizedlist> -<para ->Grafiska komponenter: klasser för listvyer, linjaler, färgval, etc. </para> +<para>Grafiska komponenter: klasser för listvyer, linjaler, färgval, etc. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEListView" ->TDEListView</ulink -></title> -<para ->En version av <classname ->QListView</classname -> som följer KDE:s systeminställningar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEListView" ->TDEListBox</ulink -></title> -<para ->En version av <classname ->QListBox</classname -> som följer KDE:s systeminställningar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEListView" ->TDEIconView</ulink -></title> -<para ->En version av <classname ->QIconView</classname -> som följer KDE:s systeminställningar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEListView" ->KLineEdit</ulink -></title> -<para ->En version av <classname ->QLineEdit</classname -> med stöd för komplettering. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KComboBox" ->KComboBox</ulink -></title> -<para ->En version av <classname ->QComboBox</classname -> med stöd för komplettering. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEFontCombo" ->TDEFontCombo</ulink -></title> -<para ->En kombinationsruta för att välja teckensnitt. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KColorCombo" ->KColorCombo</ulink -></title> -<para ->En kombinationsruta för att välja färger. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KColorButton" ->KColorButton</ulink -></title> -<para ->En knapp för att välja färger. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KURLCombo" ->KURLCombo</ulink -></title> -<para ->En kombinationsruta för att välja filnamn och webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdefile/KURLRequester" ->KURLRequester</ulink -></title> -<para ->En radeditor för att välja filnamn och webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KRuler" ->KRuler</ulink -></title> -<para ->En linjalkomponent. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink -url="kdeapi:tdeui/KAnimWidget" ->KAnimWidget</ulink -></title> -<para ->Animeringar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KNumInput" ->KNumInput</ulink -></title> -<para ->En komponent för att mata in tal. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KPasswordEdit" ->KPasswordEdit</ulink -></title> -<para ->En komponent för att mata in lösenord. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEListView">TDEListView</ulink></title> +<para>En version av <classname>QListView</classname> som följer KDE:s systeminställningar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEListView">TDEListBox</ulink></title> +<para>En version av <classname>QListBox</classname> som följer KDE:s systeminställningar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEListView">TDEIconView</ulink></title> +<para>En version av <classname>QIconView</classname> som följer KDE:s systeminställningar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEListView">KLineEdit</ulink></title> +<para>En version av <classname>QLineEdit</classname> med stöd för komplettering. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KComboBox">KComboBox</ulink></title> +<para>En version av <classname>QComboBox</classname> med stöd för komplettering. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEFontCombo">TDEFontCombo</ulink></title> +<para>En kombinationsruta för att välja teckensnitt. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KColorCombo">KColorCombo</ulink></title> +<para>En kombinationsruta för att välja färger. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KColorButton">KColorButton</ulink></title> +<para>En knapp för att välja färger. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KURLCombo">KURLCombo</ulink></title> +<para>En kombinationsruta för att välja filnamn och webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdefile/KURLRequester">KURLRequester</ulink></title> +<para>En radeditor för att välja filnamn och webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KRuler">KRuler</ulink></title> +<para>En linjalkomponent. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink +url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title> +<para>Animeringar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KNumInput">KNumInput</ulink></title> +<para>En komponent för att mata in tal. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KPasswordEdit">KPasswordEdit</ulink></title> +<para>En komponent för att mata in lösenord. </para> +</formalpara></listitem> </itemizedlist> -<para ->Dialogrutor: dialogrutor med fullständig funktion för val av filer, färger och teckensnitt. </para> +<para>Dialogrutor: dialogrutor med fullständig funktion för val av filer, färger och teckensnitt. </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdefile/KFileDialog" ->KFileDialog</ulink -></title> -<para ->En dialogruta för val av filer. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KColorDialog" ->KColorDialog</ulink -></title> -<para ->En dialogruta för val av färger. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEFontDialog" ->TDEFontDialog</ulink -></title> -<para ->En dialogruta för val av teckensnitt. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdefile/TDEIconDialog" ->TDEIconDialog</ulink -></title> -<para ->En dialogruta för val av ikoner. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KKeyDialog" ->KKeyDialog</ulink -></title> -<para ->En dialogruta för att redigera tangentbordsbindningar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KEditToolBar" ->KEditToolBar</ulink -></title> -<para ->En dialogruta för att redigera verktygsrader. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KTipDialog" ->KTipDialog</ulink -></title> -<para ->En dialogruta med dagens tips. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEAboutDialog" ->TDEAboutDialog</ulink -></title> -<para ->En dialogruta om ett program. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KLineEditDlg" ->KLineEditDlg</ulink -></title> -<para ->En enkel dialogruta för att mata in text. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdefile/KURLRequesterDlg" ->KURLRequesterDlg</ulink -></title> -<para ->En enkel dialogruta för att mata in webbadresser. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KMessageBox" ->KMessageBox</ulink -></title> -<para ->En dialogruta för att meddela fel och varningar. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KPasswordDialog" ->KPasswordDialog</ulink -></title> -<para ->En dialogruta för att mata in lösenord. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdefile/KFileDialog">KFileDialog</ulink></title> +<para>En dialogruta för val av filer. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KColorDialog">KColorDialog</ulink></title> +<para>En dialogruta för val av färger. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEFontDialog">TDEFontDialog</ulink></title> +<para>En dialogruta för val av teckensnitt. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdefile/TDEIconDialog">TDEIconDialog</ulink></title> +<para>En dialogruta för val av ikoner. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KKeyDialog">KKeyDialog</ulink></title> +<para>En dialogruta för att redigera tangentbordsbindningar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KEditToolBar">KEditToolBar</ulink></title> +<para>En dialogruta för att redigera verktygsrader. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KTipDialog">KTipDialog</ulink></title> +<para>En dialogruta med dagens tips. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEAboutDialog">TDEAboutDialog</ulink></title> +<para>En dialogruta om ett program. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KLineEditDlg">KLineEditDlg</ulink></title> +<para>En enkel dialogruta för att mata in text. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdefile/KURLRequesterDlg">KURLRequesterDlg</ulink></title> +<para>En enkel dialogruta för att mata in webbadresser. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KMessageBox">KMessageBox</ulink></title> +<para>En dialogruta för att meddela fel och varningar. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KPasswordDialog">KPasswordDialog</ulink></title> +<para>En dialogruta för att mata in lösenord. </para> +</formalpara></listitem> </itemizedlist> -<para ->Åtgärder och grafiskt XML-gränssnitt </para> +<para>Åtgärder och grafiskt XML-gränssnitt </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEAction" ->TDEAction</ulink -></title> -<para ->En abstraktion av en åtgärd som kan anslutas till menyrader och verktygsrader. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/TDEActionCollection" ->TDEActionCollection</ulink -></title> -<para ->En samling åtgärder. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeui/KXMLGUIClient" ->KXMLGUIClient</ulink -></title> -<para ->Ett fragment av ett grafiskt gränssnitt som består av en åtgärd och ett DOM-träd som motsvarar dess plats i det grafiska gränssnittet. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeparts/KPartManager" ->KPartManager</ulink -></title> -<para ->Hanterar aktivering av klienter till det grafiska XML-gränssnittet. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEAction">TDEAction</ulink></title> +<para>En abstraktion av en åtgärd som kan anslutas till menyrader och verktygsrader. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/TDEActionCollection">TDEActionCollection</ulink></title> +<para>En samling åtgärder. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeui/KXMLGUIClient">KXMLGUIClient</ulink></title> +<para>Ett fragment av ett grafiskt gränssnitt som består av en åtgärd och ett DOM-träd som motsvarar dess plats i det grafiska gränssnittet. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeparts/KPartManager">KPartManager</ulink></title> +<para>Hanterar aktivering av klienter till det grafiska XML-gränssnittet. </para> +</formalpara></listitem> </itemizedlist> -<para ->Insticksprogram och komponenter </para> +<para>Insticksprogram och komponenter </para> <itemizedlist> -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KLibrary" ->KLibrary</ulink -></title> -<para ->Representerar ett dynamiskt laddat bibliotek. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KLibrary" ->KLibLoader</ulink -></title> -<para ->Laddning av delade bibliotek. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdecore/KLibFactory" ->KLibFactory</ulink -></title> -<para ->Tillverkning av objekt för Insticksprogram. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KServiceType" ->KServiceType</ulink -></title> -<para ->Representerar en tjänsttyp. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KService" ->KService</ulink -></title> -<para ->Representerar en tjänst. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KMimeType" ->KMimeType</ulink -></title> -<para ->Representerar en Mime-typ. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KServiceTypeProfile" ->KServiceTypeProfile</ulink -></title> -<para ->Användarinställningar för tilldelningar av Mime-typer. </para> -</formalpara -></listitem> - -<listitem -><formalpara -><title -><ulink url="kdeapi:tdeio/KServiceTypeProfile" ->TDETrader</ulink -></title> -<para ->Förfrågningar om tjänster. </para> -</formalpara -></listitem> +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KLibrary">KLibrary</ulink></title> +<para>Representerar ett dynamiskt laddat bibliotek. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KLibrary">KLibLoader</ulink></title> +<para>Laddning av delade bibliotek. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdecore/KLibFactory">KLibFactory</ulink></title> +<para>Tillverkning av objekt för Insticksprogram. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KServiceType">KServiceType</ulink></title> +<para>Representerar en tjänsttyp. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KService">KService</ulink></title> +<para>Representerar en tjänst. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KMimeType">KMimeType</ulink></title> +<para>Representerar en Mime-typ. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KServiceTypeProfile">KServiceTypeProfile</ulink></title> +<para>Användarinställningar för tilldelningar av Mime-typer. </para> +</formalpara></listitem> + +<listitem><formalpara><title><ulink url="kdeapi:tdeio/KServiceTypeProfile">TDETrader</ulink></title> +<para>Förfrågningar om tjänster. </para> +</formalpara></listitem> </itemizedlist> @@ -1072,38 +463,21 @@ url="kdeapi:tdeui/KAnimWidget" <chapter id="graphics"> -<title ->Grafik</title> +<title>Grafik</title> <sect1 id="graphics-qpainter"> -<title ->Lågnivågrafik med QPainter.</title> +<title>Lågnivågrafik med QPainter.</title> <simplesect id="qpainter-rendering"> -<title ->Uppritning med QPainter</title> - -<para ->Qt:s lågnivåritmodell är baserad på de möjligheter som erbjuds av X11 och andra fönstersystem där en version av Qt finns. Men den utökar också dem genom att implementera ytterligare funktioner som godtyckliga affina omvandlingar för text och pixmappar. </para> - -<para ->Den centrala grafiska klassen för att rita tvådimensionellt med Qt är <ulink url="kdeapi:qt/QPainter" ->QPainter</ulink ->. Den kan rita på en <ulink url="kdeapi:qt/QPaintDevice" ->QPaintDevice</ulink ->. Det finns tre möjliga ritenheter implementerade: En är <ulink url="kdeapi:qt/QWidget" ->QWidget</ulink ->, som representerar en grafisk komponent på skärmen. Den andra är <ulink url="kdeapi:qt/QPrinter" ->QPrinter</ulink ->, som representerar en skrivare, och producerar Postskript-utmatning. Den tredje är klassen <ulink url="kdeapi:qt/QPicture" ->QPicture</ulink ->, som spelar in ritkommandon och kan spara dem till disk, och sedan spela upp dem. Ett möjligt lagringsformat för ritkommandon är W3C-standarden SVG. </para> - -<para ->Alltså är det möjligt att återanvända uppritningskoden som du använder för att visa en grafisk komponent för utskrift, med stöd för samma funktioner. Naturligtvis används koden i praktiken i ett något annorlunda sammanhang. Rita på en grafisk komponent görs nästan enbart i metoden paintEvent() i en komponentklass. </para> - -<programlisting ->void MinKomponent::paintEvent() +<title>Uppritning med QPainter</title> + +<para>Qt:s lågnivåritmodell är baserad på de möjligheter som erbjuds av X11 och andra fönstersystem där en version av Qt finns. Men den utökar också dem genom att implementera ytterligare funktioner som godtyckliga affina omvandlingar för text och pixmappar. </para> + +<para>Den centrala grafiska klassen för att rita tvådimensionellt med Qt är <ulink url="kdeapi:qt/QPainter">QPainter</ulink>. Den kan rita på en <ulink url="kdeapi:qt/QPaintDevice">QPaintDevice</ulink>. Det finns tre möjliga ritenheter implementerade: En är <ulink url="kdeapi:qt/QWidget">QWidget</ulink>, som representerar en grafisk komponent på skärmen. Den andra är <ulink url="kdeapi:qt/QPrinter">QPrinter</ulink>, som representerar en skrivare, och producerar Postskript-utmatning. Den tredje är klassen <ulink url="kdeapi:qt/QPicture">QPicture</ulink>, som spelar in ritkommandon och kan spara dem till disk, och sedan spela upp dem. Ett möjligt lagringsformat för ritkommandon är W3C-standarden SVG. </para> + +<para>Alltså är det möjligt att återanvända uppritningskoden som du använder för att visa en grafisk komponent för utskrift, med stöd för samma funktioner. Naturligtvis används koden i praktiken i ett något annorlunda sammanhang. Rita på en grafisk komponent görs nästan enbart i metoden paintEvent() i en komponentklass. </para> + +<programlisting>void MinKomponent::paintEvent() { QPainter p(this); // Ställ in @@ -1111,247 +485,164 @@ url="kdeapi:tdeui/KAnimWidget" } </programlisting> -<para ->Vid ritning på en skrivare, måste du försäkra dig om att använda QPrinter::newPage() för att avsluta en sida, och börja på en ny: något som inte är relevant för att rita grafiska komponenter. Vid utskrift vill du kanske också använda <ulink url="kdeapi:qt/QPaintDeviceMetrics" ->enhetsmått</ulink -> för att beräkna koordinater. </para> +<para>Vid ritning på en skrivare, måste du försäkra dig om att använda QPrinter::newPage() för att avsluta en sida, och börja på en ny: något som inte är relevant för att rita grafiska komponenter. Vid utskrift vill du kanske också använda <ulink url="kdeapi:qt/QPaintDeviceMetrics">enhetsmått</ulink> för att beräkna koordinater. </para> </simplesect> <simplesect id="qpainter-transformations"> -<title ->Omvandlingar</title> +<title>Omvandlingar</title> -<para ->Normalt när QPainter används, ritar den i det naturliga koordinatsystemet som används av enheten. Det betyder att om du ritar en linje med längden 10 enheter, ritas den som en horisontell linje på skärmen med längden 10 bildpunkter. Dock kan QPainter använda godtyckliga affina omvandlingar innan former och kurvor verkligen ritas upp. En affin omvandling överför x- och y-koordinater linjärt till x' och y' enligt: </para> +<para>Normalt när QPainter används, ritar den i det naturliga koordinatsystemet som används av enheten. Det betyder att om du ritar en linje med längden 10 enheter, ritas den som en horisontell linje på skärmen med längden 10 bildpunkter. Dock kan QPainter använda godtyckliga affina omvandlingar innan former och kurvor verkligen ritas upp. En affin omvandling överför x- och y-koordinater linjärt till x' och y' enligt: </para> <mediaobject> -<imageobject -><imagedata fileref="affine-general.png"/></imageobject> +<imageobject><imagedata fileref="affine-general.png"/></imageobject> </mediaobject> -<para ->QPainter::setWorldMatrix() kan användas för att ange den här 3x3 matrisen i ekvationen, som har typen <ulink url="kdeapi:qt/QWMatrix" ->QWMatrix</ulink ->. Normalt är detta identitetsmatrisen, dvs. m11 och m22 är ett, och övriga värden är noll. Det finns i grunden tre olika grupper av omvandlingar: </para> +<para>QPainter::setWorldMatrix() kan användas för att ange den här 3x3 matrisen i ekvationen, som har typen <ulink url="kdeapi:qt/QWMatrix">QWMatrix</ulink>. Normalt är detta identitetsmatrisen, dvs. m11 och m22 är ett, och övriga värden är noll. Det finns i grunden tre olika grupper av omvandlingar: </para> <itemizedlist> -<listitem -><formalpara> -<title ->Förflyttningar</title> -<para ->Dessa flyttar ett objekts alla punkter med ett fast värde i någon riktning. En förflyttningsmatris kan erhållas genom att anropa metoden m.translate(dx, dy) med en QWMatrix. Det motsvarar matrisen: </para> +<listitem><formalpara> +<title>Förflyttningar</title> +<para>Dessa flyttar ett objekts alla punkter med ett fast värde i någon riktning. En förflyttningsmatris kan erhållas genom att anropa metoden m.translate(dx, dy) med en QWMatrix. Det motsvarar matrisen: </para> </formalpara> <mediaobject> -<imageobject -><imagedata fileref="affine-translate.png"/></imageobject> +<imageobject><imagedata fileref="affine-translate.png"/></imageobject> </mediaobject> </listitem> -<listitem -><formalpara> -<title ->Skalning</title> -<para ->Dessa förstorar eller förminskar ett objekts koordinater, och gör det större eller mindre utan att förvränga det. En skalningsomvandling kan göras för en QWMatrix genom att anropa m.scale(sx, sy). Det motsvarar matrisen: </para> +<listitem><formalpara> +<title>Skalning</title> +<para>Dessa förstorar eller förminskar ett objekts koordinater, och gör det större eller mindre utan att förvränga det. En skalningsomvandling kan göras för en QWMatrix genom att anropa m.scale(sx, sy). Det motsvarar matrisen: </para> </formalpara> <mediaobject> -<imageobject -><imagedata fileref="affine-scale.png"/></imageobject> +<imageobject><imagedata fileref="affine-scale.png"/></imageobject> </mediaobject> -<para ->Genom att ge en av parametrarna ett negativt värde, kan man åstadkomma spegling av koordinatsystemet. </para> +<para>Genom att ge en av parametrarna ett negativt värde, kan man åstadkomma spegling av koordinatsystemet. </para> </listitem> -<listitem -><formalpara> -<title ->Skjuvning</title> -<para ->En förvrängning av koordinatsystemet med två parametrar. En skjuvningsomvandling kan göras genom att anropa m.shear(sh, sv), vilket motsvarar matrisen: </para> +<listitem><formalpara> +<title>Skjuvning</title> +<para>En förvrängning av koordinatsystemet med två parametrar. En skjuvningsomvandling kan göras genom att anropa m.shear(sh, sv), vilket motsvarar matrisen: </para> </formalpara> <mediaobject> - <imageobject -><imagedata fileref="affine-shear.png"/></imageobject> + <imageobject><imagedata fileref="affine-shear.png"/></imageobject> </mediaobject> </listitem> -<listitem -><formalpara> -<title ->Rotation</title> -<para ->Detta roterar ett objekt. En rotationsomvandling kan göras genom att anropa m.rotate(alfa). Observera att vinkeln måste anges i grader, inte som en matematisk vinkel! Motsvarande matris är: </para> +<listitem><formalpara> +<title>Rotation</title> +<para>Detta roterar ett objekt. En rotationsomvandling kan göras genom att anropa m.rotate(alfa). Observera att vinkeln måste anges i grader, inte som en matematisk vinkel! Motsvarande matris är: </para> </formalpara> <mediaobject> -<imageobject -><imagedata fileref="affine-rotate.png"/></imageobject> +<imageobject><imagedata fileref="affine-rotate.png"/></imageobject> </mediaobject> -<para ->Observera att rotation är ekvivalent med en kombination av skalning och skjuvning. </para> +<para>Observera att rotation är ekvivalent med en kombination av skalning och skjuvning. </para> </listitem> </itemizedlist> -<para ->Här är några bilder som visar effekten av de grundläggande omvandlingarna för vår maskot: </para> +<para>Här är några bilder som visar effekten av de grundläggande omvandlingarna för vår maskot: </para> <informaltable frame="none"> <tgroup cols="3"> <tbody> <row> -<entry -><mediaobject> - <imageobject -><imagedata fileref="konqi-normal.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="konqi-rotated.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="konqi-sheared.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="konqi-mirrored.png"/></imageobject> -</mediaobject -></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="konqi-normal.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="konqi-rotated.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="konqi-sheared.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="konqi-mirrored.png"/></imageobject> +</mediaobject></entry> </row> <row> -<entry ->a) Normal</entry> -<entry ->b) Roterad 30 grader</entry> -<entry ->c) Skjuvad med 0,4</entry> -<entry ->d) Speglad</entry> +<entry>a) Normal</entry> +<entry>b) Roterad 30 grader</entry> +<entry>c) Skjuvad med 0,4</entry> +<entry>d) Speglad</entry> </row> </tbody> </tgroup> </informaltable> -<para ->Omvandlingar kan kombineras genom att multiplicera grundläggande matriser. Observera att matrisoperationer inte i allmänhet är kommutativa, och därför beror den kombinerade effekten av en sammansättning på ordningen som matriserna multipliceras med. </para> +<para>Omvandlingar kan kombineras genom att multiplicera grundläggande matriser. Observera att matrisoperationer inte i allmänhet är kommutativa, och därför beror den kombinerade effekten av en sammansättning på ordningen som matriserna multipliceras med. </para> </simplesect> <simplesect id="qpainter-strokeattributes"> -<title ->Ange streckegenskaper</title> +<title>Ange streckegenskaper</title> -<para ->Uppritning av linjer, kurvor och polygonkanter kan ändras genom att ange en särskild penna med QPainter::setPen(). Argumentet till den här funktionen är ett <ulink url="kdeapi:qt/QPen" ->QPen</ulink ->-objekt. Egenskaperna som lagras i det är en stil, en färg, en sammanfogningsstil och en ändstil. </para> +<para>Uppritning av linjer, kurvor och polygonkanter kan ändras genom att ange en särskild penna med QPainter::setPen(). Argumentet till den här funktionen är ett <ulink url="kdeapi:qt/QPen">QPen</ulink>-objekt. Egenskaperna som lagras i det är en stil, en färg, en sammanfogningsstil och en ändstil. </para> -<para ->Pennstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenStyle-enum" ->Qt::PenStyle</ulink ->. och kan ha något av följande värden: </para> +<para>Pennstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenStyle-enum">Qt::PenStyle</ulink>. och kan ha något av följande värden: </para> <mediaobject> - <imageobject -><imagedata fileref="penstyles.png"/></imageobject> + <imageobject><imagedata fileref="penstyles.png"/></imageobject> </mediaobject> -<para ->Sammanfogningsstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenJoinStyle-enum" ->Qt::PenJoinStyle</ulink ->. Den anger hur förbindelsen mellan flera linjer som sätts samman ritas. Den kan ha något av följande värden: </para> +<para>Sammanfogningsstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenJoinStyle-enum">Qt::PenJoinStyle</ulink>. Den anger hur förbindelsen mellan flera linjer som sätts samman ritas. Den kan ha något av följande värden: </para> <informaltable frame="none"> <tgroup cols="3"> <tbody> <row> -<entry -><mediaobject> - <imageobject -><imagedata fileref="joinmiter.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="joinbevel.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="joinround.png"/></imageobject> -</mediaobject -></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="joinmiter.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="joinbevel.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="joinround.png"/></imageobject> +</mediaobject></entry> </row> <row> -<entry ->a) MiterJoin</entry> -<entry ->c) BevelJoin</entry> -<entry ->b) RoundJoin</entry> +<entry>a) MiterJoin</entry> +<entry>c) BevelJoin</entry> +<entry>b) RoundJoin</entry> </row> </tbody> </tgroup> </informaltable> -<para ->Ändstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenCapStyle-enum" ->Qt::PenCapStyle</ulink -> och anger hur linjernas ändpunkter ritas. Den antar något värde från följande tabell: </para> +<para>Ändstilen är en medlem av uppräkningstypen <ulink url="kdeapi:qt/Qt#PenCapStyle-enum">Qt::PenCapStyle</ulink> och anger hur linjernas ändpunkter ritas. Den antar något värde från följande tabell: </para> <informaltable frame="none"> <tgroup cols="3"> <tbody> <row> -<entry -><mediaobject> - <imageobject -><imagedata fileref="capflat.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="capsquare.png"/></imageobject> -</mediaobject -></entry> -<entry -><mediaobject> - <imageobject -><imagedata fileref="capround.png"/></imageobject> -</mediaobject -></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="capflat.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="capsquare.png"/></imageobject> +</mediaobject></entry> +<entry><mediaobject> + <imageobject><imagedata fileref="capround.png"/></imageobject> +</mediaobject></entry> </row> <row> -<entry ->a) FlatCap</entry> -<entry ->b) SquareCap</entry> -<entry ->c) RoundCap</entry> +<entry>a) FlatCap</entry> +<entry>b) SquareCap</entry> +<entry>c) RoundCap</entry> </row> </tbody> </tgroup> @@ -1361,112 +652,79 @@ url="kdeapi:tdeui/KAnimWidget" <simplesect id="qpainter-fillattributes"> -<title ->Ange fyllnadsegenskaper</title> +<title>Ange fyllnadsegenskaper</title> -<para ->Fyllnadsstilen för polygoner, cirklar eller rektanglar kan ändras genom att ange en särskild borste med QPainter::setBrush(). Den här funktionens argument är ett <ulink url="kdeapi:qt/QBrush" ->QBrush</ulink ->-objekt. Borstar kan skapas på fyra olika sätt: </para> +<para>Fyllnadsstilen för polygoner, cirklar eller rektanglar kan ändras genom att ange en särskild borste med QPainter::setBrush(). Den här funktionens argument är ett <ulink url="kdeapi:qt/QBrush">QBrush</ulink>-objekt. Borstar kan skapas på fyra olika sätt: </para> <itemizedlist> <listitem> -<para ->QBrush::QBrush(): detta skapar en borste som inte fyller i former.</para> +<para>QBrush::QBrush(): detta skapar en borste som inte fyller i former.</para> </listitem> <listitem> -<para ->QBrush::QBrush(BrushStyle): detta skapar en svart borste, med ett av de fördefinierade mönstren som visas nedan.</para> +<para>QBrush::QBrush(BrushStyle): detta skapar en svart borste, med ett av de fördefinierade mönstren som visas nedan.</para> </listitem> <listitem> -<para ->QBrush::QBrush(const QColor &, BrushStyle): detta skapar en färgad borste, med ett av de fördefinierade mönstren som visas nedan.</para> +<para>QBrush::QBrush(const QColor &, BrushStyle): detta skapar en färgad borste, med ett av de fördefinierade mönstren som visas nedan.</para> </listitem> <listitem> -<para ->QBrush::QBrush(const QColor &, const QPixmap): detta skapar en färgad borste, med det egna mönstret som anges som andra parameter.</para> +<para>QBrush::QBrush(const QColor &, const QPixmap): detta skapar en färgad borste, med det egna mönstret som anges som andra parameter.</para> </listitem> </itemizedlist> -<para ->En standardborststil från uppräkningstypen <ulink url="kdeapi:qt/Qt#BrushStyle-enum" ->Qt::BrushStyle</ulink ->. Här är en bild av alla fördefinierade mönster: </para> +<para>En standardborststil från uppräkningstypen <ulink url="kdeapi:qt/Qt#BrushStyle-enum">Qt::BrushStyle</ulink>. Här är en bild av alla fördefinierade mönster: </para> <mediaobject> - <imageobject -><imagedata fileref="brushstyles.png"/></imageobject> + <imageobject><imagedata fileref="brushstyles.png"/></imageobject> </mediaobject> -<para ->Ytterligare ett sätt att anpassa en borstes beteende är att använda funktionen QPainter::setBrushOrigin(). </para> +<para>Ytterligare ett sätt att anpassa en borstes beteende är att använda funktionen QPainter::setBrushOrigin(). </para> </simplesect> <simplesect id="qpainter-color"> -<title ->Färg</title> +<title>Färg</title> -<para ->Färger har betydelse både när kurvor ritas, och när former fylls i. Färger representeras av klassen <ulink url="kdeapi:qt/QColor" ->QColor</ulink -> i Qt. Qt stöder inte avancerade grafikfunktioner som ICC-färgprofiler och färgkorrektion. Färger skapas oftast genom att ange deras röda, gröna och bläa komponenter, eftersom RGB-modellen är sättet som bildpunkter sätts samman på en bildskärm. </para> +<para>Färger har betydelse både när kurvor ritas, och när former fylls i. Färger representeras av klassen <ulink url="kdeapi:qt/QColor">QColor</ulink> i Qt. Qt stöder inte avancerade grafikfunktioner som ICC-färgprofiler och färgkorrektion. Färger skapas oftast genom att ange deras röda, gröna och bläa komponenter, eftersom RGB-modellen är sättet som bildpunkter sätts samman på en bildskärm. </para> -<para ->Det är också möjligt att använda färgton, färgmättnad och värde. Den här HSV-representationen är den som används i GTK:s färgdialogruta, t.ex. i GIMP. Där motsvarar färgtonen en vinkel i färghjulet, medan färgmättnaden motsvarar avståndet från cirkelns mitt. Värdet väljs med ett särskilt skjutreglage. </para> +<para>Det är också möjligt att använda färgton, färgmättnad och värde. Den här HSV-representationen är den som används i GTK:s färgdialogruta, t.ex. i GIMP. Där motsvarar färgtonen en vinkel i färghjulet, medan färgmättnaden motsvarar avståndet från cirkelns mitt. Värdet väljs med ett särskilt skjutreglage. </para> </simplesect> <simplesect id="qpainter-paintsettings"> -<title ->Övriga inställningar</title> +<title>Övriga inställningar</title> -<para ->Normalt när du ritar på en ritenhet, så ersätter bildpunkterna de som tidigare fanns där. Det betyder om du fyller ett visst område med röd färg, och sedan fyller samma område med blå färg, så är bara den blåa färgen synlig. Qt:s bildmodell tillåter inte genomskinlighet, dvs. ett sätt att blanda förgrunden som ritas med bakgrunden. Det finns dock ett enkelt sätt att kombinera bakgrund och förgrund med Booleska operationer. Metoden QPainter::setRasterOp() anger operationen som används, som kommer från uppräkningstypen <ulink url="kdeapi:qt/Qt#RasterOp-enum" ->RasterOp</ulink ->. </para> +<para>Normalt när du ritar på en ritenhet, så ersätter bildpunkterna de som tidigare fanns där. Det betyder om du fyller ett visst område med röd färg, och sedan fyller samma område med blå färg, så är bara den blåa färgen synlig. Qt:s bildmodell tillåter inte genomskinlighet, dvs. ett sätt att blanda förgrunden som ritas med bakgrunden. Det finns dock ett enkelt sätt att kombinera bakgrund och förgrund med Booleska operationer. Metoden QPainter::setRasterOp() anger operationen som används, som kommer från uppräkningstypen <ulink url="kdeapi:qt/Qt#RasterOp-enum">RasterOp</ulink>. </para> -<para ->Standardvärdet är CopyROP, som ignorerar bakgrunden. Ett annat populärt val är XorROP. Om du ritar en svart linje med den operationen på en färgad bild, så inverteras området som täcks. Den här effekten används till exempel för att skapa gummibandsmarkeringar i bildbehandlingsprogram, som är kända under namnet "vandrande myror". </para> +<para>Standardvärdet är CopyROP, som ignorerar bakgrunden. Ett annat populärt val är XorROP. Om du ritar en svart linje med den operationen på en färgad bild, så inverteras området som täcks. Den här effekten används till exempel för att skapa gummibandsmarkeringar i bildbehandlingsprogram, som är kända under namnet "vandrande myror". </para> </simplesect> <simplesect id="qpainter-primitives"> -<title ->Rita grafiska primitiver</title> +<title>Rita grafiska primitiver</title> -<para ->I det följande listar vi de grundläggande grafiska elementen som stöds av QPainter. De flesta av dem finns i flera överlastade versioner som har olika antal argument. Metoder som hanterar rektanglar, har till exempel oftast en <ulink url="kdeapi:qt/QRect" ->QRect</ulink -> som argument, eller en uppsättning med fyra heltal. </para> +<para>I det följande listar vi de grundläggande grafiska elementen som stöds av QPainter. De flesta av dem finns i flera överlastade versioner som har olika antal argument. Metoder som hanterar rektanglar, har till exempel oftast en <ulink url="kdeapi:qt/QRect">QRect</ulink> som argument, eller en uppsättning med fyra heltal. </para> <itemizedlist> <listitem> -<para ->Rita en ensam punkt: drawPoint().</para> +<para>Rita en ensam punkt: drawPoint().</para> </listitem> <listitem> -<para ->Rita linjer: drawLine(), drawLineSegments() och drawPolyLine().</para> +<para>Rita linjer: drawLine(), drawLineSegments() och drawPolyLine().</para> </listitem> <listitem> -<para ->Rita och fylla i rektanglar: drawRect(), drawRoundRect(), fillRect() och eraseRect().</para> +<para>Rita och fylla i rektanglar: drawRect(), drawRoundRect(), fillRect() och eraseRect().</para> </listitem> <listitem> -<para ->Rita och fylla i cirklar, ellipser och delar av dem: drawEllipse(), drawArc(), drawPie och drawChord().</para> +<para>Rita och fylla i cirklar, ellipser och delar av dem: drawEllipse(), drawArc(), drawPie och drawChord().</para> </listitem> <listitem> -<para ->Rita och fylla i generella polygoner: drawPolygon().</para> +<para>Rita och fylla i generella polygoner: drawPolygon().</para> </listitem> <listitem> -<para ->Rita Bezierkurvor: drawQuadBezier() [drawCubicBezier i Qt 3.0].</para> +<para>Rita Bezierkurvor: drawQuadBezier() [drawCubicBezier i Qt 3.0].</para> </listitem> </itemizedlist> @@ -1474,49 +732,25 @@ url="kdeapi:tdeui/KAnimWidget" <simplesect id="qpainter-pixmaps"> -<title ->Rita pixmappar och bilder</title> - -<para ->Qt tillhandahåller två mycket olika klasser för att representera bilder. </para> - -<para -><ulink url="kdeapi:qt/QPixmap" ->QPixmap</ulink -> motsvarar direkt pixmappsobjekt i X11. En pixmapp är ett objekt på serversidan och kan, med ett modernt grafikkort, till och med lagras direkt i kortets minne. Det gör det <emphasis ->mycket</emphasis -> effektivt att överföra en pixmapp till skärmen. En pixmapp fungerar också som en motsvarighet till grafiska komponenter utanför skärmen. QPixmap-klassen är en delklass till QPaintDevice, så det går att rita på den med en QPainter. Elementära ritoperationer accelereras ofta av modern grafik. Därför är ett vanligt användningsmönster att använda en pixmapp för dubbelbuffring. Detta betyder att istället för att rita direkt på en grafisk komponent, ritar man på ett tillfälligt pixmappsobjekt och använder funktionen <ulink url="kdeapi:qt/QPaintDevice#bitBlt-1" ->bitBlt</ulink -> för att överföra det till komponenten. För komplexa omritningar, hjälper detta till att undvika flimmer. </para> - -<para ->I motsats till detta, finns <ulink url="kdeapi:qt/QImage" ->QImage</ulink ->-objekt på klientsidan. Deras huvuduppgift är att ge direkt åtkomst till bildpunkterna i bilden. Det gör dem användbara för bildhantering, och saker som att ladda och spara till disk (Metoden load() för QPixmap använder QImage som ett mellansteg). Å andra sidan, så blir uppritning av en bild på en grafisk komponent en ganska krävande åtgärd, eftersom det innebär en överföring till X-servern, vilket kan ta en viss tid, särskilt för stora bilder och fjärrservrar. Beroende på färgdjupet, kan konvertering från QImage till QPixmap också kräva användning av gitter. </para> +<title>Rita pixmappar och bilder</title> + +<para>Qt tillhandahåller två mycket olika klasser för att representera bilder. </para> + +<para><ulink url="kdeapi:qt/QPixmap">QPixmap</ulink> motsvarar direkt pixmappsobjekt i X11. En pixmapp är ett objekt på serversidan och kan, med ett modernt grafikkort, till och med lagras direkt i kortets minne. Det gör det <emphasis>mycket</emphasis> effektivt att överföra en pixmapp till skärmen. En pixmapp fungerar också som en motsvarighet till grafiska komponenter utanför skärmen. QPixmap-klassen är en delklass till QPaintDevice, så det går att rita på den med en QPainter. Elementära ritoperationer accelereras ofta av modern grafik. Därför är ett vanligt användningsmönster att använda en pixmapp för dubbelbuffring. Detta betyder att istället för att rita direkt på en grafisk komponent, ritar man på ett tillfälligt pixmappsobjekt och använder funktionen <ulink url="kdeapi:qt/QPaintDevice#bitBlt-1">bitBlt</ulink> för att överföra det till komponenten. För komplexa omritningar, hjälper detta till att undvika flimmer. </para> + +<para>I motsats till detta, finns <ulink url="kdeapi:qt/QImage">QImage</ulink>-objekt på klientsidan. Deras huvuduppgift är att ge direkt åtkomst till bildpunkterna i bilden. Det gör dem användbara för bildhantering, och saker som att ladda och spara till disk (Metoden load() för QPixmap använder QImage som ett mellansteg). Å andra sidan, så blir uppritning av en bild på en grafisk komponent en ganska krävande åtgärd, eftersom det innebär en överföring till X-servern, vilket kan ta en viss tid, särskilt för stora bilder och fjärrservrar. Beroende på färgdjupet, kan konvertering från QImage till QPixmap också kräva användning av gitter. </para> </simplesect> <simplesect id="qpainter-drawingtext"> -<title ->Rita text</title> - -<para ->Text kan ritas med en av de överlastade varianterna av metoden QPainter::drawText(). De ritar en QString, antingen vid en given punkt eller inne i en given rektangel, med teckensnittet som ställts in med QPainter::setFont(). Det finns också en parameter som tar en ELLER-kombination av vissa flaggor från uppräkningstyperna <ulink url="kdeapi:qt/Qt#AlignmentFlags-enum" ->Qt::AlignmentFlags</ulink -> och <ulink url="kdeapi:qt/Qt#TextFlags-enum" ->Qt::TextFlags</ulink ->. </para> - -<para ->Med början i version 3.0, hanterar Qt fullständig textlayout också för språk som skrivs från höger till vänster. </para> - -<para ->Ett mer avancerat sätt att visa text med taggar, är klassen <ulink url="kdeapi:qt/QSimpleRichText" ->QSimpleRichText</ulink ->. Objekt från klassen kan skapas med ett textstycke som använder en delmängd av HTML-taggarna, som är ganska omfattande och till och med erbjuder tabeller. Textstilen kan anpassas genom att använda <ulink url="kdeapi/qt/QStyleSheet" ->QStyleSheet</ulink -> (taggarnas dokumentation finns också här). Så fort textobjektet har skapats, kan det ritas upp på en grafisk komponent eller en annan ritenhet med metoden QSimpleRichText::draw(). </para> +<title>Rita text</title> + +<para>Text kan ritas med en av de överlastade varianterna av metoden QPainter::drawText(). De ritar en QString, antingen vid en given punkt eller inne i en given rektangel, med teckensnittet som ställts in med QPainter::setFont(). Det finns också en parameter som tar en ELLER-kombination av vissa flaggor från uppräkningstyperna <ulink url="kdeapi:qt/Qt#AlignmentFlags-enum">Qt::AlignmentFlags</ulink> och <ulink url="kdeapi:qt/Qt#TextFlags-enum">Qt::TextFlags</ulink>. </para> + +<para>Med början i version 3.0, hanterar Qt fullständig textlayout också för språk som skrivs från höger till vänster. </para> + +<para>Ett mer avancerat sätt att visa text med taggar, är klassen <ulink url="kdeapi:qt/QSimpleRichText">QSimpleRichText</ulink>. Objekt från klassen kan skapas med ett textstycke som använder en delmängd av HTML-taggarna, som är ganska omfattande och till och med erbjuder tabeller. Textstilen kan anpassas genom att använda <ulink url="kdeapi/qt/QStyleSheet">QStyleSheet</ulink> (taggarnas dokumentation finns också här). Så fort textobjektet har skapats, kan det ritas upp på en grafisk komponent eller en annan ritenhet med metoden QSimpleRichText::draw(). </para> </simplesect> @@ -1524,126 +758,66 @@ url="kdeapi:tdeui/KAnimWidget" <sect1 id="graphics-qcanvas"> -<title ->Strukturerad grafik med QCanvas</title> +<title>Strukturerad grafik med QCanvas</title> -<para ->QPainter erbjuder en kraftfull ritmodell för att rita på grafikska komponenter och pixmappar. Dock kan den vara omständlig att använda. Varje gång komponenten tar emot en rithändelse, måste den analysera QPaintEvent::region() eller QPaintEvent::rect() för det som måste ritas om. Därefter måste den ställa in en QPainter, och rita alla objekt som överlappar det området. Tänk dig till exempel ett vektorritprogram som tillåter att objekt som polygoner, cirklar och grupper av dem att dras omkring. Varje gång objekten flyttas lite grand, aktiverar komponentens mushändelsehantering en rithändelse för hela området som täcks av objektens gamla plats och deras nya plats. Att räkna ut nödvändiga omritningar, och att göra dem på ett effektivt sätt, kan vara svårt, och kan också vara i konflikt med programkodens objektorienterade struktur. </para> +<para>QPainter erbjuder en kraftfull ritmodell för att rita på grafikska komponenter och pixmappar. Dock kan den vara omständlig att använda. Varje gång komponenten tar emot en rithändelse, måste den analysera QPaintEvent::region() eller QPaintEvent::rect() för det som måste ritas om. Därefter måste den ställa in en QPainter, och rita alla objekt som överlappar det området. Tänk dig till exempel ett vektorritprogram som tillåter att objekt som polygoner, cirklar och grupper av dem att dras omkring. Varje gång objekten flyttas lite grand, aktiverar komponentens mushändelsehantering en rithändelse för hela området som täcks av objektens gamla plats och deras nya plats. Att räkna ut nödvändiga omritningar, och att göra dem på ett effektivt sätt, kan vara svårt, och kan också vara i konflikt med programkodens objektorienterade struktur. </para> -<para ->Som alternativ innehåller Qt klassen <ulink url="kdeapi:qt/QCanvas" ->QCanvas</ulink ->, där man lägger till grafiska objekt, som polygoner, text eller pixmappar. Man kan också skapa ytterligare objekt genom att skapa en delklass av <ulink url="kdeapi:qt/QCanvasItem" ->QCanvasItem</ulink -> eller någon av dess mer specialiserade delklasser. En duk kan visas på skärmen genom en eller flera komponenter från klassen <ulink url="kdeapi:qt/QCanvas" ->QCanvasView</ulink ->, som man måste skapa en delklass av för att hantera interaktion med användaren. Qt tar hand om all omritning av objekt i vyn, vare sig de orsakas av att komponenten visas, nya objekt skapas eller ändras, eller andra orsaker. Genom att använda dubbelbuffring, kan detta göras på ett effektivt och flimmerfritt sätt. </para> +<para>Som alternativ innehåller Qt klassen <ulink url="kdeapi:qt/QCanvas">QCanvas</ulink>, där man lägger till grafiska objekt, som polygoner, text eller pixmappar. Man kan också skapa ytterligare objekt genom att skapa en delklass av <ulink url="kdeapi:qt/QCanvasItem">QCanvasItem</ulink> eller någon av dess mer specialiserade delklasser. En duk kan visas på skärmen genom en eller flera komponenter från klassen <ulink url="kdeapi:qt/QCanvas">QCanvasView</ulink>, som man måste skapa en delklass av för att hantera interaktion med användaren. Qt tar hand om all omritning av objekt i vyn, vare sig de orsakas av att komponenten visas, nya objekt skapas eller ändras, eller andra orsaker. Genom att använda dubbelbuffring, kan detta göras på ett effektivt och flimmerfritt sätt. </para> -<para ->Objekt på duken kan överlappa varandra. I detta fall, så beror vilken som syns på z-ordningen, som kan tilldelas med QCanvasItem::setZ(). Objekt kan också göras synliga eller osynliga. Man kan också tillhandahålla en bakgrund som ska ritas "bakom" alla objekt, och en förgrund. För att associera mushändelser med objekt på duken, finns metoden QCanvas::collisions(), som returnerar en lista med objekt som överlappar med en given punkt. Här visar vi en skärmbild av en dukvy i arbete: </para> +<para>Objekt på duken kan överlappa varandra. I detta fall, så beror vilken som syns på z-ordningen, som kan tilldelas med QCanvasItem::setZ(). Objekt kan också göras synliga eller osynliga. Man kan också tillhandahålla en bakgrund som ska ritas "bakom" alla objekt, och en förgrund. För att associera mushändelser med objekt på duken, finns metoden QCanvas::collisions(), som returnerar en lista med objekt som överlappar med en given punkt. Här visar vi en skärmbild av en dukvy i arbete: </para> <mediaobject> -<imageobject -><imagedata fileref="canvas.png"/></imageobject> +<imageobject><imagedata fileref="canvas.png"/></imageobject> </mediaobject> -<para ->Här ritas rutmönstret upp i bakgrunden. Dessutom finns ett QCanvasText-objekt och en violett QCanvasPolygon. Fjärilen är en QCanvasPixmap. Den har genomskinliga områden, så du kan se underliggande objekt genom den. </para> +<para>Här ritas rutmönstret upp i bakgrunden. Dessutom finns ett QCanvasText-objekt och en violett QCanvasPolygon. Fjärilen är en QCanvasPixmap. Den har genomskinliga områden, så du kan se underliggande objekt genom den. </para> -<para ->En handledning om hur QCanvas används för att skriva spel baserade på småfigurer finns <ulink url="http://zez.org/article/articleview/2/1/" ->här</ulink ->. </para> +<para>En handledning om hur QCanvas används för att skriva spel baserade på småfigurer finns <ulink url="http://zez.org/article/articleview/2/1/">här</ulink>. </para> </sect1> <sect1 id="graphics-qglwidget"> -<title ->3D-grafik med OpenGL</title> +<title>3D-grafik med OpenGL</title> <simplesect id="qglwidget-lowlevel"> -<title ->Lågnivågränssnitt</title> +<title>Lågnivågränssnitt</title> -<para ->De-facto standarden för att rita upp 3D-grafik nu för tiden är <ulink url="http://www.opengl.org" ->OpenGL</ulink ->. Implementeringar av standarden levereras med Microsoft Windows, Mac OS X och XFree86, och de stöder ofta funktioner för hårdvaruacceleration som erbjuds av moderna grafikkort. OpenGL själv hanterar bara uppritning på ett angivet område i rambuffern genom ett <emphasis ->GL-sammanhang</emphasis ->, och har ingen interaktion med verktygslådan eller miljön. </para> +<para>De-facto standarden för att rita upp 3D-grafik nu för tiden är <ulink url="http://www.opengl.org">OpenGL</ulink>. Implementeringar av standarden levereras med Microsoft Windows, Mac OS X och XFree86, och de stöder ofta funktioner för hårdvaruacceleration som erbjuds av moderna grafikkort. OpenGL själv hanterar bara uppritning på ett angivet område i rambuffern genom ett <emphasis>GL-sammanhang</emphasis>, och har ingen interaktion med verktygslådan eller miljön. </para> -<para ->Qt erbjuder den grafiska komponenten <ulink url="kdeapi:qt/QGLWidget" ->QGLWidget</ulink ->, som kapslar in ett fönster med tillhörande GL-sammanhang. I grunden används det genom att skapa en delklass av det och implementera om några metoder. </para> +<para>Qt erbjuder den grafiska komponenten <ulink url="kdeapi:qt/QGLWidget">QGLWidget</ulink>, som kapslar in ett fönster med tillhörande GL-sammanhang. I grunden används det genom att skapa en delklass av det och implementera om några metoder. </para> <itemizedlist> -<listitem -><para ->Istället för att implementera om paintEvent(), och använda QPainter för att rita komponentens innehåll, överskrider man paintGL() och använder GL-kommandon för att rita upp en scen. QGLWidget tar hand om att göra sitt GL-sammanhang det aktuella innan paintGL() anropas, och tömmer det efteråt. </para -></listitem> +<listitem><para>Istället för att implementera om paintEvent(), och använda QPainter för att rita komponentens innehåll, överskrider man paintGL() och använder GL-kommandon för att rita upp en scen. QGLWidget tar hand om att göra sitt GL-sammanhang det aktuella innan paintGL() anropas, och tömmer det efteråt. </para></listitem> -<listitem -><para ->Den virtuella metoden initializeGL() anropas en gång innan den första gången innan resizeGL() eller paintGL() anropas. Det kan användas för att skapa visningslistor för objekt, och göra alla initieringar. </para -></listitem> +<listitem><para>Den virtuella metoden initializeGL() anropas en gång innan den första gången innan resizeGL() eller paintGL() anropas. Det kan användas för att skapa visningslistor för objekt, och göra alla initieringar. </para></listitem> -<listitem -><para ->Istället för att implementera om resizeEvent(), överskrider man resizeGL(). Detta kan användas för att ställa in vyområdet på ett lämpligt sätt. </para -></listitem> +<listitem><para>Istället för att implementera om resizeEvent(), överskrider man resizeGL(). Detta kan användas för att ställa in vyområdet på ett lämpligt sätt. </para></listitem> -<listitem -><para ->Istället för att anropa update() när scenens tillstånd har ändrats, till exempel om du animerar det med ett tidur, ska man anropa updateGL(). Då aktiveras en omritning. </para -></listitem> +<listitem><para>Istället för att anropa update() när scenens tillstånd har ändrats, till exempel om du animerar det med ett tidur, ska man anropa updateGL(). Då aktiveras en omritning. </para></listitem> </itemizedlist> -<para ->I allmänhet beter sig QGLWidget som vilken annan grafisk komponent som helst, dvs. man kan till exempel hantera mushändelser som vanligt, ändra storlek på komponenten och kombinera den med andra i en layout. </para> +<para>I allmänhet beter sig QGLWidget som vilken annan grafisk komponent som helst, dvs. man kan till exempel hantera mushändelser som vanligt, ändra storlek på komponenten och kombinera den med andra i en layout. </para> <mediaobject> -<imageobject -><imagedata fileref="opengl.png"/></imageobject> +<imageobject><imagedata fileref="opengl.png"/></imageobject> </mediaobject> -<para ->Qt innehåller några exempel på användning av QGLWidget i <literal ->demo</literal ->-exemplen. En samling handledningar finns <ulink url="http://www.libsdl.org/opengl/intro.html" ->här</ulink ->, och mer information samt en OpenGL-referens finns på <ulink url="http://www.opengl.org" ->OpenGL:s hemsida</ulink ->. </para> +<para>Qt innehåller några exempel på användning av QGLWidget i <literal>demo</literal>-exemplen. En samling handledningar finns <ulink url="http://www.libsdl.org/opengl/intro.html">här</ulink>, och mer information samt en OpenGL-referens finns på <ulink url="http://www.opengl.org">OpenGL:s hemsida</ulink>. </para> </simplesect> <simplesect id="qglwidget-highlevel"> -<title ->Högnivågränssnitt</title> - -<para ->OpenGL är ett gränssnitt på ganska låg nivå för att rita 3D-grafik. På samma sätt som QCanvas ger programmeraren ett gränssnitt på högre nivå som hanterar objekt och deras egenskaper, finns det också gränssnitt på högre nivå för 3D-grafik. Ett av de mest populära är Open Inventor. Ursprungligen var det en teknologi som utvecklades av SGI, men idag finns också en implementering med öppen källkod, <ulink url="http://www.coin3d.org" ->Coin</ulink ->, som åtföljs av en verktygsanpassning till Qt, som heter SoQt. </para> - -<para ->Det grundläggande konceptet i Open Inventor är en <emphasis ->scen</emphasis ->. En scen kan laddas från disk, och sparas med ett särskilt format, nära besläktat med <ulink url="http://www.vrml.org" ->VRML</ulink ->. En scen består av en samling objekt som kallas <emphasis ->noder</emphasis ->. Inventor tillhandahåller redan en omfattande samling med återanvändbara noder, som kuber, cylindrar och rutnät. Dessutom finns ljuskällor, material, kameror, etc. Noder representeras av C++ klasser, och kan kombineras och delklasser kan skapas. </para> - -<para ->En introduktion till Inventor finns <ulink url="http://www.motifzone.com/tmd/articles/OpenInventor/OpenInventor.html" ->här</ulink -> (i allmänhet kan du ersätta alla SoXt som omnämns i artikeln med SoQt). </para> +<title>Högnivågränssnitt</title> + +<para>OpenGL är ett gränssnitt på ganska låg nivå för att rita 3D-grafik. På samma sätt som QCanvas ger programmeraren ett gränssnitt på högre nivå som hanterar objekt och deras egenskaper, finns det också gränssnitt på högre nivå för 3D-grafik. Ett av de mest populära är Open Inventor. Ursprungligen var det en teknologi som utvecklades av SGI, men idag finns också en implementering med öppen källkod, <ulink url="http://www.coin3d.org">Coin</ulink>, som åtföljs av en verktygsanpassning till Qt, som heter SoQt. </para> + +<para>Det grundläggande konceptet i Open Inventor är en <emphasis>scen</emphasis>. En scen kan laddas från disk, och sparas med ett särskilt format, nära besläktat med <ulink url="http://www.vrml.org">VRML</ulink>. En scen består av en samling objekt som kallas <emphasis>noder</emphasis>. Inventor tillhandahåller redan en omfattande samling med återanvändbara noder, som kuber, cylindrar och rutnät. Dessutom finns ljuskällor, material, kameror, etc. Noder representeras av C++ klasser, och kan kombineras och delklasser kan skapas. </para> + +<para>En introduktion till Inventor finns <ulink url="http://www.motifzone.com/tmd/articles/OpenInventor/OpenInventor.html">här</ulink> (i allmänhet kan du ersätta alla SoXt som omnämns i artikeln med SoQt). </para> </simplesect> @@ -1654,94 +828,43 @@ url="kdeapi:tdeui/KAnimWidget" <chapter id="userinterface"> -<title ->Användargränssnitt</title> +<title>Användargränssnitt</title> <sect1 id="userinterface-actionpattern"> -<title ->Åtgärdsmönstret</title> +<title>Åtgärdsmönstret</title> -<para -></para> +<para></para> </sect1> <sect1 id="userinterface-xmlgui"> -<title ->Definiera menyer och verktygsrader i XML</title> +<title>Definiera menyer och verktygsrader i XML</title> <simplesect id="xmlgui-intro"> -<title ->Inledning</title> - -<para ->Medan <link linkend="userinterface-actionpattern" ->åtgärdsmönster</link -> tillåter att åtgärder som aktiveras av användaren kapslas in i ett objekt, som kan "anslutas" någonstans i menyraderna eller verktygsraderna, löser det inte ensamt problemet med att skapa själva menyerna. I synnerhet måste du bygga alla sammanhangsberoende menyer i C++ kod, och uttryckligen infoga åtgärderna i en viss ordning, med hänsyn taget till stilguiden för standardåtgärder. Det gör det rätt svårt att låta användaren anpassa menyerna eller ändra snabbtangenter så att de passar hans behov, utan att ändra källkoden. </para> - -<para ->Det här problemet löses med en samling klasser som kallas <literal ->grafiskt XML-gränssnitt</literal ->. I grunden skiljer de åtgärderna (kodade i C++) från deras utseende i menyrader och verktygsrader (kodade i XML). Utan att ändra någon källkod, kan menyer enkelt anpassas genom att justera en XML-fil. Dessutom hjälper det till att försäkra att standardåtgärder (som <menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Öppna</guimenuitem -></menuchoice -> eller <menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Om</guimenuitem -></menuchoice ->) visas på platserna som föreslås av stilguiden. Grafiska XML-gränssnitt är särskilt viktiga för modulära program, där alternativen i menyraderna kan komma från många olika insticksprogram eller delar. </para> - -<para ->KDE:s klass för toppnivåfönster, <ulink url="kdeapi:tdeui/TDEMainWindow.html" ->TDEMainWindow</ulink ->, ärver <ulink url="kdeapi:tdeui/KXMLGUIClient.html" ->KXMLGUIClient</ulink ->, och stöder därför grafiska XML-gränssnitt från början. Alla åtgärder som skapas inne i det måste ha klientens <literal ->actionCollection()</literal -> som förälder. Ett anrop till <literal -> createGUI()</literal -> bygger sedan hela uppsättningen menyer och verktygsrader som definieras av programmets XML-fil (vanligtvis med ändelsen <literal ->ui.rc</literal ->). </para> +<title>Inledning</title> + +<para>Medan <link linkend="userinterface-actionpattern">åtgärdsmönster</link> tillåter att åtgärder som aktiveras av användaren kapslas in i ett objekt, som kan "anslutas" någonstans i menyraderna eller verktygsraderna, löser det inte ensamt problemet med att skapa själva menyerna. I synnerhet måste du bygga alla sammanhangsberoende menyer i C++ kod, och uttryckligen infoga åtgärderna i en viss ordning, med hänsyn taget till stilguiden för standardåtgärder. Det gör det rätt svårt att låta användaren anpassa menyerna eller ändra snabbtangenter så att de passar hans behov, utan att ändra källkoden. </para> + +<para>Det här problemet löses med en samling klasser som kallas <literal>grafiskt XML-gränssnitt</literal>. I grunden skiljer de åtgärderna (kodade i C++) från deras utseende i menyrader och verktygsrader (kodade i XML). Utan att ändra någon källkod, kan menyer enkelt anpassas genom att justera en XML-fil. Dessutom hjälper det till att försäkra att standardåtgärder (som <menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Öppna</guimenuitem></menuchoice> eller <menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Om</guimenuitem></menuchoice>) visas på platserna som föreslås av stilguiden. Grafiska XML-gränssnitt är särskilt viktiga för modulära program, där alternativen i menyraderna kan komma från många olika insticksprogram eller delar. </para> + +<para>KDE:s klass för toppnivåfönster, <ulink url="kdeapi:tdeui/TDEMainWindow.html">TDEMainWindow</ulink>, ärver <ulink url="kdeapi:tdeui/KXMLGUIClient.html">KXMLGUIClient</ulink>, och stöder därför grafiska XML-gränssnitt från början. Alla åtgärder som skapas inne i det måste ha klientens <literal>actionCollection()</literal> som förälder. Ett anrop till <literal> createGUI()</literal> bygger sedan hela uppsättningen menyer och verktygsrader som definieras av programmets XML-fil (vanligtvis med ändelsen <literal>ui.rc</literal>). </para> </simplesect> <simplesect id="xmlgui-kviewexample"> -<title ->Ett exempel: Menyn i Kview</title> - -<para ->I det följande använder vi KDE:s bildvisare <application ->Kview</application -> som exempel. Den har en <literal ->ui.rc</literal ->-fil som heter <filename ->kviewui.rc</filename ->, som installeras med ett fragment från <filename ->Makefile.am</filename -> </para> - -<programlisting ->rcdir = $(kde_datadir)/kview +<title>Ett exempel: Menyn i Kview</title> + +<para>I det följande använder vi KDE:s bildvisare <application>Kview</application> som exempel. Den har en <literal>ui.rc</literal>-fil som heter <filename>kviewui.rc</filename>, som installeras med ett fragment från <filename>Makefile.am</filename> </para> + +<programlisting>rcdir = $(kde_datadir)/kview rc_DATA = kviewui.rc </programlisting> -<para ->Här är ett utdrag ur filen <filename ->kviewui.rc</filename ->. För enkelhetens skull, visar vi bara definitionen för menyn <guimenu ->View</guimenu ->. </para> +<para>Här är ett utdrag ur filen <filename>kviewui.rc</filename>. För enkelhetens skull, visar vi bara definitionen för menyn <guimenu>View</guimenu>. </para> -<programlisting -><!DOCTYPE kpartgui> +<programlisting><!DOCTYPE kpartgui> <kpartgui name="kview"> <MenuBar> <Menu name="view" > @@ -1756,11 +879,9 @@ rc_DATA = kviewui.rc </kpartgui> </programlisting> -<para ->Motsvarande del av att skapa detta i C++ är: </para> +<para>Motsvarande del av att skapa detta i C++ är: </para> -<programlisting ->KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); +<programlisting>KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); KStdAction::zoomOut ( this, SLOT(slotZoomOut()), actionCollection() ); KStdAction::zoom ( this, SLOT(slotZoom()), actionCollection() ); new TDEAction ( i18n("&Half size"), ALT+Key_0, @@ -1780,90 +901,37 @@ rc_DATA = kviewui.rc actionCollection(), "fullscreen" ); </programlisting> -<para ->Menyn <guimenu ->View</guimenu -> som skapas av den här definitionen av det grafiska gränssnittet ser ut som visas av den här skärmbilden: </para> +<para>Menyn <guimenu>View</guimenu> som skapas av den här definitionen av det grafiska gränssnittet ser ut som visas av den här skärmbilden: </para> <mediaobject> -<imageobject -><imagedata fileref="kview-menu.png"/></imageobject> +<imageobject><imagedata fileref="kview-menu.png"/></imageobject> </mediaobject> -<para ->XML-filen börjar med en dokumenttypdeklaration. DTD:n för kpartgui finns i tdelibs-källkoden i <filename ->tdeui/kpartgui.dtd</filename ->. Det yttersta elementet i filen innehåller programmets instansnamn som en egenskap. Det kan också innehålla ett versionsnummer på formen "version=2". Det är användbart när du ger ut nya versioner av ett program med ändrad menystruktur, t.ex. med flera funktioner. Om du räknar upp versionsnumret i filen <literal ->ui.rc</literal ->, ser KDE till att alla anpassade versioner av filen slängs och att den nya filen används istället. </para> - -<para ->Nästa rad, <literal -><MenuBar></literal ->, innehåller en deklaration av en menyrad. Du kan också infoga hur många <literal -><ToolBar></literal ->-deklarationer som helst, för att skapa några verktygsrader. Menyn innehåller en undermeny, med namnet "view". Det namnet är redan fördefinierat, och därför skulle den översatta versionen av ordet "View" kunna visas. Om du deklarerar undermenyer, måste du uttryckligen lägga till rubriken. <application ->Kview</application -> har till exempel en undermeny med rubriken "Image", som deklareras enligt följande: </para> - -<programlisting -><Menu name="image" > +<para>XML-filen börjar med en dokumenttypdeklaration. DTD:n för kpartgui finns i tdelibs-källkoden i <filename>tdeui/kpartgui.dtd</filename>. Det yttersta elementet i filen innehåller programmets instansnamn som en egenskap. Det kan också innehålla ett versionsnummer på formen "version=2". Det är användbart när du ger ut nya versioner av ett program med ändrad menystruktur, t.ex. med flera funktioner. Om du räknar upp versionsnumret i filen <literal>ui.rc</literal>, ser KDE till att alla anpassade versioner av filen slängs och att den nya filen används istället. </para> + +<para>Nästa rad, <literal><MenuBar></literal>, innehåller en deklaration av en menyrad. Du kan också infoga hur många <literal><ToolBar></literal>-deklarationer som helst, för att skapa några verktygsrader. Menyn innehåller en undermeny, med namnet "view". Det namnet är redan fördefinierat, och därför skulle den översatta versionen av ordet "View" kunna visas. Om du deklarerar undermenyer, måste du uttryckligen lägga till rubriken. <application>Kview</application> har till exempel en undermeny med rubriken "Image", som deklareras enligt följande: </para> + +<programlisting><Menu name="image" > <text>&amp;Image</text> ... </Menu> </programlisting> -<para ->I KDE:s automatiska byggramverk, plockas sådana rubriker automatiskt ut och placeras i programmets <ulink url="tde-i18n-howto.html" -><literal ->.po</literal -></ulink ->-fil, så att det hanteras av översättare. Observera att du måste skriva markeringen av snabbtangenten "&" på en form som följer XML-syntaxen "&amp;". </para> - -<para ->Låt oss återvända till exemplet. <application ->Kview</application ->s meny <guimenu ->Visa</guimenu -> innehåller ett antal egna åtgärder <literal ->zoom50</literal ->, <literal ->zoom100</literal ->, <literal ->zoom200</literal ->, <literal ->zoomMaxpect</literal -> och <literal ->fullscreen</literal ->, deklarerade med elementet <literal -><Action></literal ->. Skiljelinjen i skärmbilderna motsvarar elementet <literal -><Separator></literal ->. </para> - -<para ->Du märker att vissa menyalternativ inte har ett motsvarande element i XML-filen. De är <emphasis ->standardåtgärder</emphasis ->. Standardåtgärder skapas av klassen <ulink url="kdeapi:tdeui/KStdAction.html" ->KStdAction</ulink ->. När du skapar sådana åtgärder i ditt program (som i C++ exemplet ovan), infogas de automatiskt på en föreskriven plats, och möjligen med en ikon och en snabbtangent. Du kan slå upp de här platserna i filen <filename ->tdeui/ui_standards.rc</filename -> i tdelibs-källkoden. </para> +<para>I KDE:s automatiska byggramverk, plockas sådana rubriker automatiskt ut och placeras i programmets <ulink url="tde-i18n-howto.html"><literal>.po</literal></ulink>-fil, så att det hanteras av översättare. Observera att du måste skriva markeringen av snabbtangenten "&" på en form som följer XML-syntaxen "&amp;". </para> + +<para>Låt oss återvända till exemplet. <application>Kview</application>s meny <guimenu>Visa</guimenu> innehåller ett antal egna åtgärder <literal>zoom50</literal>, <literal>zoom100</literal>, <literal>zoom200</literal>, <literal>zoomMaxpect</literal> och <literal>fullscreen</literal>, deklarerade med elementet <literal><Action></literal>. Skiljelinjen i skärmbilderna motsvarar elementet <literal><Separator></literal>. </para> + +<para>Du märker att vissa menyalternativ inte har ett motsvarande element i XML-filen. De är <emphasis>standardåtgärder</emphasis>. Standardåtgärder skapas av klassen <ulink url="kdeapi:tdeui/KStdAction.html">KStdAction</ulink>. När du skapar sådana åtgärder i ditt program (som i C++ exemplet ovan), infogas de automatiskt på en föreskriven plats, och möjligen med en ikon och en snabbtangent. Du kan slå upp de här platserna i filen <filename>tdeui/ui_standards.rc</filename> i tdelibs-källkoden. </para> </simplesect> <simplesect id="xmlgui-konqexample"> -<title ->Ett exempel: Verktygsrader i Konqueror</title> +<title>Ett exempel: Verktygsrader i Konqueror</title> -<para ->För beskrivningen av verktygsrader, byter vi till <application ->Konquerors</application -> definition av grafiskt gränssnitt. Det här utdraget definierar platsraden, som innehåller inmatningsfältet för webbadresser. </para> +<para>För beskrivningen av verktygsrader, byter vi till <application>Konquerors</application> definition av grafiskt gränssnitt. Det här utdraget definierar platsraden, som innehåller inmatningsfältet för webbadresser. </para> -<programlisting -><ToolBar name="locationToolBar" fullWidth="true" newline="true" > +<programlisting><ToolBar name="locationToolBar" fullWidth="true" newline="true" > <text>Location Toolbar</text> <Action name="clear_location" /> <Action name="location_label" /> @@ -1872,64 +940,23 @@ rc_DATA = kviewui.rc </ToolBar> </programlisting> -<para ->Det första vi märker är att det finns många fler egenskaper än för menyrader. De omfattar: </para> +<para>Det första vi märker är att det finns många fler egenskaper än för menyrader. De omfattar: </para> <itemizedlist> -<listitem -><para -><literal ->fullWidth</literal ->: Talar om för det grafiska XML-gränssnittet att verktygsraden har samma bredd som toppnivåfönstret. Om detta är "false", upptar verktygsraden bara så mycket plats som nödvändigt, och ytterligare verktygsrader placeras på samma rad. </para -></listitem> - -<listitem -><para -><literal ->newline</literal ->: Det här hör ihop med ovanstående alternativ. Om newline är "true", så placeras verktygsraden på en ny rad. Annars kan den placeras i en rad tillsammans med den föregående verktygsraden. </para -></listitem> - -<listitem -><para -><literal ->noEdit</literal ->: Normalt kan verktygsrader anpassas av användaren, t.ex. med <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa verktygsrader</guimenuitem -></menuchoice -> i <application ->Konqueror</application ->. Sätts alternativet till "true", markeras verktygsraden så att den inte går att redigera. Det är viktigt för verktygsrader som fylls med objekt när programmet kör, t.ex. <application ->Konqueror</application ->s bokmärkesverktygsrad. </para -></listitem> - -<listitem -><para -><literal ->iconText</literal ->: Talar om för det grafiska XML-gränssnittet att visa åtgärdens text intill ikonen. Normalt visas texten bara som ett verktygstips när musmarkören hålls över ikonen en stund. Möjliga värden för egenskapen är "icononly" (visar bara ikonen), "textonly" (visar bara texten), "icontextright" (visar texten till höger om ikonen) och "icontextbottom" (visar texten under ikonen). </para -></listitem> - - -<listitem -><para -><literal ->hidden</literal ->: Om det här är "true", så visas inte verktygsraden från början, och måste aktiveras av något menyalternativ. </para -></listitem> - - -<listitem -><para -><literal ->position</literal ->: Standardvärdet för den här egenskapen är "top", vilket betyder att verktygsraden placeras under menyraden. För program med många verktyg, som grafikprogram, kan det vara intressant att ersätta det här med "left" (vänster), "right" (höger) eller "bottom" (under). </para -></listitem> +<listitem><para><literal>fullWidth</literal>: Talar om för det grafiska XML-gränssnittet att verktygsraden har samma bredd som toppnivåfönstret. Om detta är "false", upptar verktygsraden bara så mycket plats som nödvändigt, och ytterligare verktygsrader placeras på samma rad. </para></listitem> + +<listitem><para><literal>newline</literal>: Det här hör ihop med ovanstående alternativ. Om newline är "true", så placeras verktygsraden på en ny rad. Annars kan den placeras i en rad tillsammans med den föregående verktygsraden. </para></listitem> + +<listitem><para><literal>noEdit</literal>: Normalt kan verktygsrader anpassas av användaren, t.ex. med <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa verktygsrader</guimenuitem></menuchoice> i <application>Konqueror</application>. Sätts alternativet till "true", markeras verktygsraden så att den inte går att redigera. Det är viktigt för verktygsrader som fylls med objekt när programmet kör, t.ex. <application>Konqueror</application>s bokmärkesverktygsrad. </para></listitem> + +<listitem><para><literal>iconText</literal>: Talar om för det grafiska XML-gränssnittet att visa åtgärdens text intill ikonen. Normalt visas texten bara som ett verktygstips när musmarkören hålls över ikonen en stund. Möjliga värden för egenskapen är "icononly" (visar bara ikonen), "textonly" (visar bara texten), "icontextright" (visar texten till höger om ikonen) och "icontextbottom" (visar texten under ikonen). </para></listitem> + + +<listitem><para><literal>hidden</literal>: Om det här är "true", så visas inte verktygsraden från början, och måste aktiveras av något menyalternativ. </para></listitem> + + +<listitem><para><literal>position</literal>: Standardvärdet för den här egenskapen är "top", vilket betyder att verktygsraden placeras under menyraden. För program med många verktyg, som grafikprogram, kan det vara intressant att ersätta det här med "left" (vänster), "right" (höger) eller "bottom" (under). </para></listitem> </itemizedlist> @@ -1937,24 +964,11 @@ rc_DATA = kviewui.rc <simplesect id="xmlgui-dynamical"> -<title ->Dynamiska menyer</title> - -<para ->XML kan naturligtvis bara innehålla en statisk beskrivning av ett användargränssnitt. Ofta finns det menyer som ändras under körning. <application ->Konqueror</application ->s meny <guimenu ->Plats</guimenu -> innehåller till exempel en uppsättning alternativ <guimenuitem ->Öppna med ...</guimenuitem ->, med program som kan ladda en fil med en given Mime-typ. Varje gång dokumentet som visas ändras, uppdateras listan med menyalternativ. Det grafiska XML-gränssnittet är förberett för att hantera sådana fall med begreppet <emphasis ->åtgärdslistor</emphasis ->. En åtgärdslista deklareras som ett objekt i XML-filen, men består av flera åtgärder som ansluts till menyn när programmet kör. Ovanstående exempel implementeras med följande deklaration i <application ->Konqueror</application ->s XML-fil: </para> - -<programlisting -><Menu name="file"> +<title>Dynamiska menyer</title> + +<para>XML kan naturligtvis bara innehålla en statisk beskrivning av ett användargränssnitt. Ofta finns det menyer som ändras under körning. <application>Konqueror</application>s meny <guimenu>Plats</guimenu> innehåller till exempel en uppsättning alternativ <guimenuitem>Öppna med ...</guimenuitem>, med program som kan ladda en fil med en given Mime-typ. Varje gång dokumentet som visas ändras, uppdateras listan med menyalternativ. Det grafiska XML-gränssnittet är förberett för att hantera sådana fall med begreppet <emphasis>åtgärdslistor</emphasis>. En åtgärdslista deklareras som ett objekt i XML-filen, men består av flera åtgärder som ansluts till menyn när programmet kör. Ovanstående exempel implementeras med följande deklaration i <application>Konqueror</application>s XML-fil: </para> + +<programlisting><Menu name="file"> <text>&amp;Location</text> ... <ActionList name="openwith"> @@ -1962,15 +976,9 @@ rc_DATA = kviewui.rc </Menu> </programlisting> -<para ->Funktionen <function ->KXMLGUIClient::plugActionList()</function -> används sedan för att lägga till åtgärder som ska visas, medan funktionen <function ->KXMLGuiClient::unplugActionList()</function -> tar bort alla anslutna åtgärder. Rutinen som är ansvarig för att göra uppdateringarna ser ut på följande sätt: </para> +<para>Funktionen <function>KXMLGUIClient::plugActionList()</function> används sedan för att lägga till åtgärder som ska visas, medan funktionen <function>KXMLGuiClient::unplugActionList()</function> tar bort alla anslutna åtgärder. Rutinen som är ansvarig för att göra uppdateringarna ser ut på följande sätt: </para> -<programlisting ->void MainWindow::updateOpenWithActions() +<programlisting>void MainWindow::updateOpenWithActions() { unplugActionList("openwith"); openWithActions.clear(); @@ -1982,27 +990,17 @@ rc_DATA = kviewui.rc } </programlisting> -<para ->Observera att i motsats till statiska åtgärder, så skapas <emphasis ->inte</emphasis -> de här med åtgärdssamlingen som förälder, och du ansvarar själv att de tas bort. Det enklaste sättet att åstadkomma det är genom att använda <literal ->openWithActions.setAutoDelete(true)</literal -> i exemplet ovan. </para> +<para>Observera att i motsats till statiska åtgärder, så skapas <emphasis>inte</emphasis> de här med åtgärdssamlingen som förälder, och du ansvarar själv att de tas bort. Det enklaste sättet att åstadkomma det är genom att använda <literal>openWithActions.setAutoDelete(true)</literal> i exemplet ovan. </para> </simplesect> <simplesect id="xmlgui-contextmenus"> -<title ->Sammanhangsberoende menyer</title> +<title>Sammanhangsberoende menyer</title> -<para ->Exemplen ovan innehåller bara klasser där ett huvudfönsters menyrad och verktygsrader skapas. I de fallen är processen som skapar behållarna helt dold för dig inne i anropet av funktionen <function ->createGUI()</function -> (utom om du har egna behållare). Det finns dock fall då du vill skapa andra behållare och befolka dem med grafiska gränssnittsdefinitioner från XML-filen. Ett sådant exempel är sammanhangsberoende menyer. För att få en pekare till en sammanhangsberoende meny, måste du fråga klientens tillverkare efter den: </para> +<para>Exemplen ovan innehåller bara klasser där ett huvudfönsters menyrad och verktygsrader skapas. I de fallen är processen som skapar behållarna helt dold för dig inne i anropet av funktionen <function>createGUI()</function> (utom om du har egna behållare). Det finns dock fall då du vill skapa andra behållare och befolka dem med grafiska gränssnittsdefinitioner från XML-filen. Ett sådant exempel är sammanhangsberoende menyer. För att få en pekare till en sammanhangsberoende meny, måste du fråga klientens tillverkare efter den: </para> -<programlisting ->void MainWindow::popupRequested() +<programlisting>void MainWindow::popupRequested() { QWidget *w = factory()->container("context_popup", this); QPopupMenu *popup = static_cast<QPopupMenu *>(w); @@ -2010,13 +1008,9 @@ rc_DATA = kviewui.rc } </programlisting> -<para ->Metoden <function ->KXMLGUIFactory::container()</function -> som används ovan, ser efter om den hittar en behållare i XML-filen med det angivna namnet. Alltså kan en möjlig definition se ut på följande sätt: </para> +<para>Metoden <function>KXMLGUIFactory::container()</function> som används ovan, ser efter om den hittar en behållare i XML-filen med det angivna namnet. Alltså kan en möjlig definition se ut på följande sätt: </para> -<programlisting ->... +<programlisting>... <Menu name="context_popup"> <Action name="file_add"/> <Action name="file_remove"/> @@ -2030,123 +1024,68 @@ rc_DATA = kviewui.rc <sect1 id="help"> -<title ->Tillhandahålla inbyggd hjälp</title> +<title>Tillhandahålla inbyggd hjälp</title> -<para ->Att göra ett program lätt och intuitivt att använda omfattar en stor mängd funktioner, som ofta kallas inbyggd hjälp. Inbyggd hjälp har flera, delvis motstridiga, mål: å ena sidan ska den ge användaren svar på frågan "Hur kan jag utföra en viss uppgift?", å andra sidan ska den hjälpa användaren utforska programmet och hitta funktioner som han inte ännu känner till. Det är viktigt att inse att det här bara kan åstadkommas genom att erbjuda flera hjälpnivåer: </para> +<para>Att göra ett program lätt och intuitivt att använda omfattar en stor mängd funktioner, som ofta kallas inbyggd hjälp. Inbyggd hjälp har flera, delvis motstridiga, mål: å ena sidan ska den ge användaren svar på frågan "Hur kan jag utföra en viss uppgift?", å andra sidan ska den hjälpa användaren utforska programmet och hitta funktioner som han inte ännu känner till. Det är viktigt att inse att det här bara kan åstadkommas genom att erbjuda flera hjälpnivåer: </para> <itemizedlist> -<listitem -><para ->Verktygstips är små etiketter som dyker upp över gränssnittselement när musen blir kvar där en längre stund. De är särskilt viktiga för verktygsrader, där ikonerna inte alltid räcker till för att förklara syftet med en knapp. </para -></listitem> - -<listitem -><para ->"Vad är det här?" hjälp är ofta en längre och mer utförlig förklaring av en komponent eller menyalternativ. Den är också knepigare att använda. I dialogrutor kan den visas på två olika sätt: antingen genom att trycka på <keycombo -><keycap ->Skift</keycap -> <keycap ->F1</keycap -></keycombo ->, eller genom att klicka på frågetecknet i namnlisten (stöd för det här beror på fönsterhanteraren). Muspekaren ändras då till en pil med ett frågetecken, och ett hjälpfönster visas när ett element i användargränssnittet klickas. "Vad är det här?" hjälp för menyer aktiveras oftast med en knapp i verktygsraden som innehåller en pil och ett frågetecken. </para -></listitem> - -<listitem -><para ->Problemet med den här ansatsen är att användaren inte kan se om en grafisk komponent tillhandahåller hjälp eller inte. När användaren aktiverar knappen med frågetecken och inte får något hjälpfönster vid klick på ett element i användargränssnittet, blir han mycket snart frustrerad. </para> - -<para ->Fördelen med "Vad är det här?" hjälpfönster som de erbjuds av Qt och KDE, är att de kan innehålla <ulink url="kdeapi:qt/QStyleSheet" -> formaterad text</ulink ->, dvs. de kan innehålla olika teckensnitt, text med fetstil och kursiv stil, och till och med bilder och tabeller. </para> - -<para ->Ett exempel på "Vad är det här?" hjälp: </para> +<listitem><para>Verktygstips är små etiketter som dyker upp över gränssnittselement när musen blir kvar där en längre stund. De är särskilt viktiga för verktygsrader, där ikonerna inte alltid räcker till för att förklara syftet med en knapp. </para></listitem> + +<listitem><para>"Vad är det här?" hjälp är ofta en längre och mer utförlig förklaring av en komponent eller menyalternativ. Den är också knepigare att använda. I dialogrutor kan den visas på två olika sätt: antingen genom att trycka på <keycombo><keycap>Skift</keycap> <keycap>F1</keycap></keycombo>, eller genom att klicka på frågetecknet i namnlisten (stöd för det här beror på fönsterhanteraren). Muspekaren ändras då till en pil med ett frågetecken, och ett hjälpfönster visas när ett element i användargränssnittet klickas. "Vad är det här?" hjälp för menyer aktiveras oftast med en knapp i verktygsraden som innehåller en pil och ett frågetecken. </para></listitem> + +<listitem><para>Problemet med den här ansatsen är att användaren inte kan se om en grafisk komponent tillhandahåller hjälp eller inte. När användaren aktiverar knappen med frågetecken och inte får något hjälpfönster vid klick på ett element i användargränssnittet, blir han mycket snart frustrerad. </para> + +<para>Fördelen med "Vad är det här?" hjälpfönster som de erbjuds av Qt och KDE, är att de kan innehålla <ulink url="kdeapi:qt/QStyleSheet"> formaterad text</ulink>, dvs. de kan innehålla olika teckensnitt, text med fetstil och kursiv stil, och till och med bilder och tabeller. </para> + +<para>Ett exempel på "Vad är det här?" hjälp: </para> <mediaobject> -<imageobject -><imagedata fileref="whatsthis.png"/></imageobject> +<imageobject><imagedata fileref="whatsthis.png"/></imageobject> </mediaobject> </listitem> -<listitem -><para ->Till sist, ska alla program ha en handbok. En handbok visas normalt i <application ->Hjälpcentralen</application -> genom att använda menyn <guimenu ->Hjälp</guimenu ->. Det betyder att ett helt nytt program dyker upp och avleder användaren från arbetet. Följaktligen ska det bara vara nödvändigt att rådfråga handboken om andra funktioner, som verktygstips och vad är det här hjälp, inte räcker till. Naturligvis har en handbok fördelen att den inte förklarar enskilda isolerade aspekter av användargränssnittet. Den kan istället förklara vissa av programmets aspekter i ett större sammanhang. Handböcker för KDE skrivs med användning av <ulink url="http://i18n.kde.org" ->DocBook</ulink ->-taggspråket. </para -></listitem> +<listitem><para>Till sist, ska alla program ha en handbok. En handbok visas normalt i <application>Hjälpcentralen</application> genom att använda menyn <guimenu>Hjälp</guimenu>. Det betyder att ett helt nytt program dyker upp och avleder användaren från arbetet. Följaktligen ska det bara vara nödvändigt att rådfråga handboken om andra funktioner, som verktygstips och vad är det här hjälp, inte räcker till. Naturligvis har en handbok fördelen att den inte förklarar enskilda isolerade aspekter av användargränssnittet. Den kan istället förklara vissa av programmets aspekter i ett större sammanhang. Handböcker för KDE skrivs med användning av <ulink url="http://i18n.kde.org">DocBook</ulink>-taggspråket. </para></listitem> </itemizedlist> -<para ->Från programmerarens synvinkel, erbjuder Qt ett enkelt gränssnitt för inbyggd hjälp. För att tilldela ett verktygstips till en grafisk komponent, använd klassen <ulink url="kdeapi:qt/QToolTip" ->QToolTip</ulink ->. </para> +<para>Från programmerarens synvinkel, erbjuder Qt ett enkelt gränssnitt för inbyggd hjälp. För att tilldela ett verktygstips till en grafisk komponent, använd klassen <ulink url="kdeapi:qt/QToolTip">QToolTip</ulink>. </para> -<programlisting ->QToolTip::add(w, i18n("This widget does something.")) +<programlisting>QToolTip::add(w, i18n("This widget does something.")) </programlisting> -<para ->Om menyraderna och verktygsraderna skapas som <ulink url="actionpattern.html" ->åtgärdsmönster</ulink ->, hämtas strängen som används som verktygstips från det första argumentet i konstruktorn <ulink url="kdeapi:tdeui/TDEAction.html" ->TDEAction</ulink ->. </para> +<para>Om menyraderna och verktygsraderna skapas som <ulink url="actionpattern.html">åtgärdsmönster</ulink>, hämtas strängen som används som verktygstips från det första argumentet i konstruktorn <ulink url="kdeapi:tdeui/TDEAction.html">TDEAction</ulink>. </para> -<programlisting ->action = new TDEAction(i18n("&Delete"), "editdelete", +<programlisting>action = new TDEAction(i18n("&Delete"), "editdelete", SHIFT+Key_Delete, actionCollection(), "del") </programlisting> -<para ->Här är det också möjligt att tilldela en text som visas i statusraden när motsvarande menyalternativ markeras: </para> +<para>Här är det också möjligt att tilldela en text som visas i statusraden när motsvarande menyalternativ markeras: </para> -<programlisting ->action->setStatusText(i18n("Deletes the marked file")) +<programlisting>action->setStatusText(i18n("Deletes the marked file")) </programlisting> -<para ->Programmeringsgränssnittet för "Vad är det här?" är mycket likt. Använd följande kod i dialogrutor: </para> +<para>Programmeringsgränssnittet för "Vad är det här?" är mycket likt. Använd följande kod i dialogrutor: </para> -<programlisting ->QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" +<programlisting>QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" " rich text engine.<ul>" "<li>Foo</li>" "<li>Bar</li>" "</ul></qt>")) </programlisting> -<para ->För menyalternativ, använd </para> +<para>För menyalternativ, använd </para> -<programlisting ->action->setWhatsThis(i18n("Deletes the marked file")) +<programlisting>action->setWhatsThis(i18n("Deletes the marked file")) </programlisting> -<para ->Start av <application ->Hjälpcentralen</application -> är inkapslat i klassen <ulink url="kdeapi:tdecore/TDEApplication" ->TDEApplication</ulink ->. För att visa handboken för programmet, använd bara </para> +<para>Start av <application>Hjälpcentralen</application> är inkapslat i klassen <ulink url="kdeapi:tdecore/TDEApplication">TDEApplication</ulink>. För att visa handboken för programmet, använd bara </para> -<programlisting ->kapp->invokeHelp() +<programlisting>kapp->invokeHelp() </programlisting> -<para ->Det här visar första sidan med innehållsförteckningen. När du bara vill visa ett visst avsnitt av handboken, kan du ge ytterligare ett argument till <function ->invokeHelp()</function ->, som avgör ankaret som bläddraren hoppar till. </para> +<para>Det här visar första sidan med innehållsförteckningen. När du bara vill visa ett visst avsnitt av handboken, kan du ge ytterligare ett argument till <function>invokeHelp()</function>, som avgör ankaret som bläddraren hoppar till. </para> </sect1> @@ -2155,100 +1094,45 @@ rc_DATA = kviewui.rc <chapter id="components"> -<title ->Komponenter och tjänster</title> +<title>Komponenter och tjänster</title> <sect1 id="components-services"> -<title ->KDE-tjänster</title> +<title>KDE-tjänster</title> <simplesect id="services-whatarekdeservices"> -<title ->Vad är KDE-tjänster?</title> +<title>Vad är KDE-tjänster?</title> -<para ->Begreppet <emphasis ->tjänst</emphasis -> är ett central idé i KDE:s modulära arkitektur. Det finns ingen strikt teknisk implementering kopplat till benämningen: tjänster kan vara insticksprogram i form av delade bibliotek, eller program som styrs via <ulink url="dcop.html" ->DCOP</ulink ->. Genom att göra anspråk på att vara av en viss <emphasis ->tjänsttyp</emphasis ->, lovar en tjänst att implementera vissa programmeringsgränssnitt eller funktioner. Med C++ språkbruk, kan man föreställa sig en tjänsttyp som en abstrakt klass, och en tjänst som en implementering av gränssnittet. </para> +<para>Begreppet <emphasis>tjänst</emphasis> är ett central idé i KDE:s modulära arkitektur. Det finns ingen strikt teknisk implementering kopplat till benämningen: tjänster kan vara insticksprogram i form av delade bibliotek, eller program som styrs via <ulink url="dcop.html">DCOP</ulink>. Genom att göra anspråk på att vara av en viss <emphasis>tjänsttyp</emphasis>, lovar en tjänst att implementera vissa programmeringsgränssnitt eller funktioner. Med C++ språkbruk, kan man föreställa sig en tjänsttyp som en abstrakt klass, och en tjänst som en implementering av gränssnittet. </para> -<para ->Fördelen med den här uppdelningen är uppenbar: Ett program som utnyttjar en tjänsttyp behöver inte känna till möjliga implementeringar av den. Det använder bara programmeringsgränssnittet som hör ihop med tjänsttypen. På detta sätt kan tjänsten som används ändras utan att påverka programmet. Dessutom kan användaren anpassa vilka tjänster som han föredrar för vissa funktioner. </para> +<para>Fördelen med den här uppdelningen är uppenbar: Ett program som utnyttjar en tjänsttyp behöver inte känna till möjliga implementeringar av den. Det använder bara programmeringsgränssnittet som hör ihop med tjänsttypen. På detta sätt kan tjänsten som används ändras utan att påverka programmet. Dessutom kan användaren anpassa vilka tjänster som han föredrar för vissa funktioner. </para> -<para ->Några exempel: </para> +<para>Några exempel: </para> <itemizedlist> -<listitem -><para ->HTML-uppritningskomponenten som används i <application ->Konqueror</application -> är en inbäddad komponent som implementerar tjänsttypen <literal ->KParts/ReadOnlyPart</literal -> och <literal ->Browser/View</literal ->. </para -></listitem> -<listitem -><para ->I senaste versionen av <application ->KDevelop</application ->, är största delen av funktionerna paketerade i insticksprogram med tjänsttypen <literal ->KDevelop/Part</literal ->. Vid start, laddas alla tjänster av den här typen, så att du kan utöka den integrerade utvecklingsmiljön på ett mycket smidigt sätt. </para -></listitem> -<listitem -><para -><application ->Konqueror</application -> kan visa miniatyrbilder av bilder, HTML-sidor, PDF- och textfiler, om det aktiveras. Den här förmågan kan utökas. Om du vill visa förhandsgranskningsbilder av egna datafiler med en viss Mime-typ, kan du implementera en tjänst med tjänsttypen <classname ->ThumbCreator</classname ->. </para -></listitem> +<listitem><para>HTML-uppritningskomponenten som används i <application>Konqueror</application> är en inbäddad komponent som implementerar tjänsttypen <literal>KParts/ReadOnlyPart</literal> och <literal>Browser/View</literal>. </para></listitem> +<listitem><para>I senaste versionen av <application>KDevelop</application>, är största delen av funktionerna paketerade i insticksprogram med tjänsttypen <literal>KDevelop/Part</literal>. Vid start, laddas alla tjänster av den här typen, så att du kan utöka den integrerade utvecklingsmiljön på ett mycket smidigt sätt. </para></listitem> +<listitem><para><application>Konqueror</application> kan visa miniatyrbilder av bilder, HTML-sidor, PDF- och textfiler, om det aktiveras. Den här förmågan kan utökas. Om du vill visa förhandsgranskningsbilder av egna datafiler med en viss Mime-typ, kan du implementera en tjänst med tjänsttypen <classname>ThumbCreator</classname>. </para></listitem> </itemizedlist> -<para ->Naturligtvis karaktäriseras en tjänst inte bara av tjänsttypen som den implementerar, utan också av några <emphasis ->egenskaper</emphasis ->. Till exempel så gör inte en ThumbCreator bara anspråk på att implementera C++ klassen med typen <classname ->ThumbCreator</classname ->, den har också en lista med Mime-typer som den är ansvarig för. På samma sätt har KDevelop-delar programspråket de stöder som en egenskap. När ett program begär en tjänsttyp, kan den också ange begränsningar för tjänstens egenskaper. I exemplet ovan, när KDevelop laddar insticksprogram för ett Java-projekt, frågar det bara efter insticksprogram som har egenskapen Java som programspråk. KDE innehåller en fullständig CORBA-liknande <emphasis ->handlare</emphasis ->, med ett komplext frågespråk, för detta syfte. </para> +<para>Naturligtvis karaktäriseras en tjänst inte bara av tjänsttypen som den implementerar, utan också av några <emphasis>egenskaper</emphasis>. Till exempel så gör inte en ThumbCreator bara anspråk på att implementera C++ klassen med typen <classname>ThumbCreator</classname>, den har också en lista med Mime-typer som den är ansvarig för. På samma sätt har KDevelop-delar programspråket de stöder som en egenskap. När ett program begär en tjänsttyp, kan den också ange begränsningar för tjänstens egenskaper. I exemplet ovan, när KDevelop laddar insticksprogram för ett Java-projekt, frågar det bara efter insticksprogram som har egenskapen Java som programspråk. KDE innehåller en fullständig CORBA-liknande <emphasis>handlare</emphasis>, med ett komplext frågespråk, för detta syfte. </para> </simplesect> <simplesect id="services-definingservicetypes"> -<title ->Definiera tjänsttyper</title> - -<para ->Nya tjänsttyper läggs till genom att installera en beskrivning av dem i katalogen <filename ->TDEDIR/share/servicetypes</filename ->. I det automatiska byggramverket, kan det göras med detta fragment från <filename ->Makefile.am</filename ->: </para> - -<programlisting ->kde_servicetypesdir_DATA = tdeveloppart.desktop +<title>Definiera tjänsttyper</title> + +<para>Nya tjänsttyper läggs till genom att installera en beskrivning av dem i katalogen <filename>TDEDIR/share/servicetypes</filename>. I det automatiska byggramverket, kan det göras med detta fragment från <filename>Makefile.am</filename>: </para> + +<programlisting>kde_servicetypesdir_DATA = tdeveloppart.desktop EXTRA_DIST = $(kde_servicetypesdir_DATA) </programlisting> -<para ->Definitionen <filename ->tdeveloppart.desktop</filename -> för en del till <application ->KDevelop</application -> ser ut som följer: </para> +<para>Definitionen <filename>tdeveloppart.desktop</filename> för en del till <application>KDevelop</application> ser ut som följer: </para> -<programlisting ->[Desktop Entry] +<programlisting>[Desktop Entry] Type=ServiceType X-TDE-ServiceType=KDevelop/Part Name=KDevelop Part @@ -2263,43 +1147,23 @@ Type=QStringList Type=QString </programlisting> -<para ->Förutom de vanliga posterna, förevisar det här exemplet hur man anger att en tjänst har vissa egenskaper. Varje definition av en egenskap motsvarar en grupp <literal ->[PropertyDef::name]</literal -> i konfigurationsfilen. I gruppen, anger posten <literal ->Type</literal -> egenskapens typ. Möjliga typer är allt som kan lagras i en <ulink url="kdeapi:qt/QVariant" ->QVariant</ulink ->. </para> +<para>Förutom de vanliga posterna, förevisar det här exemplet hur man anger att en tjänst har vissa egenskaper. Varje definition av en egenskap motsvarar en grupp <literal>[PropertyDef::name]</literal> i konfigurationsfilen. I gruppen, anger posten <literal>Type</literal> egenskapens typ. Möjliga typer är allt som kan lagras i en <ulink url="kdeapi:qt/QVariant">QVariant</ulink>. </para> </simplesect> <simplesect id="services-defininglibraryservices"> -<title ->Definiera delade bibliotekstjänster</title> +<title>Definiera delade bibliotekstjänster</title> -<para ->Tjänstdefinitioner lagras i katalogen <filename ->TDEDIR/share/services</filename ->: </para> +<para>Tjänstdefinitioner lagras i katalogen <filename>TDEDIR/share/services</filename>: </para> -<programlisting ->kde_servicesdir_DATA = kdevdoxygen.desktop +<programlisting>kde_servicesdir_DATA = kdevdoxygen.desktop EXTRA_DIST = $(kde_servicesdir_DATA) </programlisting> -<para ->Innehållet i följande exempelfil, <filename ->kdevdoxygen.desktop</filename ->, anger insticksprogrammet <literal ->KDevDoxygen</literal -> med tjänsttypen <literal ->KDevelop/Part</literal ->: </para> - -<programlisting ->[Desktop Entry] +<para>Innehållet i följande exempelfil, <filename>kdevdoxygen.desktop</filename>, anger insticksprogrammet <literal>KDevDoxygen</literal> med tjänsttypen <literal>KDevelop/Part</literal>: </para> + +<programlisting>[Desktop Entry] Type=Service Comment=Doxygen Name=KDevDoxygen @@ -2309,17 +1173,9 @@ X-KDevelop-ProgrammingLanguages=C,C++,Java X-KDevelop-Scope=Project </programlisting> -<para ->Förutom de vanliga deklarationerna, är en viktig post <literal ->X-TDE-Library</literal ->. Den innehåller namnet på libtool-biblioteket (utan filändelsen <literal ->.la</literal ->). Det fastlägger också namnet på den exporterade symbolen i biblioteket som returnerar objekttillverkaren (med det inledande prefixet <literal ->init_</literal ->). I ovanstående exempel, måste biblioteket innehålla följande funktion: </para> - -<programlisting ->extern "C" { +<para>Förutom de vanliga deklarationerna, är en viktig post <literal>X-TDE-Library</literal>. Den innehåller namnet på libtool-biblioteket (utan filändelsen <literal>.la</literal>). Det fastlägger också namnet på den exporterade symbolen i biblioteket som returnerar objekttillverkaren (med det inledande prefixet <literal>init_</literal>). I ovanstående exempel, måste biblioteket innehålla följande funktion: </para> + +<programlisting>extern "C" { void *init_libkdevdoxygen() { return new DoxygenFactory; @@ -2327,42 +1183,19 @@ X-KDevelop-Scope=Project }; </programlisting> -<para ->Typen för tillverkningsklassen <classname ->DoxygenFactory</classname -> beror på den specifika tjänsttyp som tjänsten implementerar. I vårt exempel med ett KDevelop-insticksprogram, måste tillverkaren vara en <classname ->KDevFactory</classname -> (som ärver <classname ->KLibFactory</classname ->). Vanligare exempel är <ulink url="kdeapi:tdeparts/KParts::Factory" ->KParts::Factory</ulink -> som antas skapa objekten <ulink url="kdeapi:tdeparts/KParts::ReadOnlyPart" ->KParts::ReadOnlyPart</ulink -> eller i de flesta fall det generella <ulink url="kdeapi:tdecore/KLibFactory" ->KLibFactory</ulink ->. </para> +<para>Typen för tillverkningsklassen <classname>DoxygenFactory</classname> beror på den specifika tjänsttyp som tjänsten implementerar. I vårt exempel med ett KDevelop-insticksprogram, måste tillverkaren vara en <classname>KDevFactory</classname> (som ärver <classname>KLibFactory</classname>). Vanligare exempel är <ulink url="kdeapi:tdeparts/KParts::Factory">KParts::Factory</ulink> som antas skapa objekten <ulink url="kdeapi:tdeparts/KParts::ReadOnlyPart">KParts::ReadOnlyPart</ulink> eller i de flesta fall det generella <ulink url="kdeapi:tdecore/KLibFactory">KLibFactory</ulink>. </para> </simplesect> <simplesect id="services-usinglibraryservices"> -<title ->Använda delade bibliotekstjänster</title> - -<para ->För att kunna använda en delad bibliotekstjänst i ett program, måste du skaffa ett <ulink url="kdeapi:tdeio/KService.html" ->KService</ulink ->-objekt som representerar den. Det här beskrivs i <ulink url="mime.html" ->avsnittet om Mime-typer</ulink -> (och i ett avsnitt om handlaren som återstår att skriva :-) </para> - -<para ->Med objektet <classname ->KService</classname -> tillgängligt, kan du mycket lätt ladda biblioteket och få en pekare till dess tillverkningsobjekt. </para> - -<programlisting ->KService *service = ... +<title>Använda delade bibliotekstjänster</title> + +<para>För att kunna använda en delad bibliotekstjänst i ett program, måste du skaffa ett <ulink url="kdeapi:tdeio/KService.html">KService</ulink>-objekt som representerar den. Det här beskrivs i <ulink url="mime.html">avsnittet om Mime-typer</ulink> (och i ett avsnitt om handlaren som återstår att skriva :-) </para> + +<para>Med objektet <classname>KService</classname> tillgängligt, kan du mycket lätt ladda biblioteket och få en pekare till dess tillverkningsobjekt. </para> + +<programlisting>KService *service = ... QString libName = QFile::encodeName(service->library()); KLibFactory *factory = KLibLoader::self()->factory(libName); if (!factory) { @@ -2374,13 +1207,9 @@ if (!factory) { } </programlisting> -<para ->Från det ögonblicket, beror fortsättningen återigen på tjänsttypen. För generella insticksprogram, skapar man objekt med metoden <ulink url="kdeapi:tdecore/KLibFactory.html#ref3" ->KLibFactory::create()</ulink ->. Med KParts, måste tillverkningspekaren konverteras till det mer specifika KParts::Factory, och dess metod create() måste användas: </para> +<para>Från det ögonblicket, beror fortsättningen återigen på tjänsttypen. För generella insticksprogram, skapar man objekt med metoden <ulink url="kdeapi:tdecore/KLibFactory.html#ref3">KLibFactory::create()</ulink>. Med KParts, måste tillverkningspekaren konverteras till det mer specifika KParts::Factory, och dess metod create() måste användas: </para> -<programlisting ->if (factory->inherits("KParts::Factory")) { +<programlisting>if (factory->inherits("KParts::Factory")) { KParts::Factory *partFactory = static_cast<KParts::Factory*>(factory); QObject *obj = partFactory->createPart(parentWidget, widgetName, parent, name, "KParts::ReadOnlyPart"); @@ -2394,49 +1223,21 @@ if (!factory) { <simplesect id="services-definingdcopservices"> -<title ->Definiera DCOP-tjänster</title> - -<para ->En DCOP-tjänst implementeras oftast som ett program som startas när det behövs. Det går därefter in i en snurra och lyssnar efter DCOP-anslutningar. Programmet kan vara interaktivt, men det kan också köra som en demon i bakgrunden under hela eller delar av sin livstid, utan att användaren märker det. Ett exempel på en sådan demon är <literal ->tdeio_uiserver</literal ->, som implementerar växelverkan med användaren som förloppsdialogrutor för TDEIO-biblioteket. Fördelen med en sådan central demon är att t.ex. nerladdningsförloppet för flera olika filer kan visas i ett fönster, även om nerladdningarna startades från olika program. </para> - -<para ->En DCOP-tjänst definieras på annat sätt än en tjänst i ett delat bibliotek. Naturligtvis anger den inte ett bibliotek, utan istället ett körbart program. Dessutom anger inte en DCOP-tjänst raden med tjänsttyp, eftersom den startas med namn. Den innehåller ytterligare två rader som ytterligare egenskaper: </para> - -<para -><literal ->X-DCOP-ServiceType</literal -> anger hur tjänsten startas. Värdet <literal ->Unique</literal -> (unik) anger att tjänsten inte får startas mer än en gång. Det betyder att om du försöker starta tjänsten (t.ex. via <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName" -> TDEApplication::startServiceByName()</ulink ->, kontrollerar KDE om den redan har registrerats i DCOP, och använder tjänsten som kör. Om den inte redan är registrerad, startar KDE den och väntar till den har registrerats. Därför kan du omedelbart skicka DCOP-anrop till tjänsten. I detta fall, ska tjänsten implementeras som <ulink url="kdeapi:tdecore/KUniqueApplication.html" ->KUniqueApplication</ulink ->. </para> - -<para ->Värdet <literal ->Multi</literal -> för <literal ->X-DCOP-ServiceType</literal -> anger att flera instanser av tjänsten kan existera samtidigt, så varje försök att starta tjänsten skapar en ny process. Som en sista möjlighet kan värdet <literal ->None</literal -> (ingen) användas. I detta fall, väntar inte start av tjänsten på att den har registrerats i DCOP. </para> - -<para -><literal ->X-TDE-StartupNotify</literal -> ska normalt anges som "false". Annars visar aktivitetsfältet en startbekräftelse, eller, beroende på användarinställningarna, så ändras markören. </para> - -<para ->Här är definitionen av <literal ->tdeio_uiserver</literal ->: </para> - -<programlisting ->[Desktop Entry] +<title>Definiera DCOP-tjänster</title> + +<para>En DCOP-tjänst implementeras oftast som ett program som startas när det behövs. Det går därefter in i en snurra och lyssnar efter DCOP-anslutningar. Programmet kan vara interaktivt, men det kan också köra som en demon i bakgrunden under hela eller delar av sin livstid, utan att användaren märker det. Ett exempel på en sådan demon är <literal>tdeio_uiserver</literal>, som implementerar växelverkan med användaren som förloppsdialogrutor för TDEIO-biblioteket. Fördelen med en sådan central demon är att t.ex. nerladdningsförloppet för flera olika filer kan visas i ett fönster, även om nerladdningarna startades från olika program. </para> + +<para>En DCOP-tjänst definieras på annat sätt än en tjänst i ett delat bibliotek. Naturligtvis anger den inte ett bibliotek, utan istället ett körbart program. Dessutom anger inte en DCOP-tjänst raden med tjänsttyp, eftersom den startas med namn. Den innehåller ytterligare två rader som ytterligare egenskaper: </para> + +<para><literal>X-DCOP-ServiceType</literal> anger hur tjänsten startas. Värdet <literal>Unique</literal> (unik) anger att tjänsten inte får startas mer än en gång. Det betyder att om du försöker starta tjänsten (t.ex. via <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"> TDEApplication::startServiceByName()</ulink>, kontrollerar KDE om den redan har registrerats i DCOP, och använder tjänsten som kör. Om den inte redan är registrerad, startar KDE den och väntar till den har registrerats. Därför kan du omedelbart skicka DCOP-anrop till tjänsten. I detta fall, ska tjänsten implementeras som <ulink url="kdeapi:tdecore/KUniqueApplication.html">KUniqueApplication</ulink>. </para> + +<para>Värdet <literal>Multi</literal> för <literal>X-DCOP-ServiceType</literal> anger att flera instanser av tjänsten kan existera samtidigt, så varje försök att starta tjänsten skapar en ny process. Som en sista möjlighet kan värdet <literal>None</literal> (ingen) användas. I detta fall, väntar inte start av tjänsten på att den har registrerats i DCOP. </para> + +<para><literal>X-TDE-StartupNotify</literal> ska normalt anges som "false". Annars visar aktivitetsfältet en startbekräftelse, eller, beroende på användarinställningarna, så ändras markören. </para> + +<para>Här är definitionen av <literal>tdeio_uiserver</literal>: </para> + +<programlisting>[Desktop Entry] Type=Service Name=tdeio_uiserver Exec=tdeio_uiserver @@ -2448,14 +1249,11 @@ X-TDE-StartupNotify=false <simplesect id="services-usingdcopservices"> -<title ->Använda DCOP-tjänster</title> +<title>Använda DCOP-tjänster</title> -<para ->En DCOP-tjänst startas med en av flera metoder i klassen TDEApplication: </para> +<para>En DCOP-tjänst startas med en av flera metoder i klassen TDEApplication: </para> -<programlisting ->DCOPClient *client = kapp->dcopClient(); +<programlisting>DCOPClient *client = kapp->dcopClient(); client->attach(); if (!client->isApplicationRegistered("tdeio_uiserver")) { QString error; @@ -2473,24 +1271,11 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", ... </programlisting> -<para ->Observera att exemplet med ett DCOP-anrop som ges här använder uttrycklig sammansättning av argument. Ofta vill man istället använda en prototyp som skapas av dcopidl2cpp, eftersom det är mycket enklare, och mindre felbenäget. </para> - -<para ->I exemplet som ges här, startas tjänsten "med namn", dvs. första argumentet till <function ->TDEApplication::startServiceByName() </function -> är namnet, som det anges på raden <literal ->Name</literal -> i desktop-filen. Ett alternativ är att använda <function ->TDEApplication::startServiceByDesktopName()</function ->, som använder namnet på desktop-filen som argument, dvs. i det här fallet <literal ->"tdeio_uiserver.desktop"</literal ->. </para> - -<para ->Alla dessa anrop har en lista med webbadresser som andra argument, vilket ges till tjänsten på kommandoraden. Det tredje argumentet är en pekare till en <classname ->QString</classname ->. Om starten av tjänsten misslyckas, tilldelas det här argumentet det översatta felmeddelandet. </para> +<para>Observera att exemplet med ett DCOP-anrop som ges här använder uttrycklig sammansättning av argument. Ofta vill man istället använda en prototyp som skapas av dcopidl2cpp, eftersom det är mycket enklare, och mindre felbenäget. </para> + +<para>I exemplet som ges här, startas tjänsten "med namn", dvs. första argumentet till <function>TDEApplication::startServiceByName() </function> är namnet, som det anges på raden <literal>Name</literal> i desktop-filen. Ett alternativ är att använda <function>TDEApplication::startServiceByDesktopName()</function>, som använder namnet på desktop-filen som argument, dvs. i det här fallet <literal>"tdeio_uiserver.desktop"</literal>. </para> + +<para>Alla dessa anrop har en lista med webbadresser som andra argument, vilket ges till tjänsten på kommandoraden. Det tredje argumentet är en pekare till en <classname>QString</classname>. Om starten av tjänsten misslyckas, tilldelas det här argumentet det översatta felmeddelandet. </para> </simplesect> @@ -2498,89 +1283,45 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", <sect1 id="components-mime"> -<title ->Mime-typer</title> +<title>Mime-typer</title> <simplesect id="mime-whataremimetypes"> -<title ->Vad är Mime-typer?</title> +<title>Vad är Mime-typer?</title> -<para ->Mime-typer används för att beskriva typ av innehåll för filer eller datafragment. Ursprungligen infördes de för att tillåta att bilder eller ljudfiler, etc. kunde skickas med e-post (Mime betyder "Multipurpose Internet Mail Extensions"). Senare användes systemet också av webbläsare för att avgöra hur data som skickades av en webbserver skulle visas för användaren. En HTML-sida har till exempel Mime-typen "text/html", och en Postskript-fil "application/postscript". I KDE används den här idén på många skilda platser: </para> +<para>Mime-typer används för att beskriva typ av innehåll för filer eller datafragment. Ursprungligen infördes de för att tillåta att bilder eller ljudfiler, etc. kunde skickas med e-post (Mime betyder "Multipurpose Internet Mail Extensions"). Senare användes systemet också av webbläsare för att avgöra hur data som skickades av en webbserver skulle visas för användaren. En HTML-sida har till exempel Mime-typen "text/html", och en Postskript-fil "application/postscript". I KDE används den här idén på många skilda platser: </para> <itemizedlist> -<listitem -><para ->I <application ->Konqueror</application ->s ikonvy, representeras filer av ikoner. Varje Mime-typ har en viss ikon som den hör ihop med, som visas här. </para -></listitem> - -<listitem -><para ->När man klickar på en filikon eller ett filnamn i <application ->Konqueror</application ->, så visas antingen filen i en inbäddad vy, eller så startas ett program som hör ihop med filtypen. </para -></listitem> - -<listitem -><para ->När du drar och släpper någon data från ett program till ett annat (eller inom samma program), kan målet välja att bara acceptera vissa datatyper. Dessutom hanteras bilddata på annat sätt än textdata. </para -></listitem> - -<listitem -><para ->Data på klippbordet har en Mime-typ. Traditionellt hanterade X-program bara pixmappar eller text, men med Qt finns det ingen begränsning av datatypen. </para -></listitem> +<listitem><para>I <application>Konqueror</application>s ikonvy, representeras filer av ikoner. Varje Mime-typ har en viss ikon som den hör ihop med, som visas här. </para></listitem> + +<listitem><para>När man klickar på en filikon eller ett filnamn i <application>Konqueror</application>, så visas antingen filen i en inbäddad vy, eller så startas ett program som hör ihop med filtypen. </para></listitem> + +<listitem><para>När du drar och släpper någon data från ett program till ett annat (eller inom samma program), kan målet välja att bara acceptera vissa datatyper. Dessutom hanteras bilddata på annat sätt än textdata. </para></listitem> + +<listitem><para>Data på klippbordet har en Mime-typ. Traditionellt hanterade X-program bara pixmappar eller text, men med Qt finns det ingen begränsning av datatypen. </para></listitem> </itemizedlist> -<para ->Det är klart från ovanstående exempel, att Mime-hantering är en komplex sak. Först måste en tilldelning av filnamn till Mime-typer göras. KDE går ytterligare ett steg, och låter till och med filinnehåll tilldelas till Mime-typer, i de fall då filnamnet inte är tillgängligt. Därefter måste Mime-typer tilldelas till program eller bibliotek som kan visa eller redigera en fil av en viss typ, eller skapa en miniatyrbild av den. </para> +<para>Det är klart från ovanstående exempel, att Mime-hantering är en komplex sak. Först måste en tilldelning av filnamn till Mime-typer göras. KDE går ytterligare ett steg, och låter till och med filinnehåll tilldelas till Mime-typer, i de fall då filnamnet inte är tillgängligt. Därefter måste Mime-typer tilldelas till program eller bibliotek som kan visa eller redigera en fil av en viss typ, eller skapa en miniatyrbild av den. </para> -<para ->Det finns en mängd olika programmeringsgränssnitt för att räkna ut Mime-typen för data eller filer. I allmänhet måste man göra en avvägning mellan hastighet och tillförlitlighet. Man kan hitta en filtyp genom att bara titta på filnamnet (i de flesta fallen filändelsen). Filen <filename ->foo.jpg</filename -> är till exempel normalt "image/jpeg". I de fall där filändelsen har tagits bort är det här inte säkert, och man måste verkligen titta i filens innehåll. Det är förstås långsammare, särskilt för filer som först måste laddas ner via HTTP. Den innehållsbaserade metoden använder filen <filename ->TDEDIR/share/mimelnk/magic</filename ->, och är därför svår att utöka. Men i allmänhet kan information om Mime-typer lätt göras tillgängligt för systemet, genom att installera en <literal ->.desktop</literal ->-fil, och den blir effektivt och bekvämt tillgänglig via KDE-biblioteken. </para> +<para>Det finns en mängd olika programmeringsgränssnitt för att räkna ut Mime-typen för data eller filer. I allmänhet måste man göra en avvägning mellan hastighet och tillförlitlighet. Man kan hitta en filtyp genom att bara titta på filnamnet (i de flesta fallen filändelsen). Filen <filename>foo.jpg</filename> är till exempel normalt "image/jpeg". I de fall där filändelsen har tagits bort är det här inte säkert, och man måste verkligen titta i filens innehåll. Det är förstås långsammare, särskilt för filer som först måste laddas ner via HTTP. Den innehållsbaserade metoden använder filen <filename>TDEDIR/share/mimelnk/magic</filename>, och är därför svår att utöka. Men i allmänhet kan information om Mime-typer lätt göras tillgängligt för systemet, genom att installera en <literal>.desktop</literal>-fil, och den blir effektivt och bekvämt tillgänglig via KDE-biblioteken. </para> </simplesect> <simplesect id="mime-definingmimetypes"> -<title ->Definiera Mime-typer</title> - -<para ->Låt oss definiera typen <literal ->"application/x-foo"</literal ->, för vårt nya program <application ->foobar</application ->. För att göra det, måste filen <filename ->foo.desktop</filename -> skrivas, och installeras i <filename ->TDEDIR/share/mimelnk/application</filename ->. (Det är den vanliga platsen, som kan variera mellan distributioner). Det här kan göras genom att lägga till följande till <filename ->Makefile.am</filename ->: </para> - -<programlisting ->mimedir = $(kde_mimedir)/application +<title>Definiera Mime-typer</title> + +<para>Låt oss definiera typen <literal>"application/x-foo"</literal>, för vårt nya program <application>foobar</application>. För att göra det, måste filen <filename>foo.desktop</filename> skrivas, och installeras i <filename>TDEDIR/share/mimelnk/application</filename>. (Det är den vanliga platsen, som kan variera mellan distributioner). Det här kan göras genom att lägga till följande till <filename>Makefile.am</filename>: </para> + +<programlisting>mimedir = $(kde_mimedir)/application mime_DATA = foo.desktop EXTRA_DIST = $(mime_DATA) </programlisting> -<para ->Filen <filename ->foo.desktop</filename -> ska se ut som följer: </para> +<para>Filen <filename>foo.desktop</filename> ska se ut som följer: </para> -<programlisting ->[Desktop Entry] +<programlisting>[Desktop Entry] Type=MimeType MimeType=application/x-foo Icon=fooicon @@ -2590,24 +1331,11 @@ Comment=Foo Data File Comment[sv]=Foo-datafil </programlisting> -<para ->Posten <literal ->"Comment"</literal -> är avsedd att översättas. Eftersom <filename ->.desktop</filename ->-filen anger en ikon, bör du också installera en ikon <filename ->fooicon.png</filename ->, som representerar filen, t.ex. i <application ->Konqueror</application ->. </para> - -<para ->I KDE-biblioteken motsvarar en sådan typdefinition en instans av klassen <ulink url="kdeapi:tdeio/KMimeType.html" ->KMimeType</ulink ->. Använd det som i följande exempel: </para> - -<programlisting ->KMimeType::Ptr type = KMimeType::mimeType("application/x-foo"); +<para>Posten <literal>"Comment"</literal> är avsedd att översättas. Eftersom <filename>.desktop</filename>-filen anger en ikon, bör du också installera en ikon <filename>fooicon.png</filename>, som representerar filen, t.ex. i <application>Konqueror</application>. </para> + +<para>I KDE-biblioteken motsvarar en sådan typdefinition en instans av klassen <ulink url="kdeapi:tdeio/KMimeType.html">KMimeType</ulink>. Använd det som i följande exempel: </para> + +<programlisting>KMimeType::Ptr type = KMimeType::mimeType("application/x-foo"); cout << "Typ: " << type->name() < endl; cout << "Ikon: " << type->icon() < endl; cout << "Kommentar: " << type->icon() < endl; @@ -2621,55 +1349,31 @@ for (it = patterns.begin(); it != patterns.end(); ++it) <simplesect id="mime-determiningmimetypes"> -<title ->Avgöra Mime-typ för data</title> - -<para ->Det snabba sättet att avgöra filtypen är <function ->KMimeType::findByURL()</function ->. Det tittar efter webbadressen och avgör i de flesta fall typen från filändelsen. Med vissa protokoll (t.ex. http, man, info), används inte den mekanismen. CGI-skript på webbservrar som skrivs i Perl, har till exempel ofta ändelsen <literal ->.pl</literal ->, som skulle ange typen <literal ->"text/x-perl"</literal ->. Dock är filen som levereras av servern utmatning från skriptet, som normalt är HTML. I sådana fall, returnerar <function ->KMimeType::findByURL()</function -> Mime-typen <literal ->"application/octet-stream"</literal -> (tillgänglig via <function ->KMimeType::defaultMimeType()</function ->), som anger att den misslyckades med att ta reda på typen. </para> - -<programlisting ->KMimeType::Ptr type = KMimeType::findByURL("/home/bernd/foobar.jpg"); +<title>Avgöra Mime-typ för data</title> + +<para>Det snabba sättet att avgöra filtypen är <function>KMimeType::findByURL()</function>. Det tittar efter webbadressen och avgör i de flesta fall typen från filändelsen. Med vissa protokoll (t.ex. http, man, info), används inte den mekanismen. CGI-skript på webbservrar som skrivs i Perl, har till exempel ofta ändelsen <literal>.pl</literal>, som skulle ange typen <literal>"text/x-perl"</literal>. Dock är filen som levereras av servern utmatning från skriptet, som normalt är HTML. I sådana fall, returnerar <function>KMimeType::findByURL()</function> Mime-typen <literal>"application/octet-stream"</literal> (tillgänglig via <function>KMimeType::defaultMimeType()</function>), som anger att den misslyckades med att ta reda på typen. </para> + +<programlisting>KMimeType::Ptr type = KMimeType::findByURL("/home/bernd/foobar.jpg"); if (type->name() == KMimeType::defaultMimeType()) cout << "Kunde inte avgöra typen" << endl; else cout << "Typ: " << type->name() << endl; </programlisting> -<para ->(den här metoden har några fler argument, men dessa är inte dokumenterade, så glöm helt enkelt bort dem.) </para> +<para>(den här metoden har några fler argument, men dessa är inte dokumenterade, så glöm helt enkelt bort dem.) </para> -<para ->Man kan vilja ta reda på en Mime-typ från filens innehåll i stället för filnamnet. Det är tillförlitligare, men också långsammare, eftersom det kräver att en del av filen läses. Det görs med klassen <ulink url="kdeapi:tdeio/KMimeMagic.html" ->KMimeMagic</ulink ->, som har annorlunda felhantering: </para> +<para>Man kan vilja ta reda på en Mime-typ från filens innehåll i stället för filnamnet. Det är tillförlitligare, men också långsammare, eftersom det kräver att en del av filen läses. Det görs med klassen <ulink url="kdeapi:tdeio/KMimeMagic.html">KMimeMagic</ulink>, som har annorlunda felhantering: </para> -<programlisting ->KMimeMagicResult *result = KMimeMagic::self()->findFileType("/home/bernd/foobar.jpg"); +<programlisting>KMimeMagicResult *result = KMimeMagic::self()->findFileType("/home/bernd/foobar.jpg"); if (!result || !result->isValid()) cout << "Kunde inte avgöra typen" << endl; else cout << "Typ: " << result->mimeType() << endl; </programlisting> -<para ->Med en variant av den här funktionen, kan du också avgöra typen för ett minnesblock. Det används till exempel av <application ->Kate</application -> för att räkna ut färgläggningsläget: </para> +<para>Med en variant av den här funktionen, kan du också avgöra typen för ett minnesblock. Det används till exempel av <application>Kate</application> för att räkna ut färgläggningsläget: </para> -<programlisting ->QByteArray array; +<programlisting>QByteArray array; ... KMimeMagicResult *result = KMimeMagic::self()->findBufferType(array); if (!result || !result->isValid()) @@ -2678,11 +1382,9 @@ else cout << "Typ: " << result->mimeType() << endl; </programlisting> -<para ->Till och med KMimeMagic kan förstås bara avgöra filtypen från innehållet i en lokal fil. För fjärrfiler, finns ytterligare en möjlighet: </para> +<para>Till och med KMimeMagic kan förstås bara avgöra filtypen från innehållet i en lokal fil. För fjärrfiler, finns ytterligare en möjlighet: </para> -<programlisting ->KURL url("http://developer.kde.org/favicon.ico"); +<programlisting>KURL url("http://developer.kde.org/favicon.ico"); QString type = TDEIO::NetAccess::mimetype(url); if (type == KMimeType::defaultMimeType()) cout << "Kunde inte avgöra typen" << endl; @@ -2690,18 +1392,11 @@ else cout << "Typ: " << type << endl; </programlisting> -<para ->Det här startar ett TDEIO-jobb för att ladda ner en del av filen, och kontrollera detta. Observera att den här funktionen kanske är riktigt långsam och blockerar programmet. Normalt vill man bara använda det om <function ->KMimeType::findByURL()</function -> returnerade <literal ->"application/octet-stream"</literal ->. </para> +<para>Det här startar ett TDEIO-jobb för att ladda ner en del av filen, och kontrollera detta. Observera att den här funktionen kanske är riktigt långsam och blockerar programmet. Normalt vill man bara använda det om <function>KMimeType::findByURL()</function> returnerade <literal>"application/octet-stream"</literal>. </para> -<para ->Å andra sidan, om du inte vill blockera programmet, kan du också uttryckligen starta TDEIO-jobbet och ansluta till några av dess signaler: </para> +<para>Å andra sidan, om du inte vill blockera programmet, kan du också uttryckligen starta TDEIO-jobbet och ansluta till några av dess signaler: </para> -<programlisting ->void FooClass::findType() +<programlisting>void FooClass::findType() { KURL url("http://developer.kde.org/favicon.ico"); TDEIO::MimetypeJob *job = TDEIO::mimetype(url); @@ -2722,20 +1417,11 @@ void FooClass::mimeResult(TDEIO::Job *job) <simplesect id="mime-mappingmimetypes"> -<title ->Tilldela en Mime-typ till ett program eller tjänst</title> - -<para ->När ett program installeras, installerar det en <literal ->.desktop</literal ->-fil, som innehåller en lista med MIME-typer som programmet kan ladda. På samma sätt gör komponenter, som en KPart, den här informationen tillgänglig med sina <literal ->.desktop</literal ->-tjänstfiler. Alltså finns i allmänhet flera program och komponenter som kan behandla en given MIME-typ. Du kan skaffa en sådan lista från klassen <classname ->KServiceTypeProfile</classname ->: </para> - -<programlisting ->KService::OfferList offers = KServiceTypeProfile::offers("text/html", "Application"); +<title>Tilldela en Mime-typ till ett program eller tjänst</title> + +<para>När ett program installeras, installerar det en <literal>.desktop</literal>-fil, som innehåller en lista med MIME-typer som programmet kan ladda. På samma sätt gör komponenter, som en KPart, den här informationen tillgänglig med sina <literal>.desktop</literal>-tjänstfiler. Alltså finns i allmänhet flera program och komponenter som kan behandla en given MIME-typ. Du kan skaffa en sådan lista från klassen <classname>KServiceTypeProfile</classname>: </para> + +<programlisting>KService::OfferList offers = KServiceTypeProfile::offers("text/html", "Application"); KService::OfferList::ConstIterator it; for (it = offers.begin(); it != offers.end(); ++it) { KService::Ptr service = (*it); @@ -2743,53 +1429,24 @@ for (it = offers.begin(); it != offers.end(); ++it) { } </programlisting> -<para ->Returvärdet från funktionen är en lista med tjänsterbjudanden. Ett <classname ->KServiceOffer</classname ->-objekt paketerar en KService::Ptr, tillsammans med ett rangordningsnummer. Listan som returneras av <function ->KServiceTypeProfile::offers()</function -> är ordnad enligt vad användaren föredrar. Användaren kan ändra detta genom att anropa <command ->"keditfiletype text/html"</command -> eller välja <guimenuitem ->Redigera filtyp</guimenuitem -> i <application ->Konqueror</application ->s sammanhangsberoende meny för en HTML-fil. </para> - -<para ->I exemplet ovan, begärdes en lista med erbjudanden för programmen som stöder <literal ->text/html</literal ->. Det omfattar, bland annat, HTML-editorer som <application ->Quanta Plus</application ->. Du kan också ersätta det andra argumentet <literal ->"Application"</literal -> med <literal ->"KParts::ReadOnlyPart"</literal ->. I det fallet, får du en lista med inbäddbara komponenter för att presentera HTML-innehåll, till exempel TDEHTML. </para> - -<para ->I de flesta fall är du inte intresserad av listan med alla erbjudanden om tjänster för en kombination av Mime-typ och tjänsttyp. Det finns en bekvämlighetsfunktion som bara ger dig tjänsterbjudandet som föredras högst: </para> - -<programlisting ->KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); +<para>Returvärdet från funktionen är en lista med tjänsterbjudanden. Ett <classname>KServiceOffer</classname>-objekt paketerar en KService::Ptr, tillsammans med ett rangordningsnummer. Listan som returneras av <function>KServiceTypeProfile::offers()</function> är ordnad enligt vad användaren föredrar. Användaren kan ändra detta genom att anropa <command>"keditfiletype text/html"</command> eller välja <guimenuitem>Redigera filtyp</guimenuitem> i <application>Konqueror</application>s sammanhangsberoende meny för en HTML-fil. </para> + +<para>I exemplet ovan, begärdes en lista med erbjudanden för programmen som stöder <literal>text/html</literal>. Det omfattar, bland annat, HTML-editorer som <application>Quanta Plus</application>. Du kan också ersätta det andra argumentet <literal>"Application"</literal> med <literal>"KParts::ReadOnlyPart"</literal>. I det fallet, får du en lista med inbäddbara komponenter för att presentera HTML-innehåll, till exempel TDEHTML. </para> + +<para>I de flesta fall är du inte intresserad av listan med alla erbjudanden om tjänster för en kombination av Mime-typ och tjänsttyp. Det finns en bekvämlighetsfunktion som bara ger dig tjänsterbjudandet som föredras högst: </para> + +<programlisting>KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); if (offer) cout << "Namn: " << service->name() << endl; else cout << "Ingen lämplig tjänst hittades" << endl; </programlisting> -<para ->För ännu mer komplicerade förfrågningar, finns det en fullständig CORBA-liknande <ulink url="kdeapi:tdeio/TDETrader.html" ->handlare</ulink ->. </para> +<para>För ännu mer komplicerade förfrågningar, finns det en fullständig CORBA-liknande <ulink url="kdeapi:tdeio/TDETrader.html">handlare</ulink>. </para> -<para ->För att köra en programtjänst med några webbadresser, använd <ulink url="kdeapi:tdeio/KRun.html" ->KRun</ulink ->: </para> +<para>För att köra en programtjänst med några webbadresser, använd <ulink url="kdeapi:tdeio/KRun.html">KRun</ulink>: </para> -<programlisting ->KURL::List urlList; +<programlisting>KURL::List urlList; urlList << "http://www.ietf.org/rfc/rfc1341.txt?number=1341"; urlList << "http://www.ietf.org/rfc/rfc2046.txt?number=2046"; KRun::run(offer.service(), urlList); @@ -2799,25 +1456,19 @@ KRun::run(offer.service(), urlList); <simplesect id="mime-misc"> -<title ->Diverse</title> +<title>Diverse</title> -<para ->I det här avsnittet listar vi några av de programmeringsgränssnitt som på något sätt hör ihop med den föregående beskrivningen. </para> +<para>I det här avsnittet listar vi några av de programmeringsgränssnitt som på något sätt hör ihop med den föregående beskrivningen. </para> -<para ->Hämta en ikon för en webbadress. Det här tittar efter webbadressens typ, och returnerar motsvarande ikon. </para> +<para>Hämta en ikon för en webbadress. Det här tittar efter webbadressens typ, och returnerar motsvarande ikon. </para> -<programlisting ->KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); +<programlisting>KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); QString icon = KMimeType::iconForURL(url); </programlisting> -<para ->Kör en webbadress. Det här tittar efter webbadressens typ, och startar tillhörande program till typen som användaren föredrar. </para> +<para>Kör en webbadress. Det här tittar efter webbadressens typ, och startar tillhörande program till typen som användaren föredrar. </para> -<programlisting ->KURL url("http://dot.kde.org"); +<programlisting>KURL url("http://dot.kde.org"); new KRun(url); </programlisting> @@ -2827,54 +1478,33 @@ new KRun(url); <sect1 id="nettransparency"> -<title ->Nätverkstransparens</title> +<title>Nätverkstransparens</title> <simplesect id="nettransparency-intro"> -<title ->Inledning</title> - -<para ->Under Internetåldern är det ytterst viktigt att skrivbordsprogram kan komma åt resurser via Internet: De ska kunna ladda ner filer från en webbserver, skriva filer till en FTP-server eller läsa e-post från en e-postserver. Ofta kallas möjligheten att komma åt filer oberoende av plats för <emphasis ->nätverkstransparens</emphasis ->. </para> - -<para ->I det förflutna implementerades olika ansatser för att nå målet. Det gamla NFS-filsystemet är ett försök att implementera nätverkstransparens på POSIX-gränssnittsnivå. Medan denna ansats fungerar riktigt bra i lokala, tätt kopplade nätverk, skalas det inte för resurser med otillförlitlig och möjligen långsam åtkomst. Här är <emphasis ->asynkronism</emphasis -> viktig. Medan du väntar på att webbläsaren ska ladda ner en sida, ska inte användargränssnittet blockeras. Dessutom ska inte siduppritningen börja när hela sidan är tillgänglig, utan den ska uppdateras regelbundet medan data anländer. </para> - -<para ->I KDE-biblioteken implementeras nätverkstransparens med TDEIO-programmeringsgränssnittet. Det centrala begreppet i arkitekturen är ett I/O-<emphasis ->jobb</emphasis ->. Ett jobb kan kopiera filer, ta bort filer och liknande saker. Så fort ett jobb har startats, fungerar det i bakgrunden och blockerar inte programmet. All kommunikation från jobbet tillbaka till programmet, som att leverera data eller förloppsinformation, görs integrerat i Qt:s händelsesnurra. </para> - -<para ->Bakgrundsoperationer åstadkoms genom att starta <emphasis ->I/O-slavar</emphasis -> för att utföra vissa uppgifter. I/O-slavar startas som separata processer, och kommunikation sker via Unix domänuttag. På detta sätt behövs inget flertrådssystem, och instabila slavar kan inte krascha programmet som använder dem. </para> - -<para ->Filplatser uttrycks med webbadresser som har en omfattande användning. Men i KDE, utökar webbadresser inte bara området med tillgängliga filer utanför det lokala filsystemet. De går också i motsatt riktning, t.ex. kan man bläddra i tar-arkiv. Det åstadkoms genom att nästla webbadresser. En fil i ett tar-arkiv på en HTTP-server skulle kunna ha webbadressen: </para> - -<programlisting ->http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex +<title>Inledning</title> + +<para>Under Internetåldern är det ytterst viktigt att skrivbordsprogram kan komma åt resurser via Internet: De ska kunna ladda ner filer från en webbserver, skriva filer till en FTP-server eller läsa e-post från en e-postserver. Ofta kallas möjligheten att komma åt filer oberoende av plats för <emphasis>nätverkstransparens</emphasis>. </para> + +<para>I det förflutna implementerades olika ansatser för att nå målet. Det gamla NFS-filsystemet är ett försök att implementera nätverkstransparens på POSIX-gränssnittsnivå. Medan denna ansats fungerar riktigt bra i lokala, tätt kopplade nätverk, skalas det inte för resurser med otillförlitlig och möjligen långsam åtkomst. Här är <emphasis>asynkronism</emphasis> viktig. Medan du väntar på att webbläsaren ska ladda ner en sida, ska inte användargränssnittet blockeras. Dessutom ska inte siduppritningen börja när hela sidan är tillgänglig, utan den ska uppdateras regelbundet medan data anländer. </para> + +<para>I KDE-biblioteken implementeras nätverkstransparens med TDEIO-programmeringsgränssnittet. Det centrala begreppet i arkitekturen är ett I/O-<emphasis>jobb</emphasis>. Ett jobb kan kopiera filer, ta bort filer och liknande saker. Så fort ett jobb har startats, fungerar det i bakgrunden och blockerar inte programmet. All kommunikation från jobbet tillbaka till programmet, som att leverera data eller förloppsinformation, görs integrerat i Qt:s händelsesnurra. </para> + +<para>Bakgrundsoperationer åstadkoms genom att starta <emphasis>I/O-slavar</emphasis> för att utföra vissa uppgifter. I/O-slavar startas som separata processer, och kommunikation sker via Unix domänuttag. På detta sätt behövs inget flertrådssystem, och instabila slavar kan inte krascha programmet som använder dem. </para> + +<para>Filplatser uttrycks med webbadresser som har en omfattande användning. Men i KDE, utökar webbadresser inte bara området med tillgängliga filer utanför det lokala filsystemet. De går också i motsatt riktning, t.ex. kan man bläddra i tar-arkiv. Det åstadkoms genom att nästla webbadresser. En fil i ett tar-arkiv på en HTTP-server skulle kunna ha webbadressen: </para> + +<programlisting>http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex </programlisting> </simplesect> <simplesect id="nettransparency-usingkio"> -<title ->Använda TDEIO</title> +<title>Använda TDEIO</title> -<para ->I de flesta fall skapas jobb genom att anropa funktioner i TDEIO-namnrymden. Dessa funktioner har en eller två webbadresser som argument, och möjligen också andra nödvändiga parametrar. När jobbet är avslutat, skickar det signalen <literal ->result(TDEIO::Job*)</literal ->. Efter signalen har skickats, tar jobbet bort sig självt. Därför ser ett typiskt användarfall ut så här: </para> +<para>I de flesta fall skapas jobb genom att anropa funktioner i TDEIO-namnrymden. Dessa funktioner har en eller två webbadresser som argument, och möjligen också andra nödvändiga parametrar. När jobbet är avslutat, skickar det signalen <literal>result(TDEIO::Job*)</literal>. Efter signalen har skickats, tar jobbet bort sig självt. Därför ser ett typiskt användarfall ut så här: </para> -<programlisting ->void FooClass::makeDirectory() +<programlisting>void FooClass::makeDirectory() { SimpleJob *job = TDEIO::mkdir(KURL("file:/home/bernd/kiodir")); connect( job, SIGNAL(result(TDEIO::Job*)), @@ -2890,174 +1520,82 @@ void FooClass::mkdirResult(TDEIO::Job *job) } </programlisting> -<para ->Beroende på jobbtypen, kan du också ansluta till andra signaler. </para> +<para>Beroende på jobbtypen, kan du också ansluta till andra signaler. </para> -<para ->Här är en översikt av de möjliga funktionerna: </para> +<para>Här är en översikt av de möjliga funktionerna: </para> <variablelist> -<varlistentry -><term ->TDEIO::mkdir(const KURL &url, int permission)</term> -<listitem -><para ->Skapar en katalog, valfritt med vissa rättigheter. </para -></listitem> +<varlistentry><term>TDEIO::mkdir(const KURL &url, int permission)</term> +<listitem><para>Skapar en katalog, valfritt med vissa rättigheter. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::rmdir(const KURL &url)</term> -<listitem -><para ->Tar bort en katalog. </para -></listitem> +<varlistentry><term>TDEIO::rmdir(const KURL &url)</term> +<listitem><para>Tar bort en katalog. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::chmod(const KURL &url, int permissions)</term> -<listitem -><para ->Ändrar rättigheter för en fil. </para -></listitem> +<varlistentry><term>TDEIO::chmod(const KURL &url, int permissions)</term> +<listitem><para>Ändrar rättigheter för en fil. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::rename(const KURL &src, const KURL &dest, bool overwrite)</term> -<listitem -><para ->Byter namn på en fil. </para -></listitem> +<varlistentry><term>TDEIO::rename(const KURL &src, const KURL &dest, bool overwrite)</term> +<listitem><para>Byter namn på en fil. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo)</term> -<listitem -><para ->Skapar en symbolisk länk. </para -></listitem> +<varlistentry><term>TDEIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo)</term> +<listitem><para>Skapar en symbolisk länk. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::stat(const KURL &url, bool showProgressInfo)</term> -<listitem -><para ->Hittar viss information om filen, som storlek, ändringstid och rättigheter. Informationen kan hämtas från TDEIO::StatJob::statResult() efter jobbet har avslutats. </para -></listitem> +<varlistentry><term>TDEIO::stat(const KURL &url, bool showProgressInfo)</term> +<listitem><para>Hittar viss information om filen, som storlek, ändringstid och rättigheter. Informationen kan hämtas från TDEIO::StatJob::statResult() efter jobbet har avslutats. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::get(const KURL &url, bool reload, bool showProgressInfo)</term> -<listitem -><para ->Överför data från en webbadress. </para -></listitem> +<varlistentry><term>TDEIO::get(const KURL &url, bool reload, bool showProgressInfo)</term> +<listitem><para>Överför data från en webbadress. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::put(const KURL &url, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> -<listitem -><para ->Överför data till en webbadress. </para -></listitem> +<varlistentry><term>TDEIO::put(const KURL &url, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem><para>Överför data till en webbadress. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo)</term> -<listitem -><para ->Sänder data. Särskild för HTTP. </para -></listitem> +<varlistentry><term>TDEIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo)</term> +<listitem><para>Sänder data. Särskild för HTTP. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::mimetype(const KURL &url, bool showProgressInfo)</term> -<listitem -><para ->Försöker hitta webbadressens Mime-typ. Typen kan hämtas från TDEIO::MimetypeJob::mimetype() efter jobbet har avslutats. </para -></listitem> +<varlistentry><term>TDEIO::mimetype(const KURL &url, bool showProgressInfo)</term> +<listitem><para>Försöker hitta webbadressens Mime-typ. Typen kan hämtas från TDEIO::MimetypeJob::mimetype() efter jobbet har avslutats. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::file_copy(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> -<listitem -><para ->Kopierar en ensam fil. </para -></listitem> +<varlistentry><term>TDEIO::file_copy(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem><para>Kopierar en ensam fil. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::file_move(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> -<listitem -><para ->Byter namn på eller flyttar en ensam fil. </para -></listitem> +<varlistentry><term>TDEIO::file_move(const KURL &src, const KURL &dest, int permissions, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem><para>Byter namn på eller flyttar en ensam fil. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::file_delete(const KURL &url, bool showProgressInfo)</term> -<listitem -><para ->Tar bort en ensam fil </para -></listitem> +<varlistentry><term>TDEIO::file_delete(const KURL &url, bool showProgressInfo)</term> +<listitem><para>Tar bort en ensam fil </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::listDir(const KURL &url, bool showProgressInfo)</term> -<listitem -><para ->Listar innehållet i en katalog. Varje gång några nya poster blir kända, skickas signalen TDEIO::ListJob::entries(). </para -></listitem> +<varlistentry><term>TDEIO::listDir(const KURL &url, bool showProgressInfo)</term> +<listitem><para>Listar innehållet i en katalog. Varje gång några nya poster blir kända, skickas signalen TDEIO::ListJob::entries(). </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::listRecursive(const KURL &url, bool showProgressInfo)</term> -<listitem -><para ->Liknar funktionen listDir(), men den här är rekursiv. </para -></listitem> +<varlistentry><term>TDEIO::listRecursive(const KURL &url, bool showProgressInfo)</term> +<listitem><para>Liknar funktionen listDir(), men den här är rekursiv. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo)</term> -<listitem -><para ->Kopierar en fil eller katalog. Kataloger kopieras rekursivt. </para -></listitem> +<varlistentry><term>TDEIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo)</term> +<listitem><para>Kopierar en fil eller katalog. Kataloger kopieras rekursivt. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::move(const KURL &src, const KURL &dest, bool showProgressInfo)</term> -<listitem -><para ->Flyttar eller byter namn på en fil eller katalog. </para -></listitem> +<varlistentry><term>TDEIO::move(const KURL &src, const KURL &dest, bool showProgressInfo)</term> +<listitem><para>Flyttar eller byter namn på en fil eller katalog. </para></listitem> </varlistentry> -<varlistentry -><term ->TDEIO::del(const KURL &src, bool shred, bool showProgressInfo)</term> -<listitem -><para ->Tar bort en fil eller katalog. </para -></listitem> +<varlistentry><term>TDEIO::del(const KURL &src, bool shred, bool showProgressInfo)</term> +<listitem><para>Tar bort en fil eller katalog. </para></listitem> </varlistentry> </variablelist> @@ -3066,128 +1604,63 @@ void FooClass::mkdirResult(TDEIO::Job *job) <simplesect id="nettransparency-direntries"> -<title ->Katalogposter</title> +<title>Katalogposter</title> -<para ->Båda jobben TDEIO::stat() och TDEIO::listDir() returnerar sina resultat med typerna UDSEntry och UDSEntryList. Den senare är definierad som QValueList<UDSEntry>. Akronymen UDS betyder "Universal directory service" (Allmän katalogtjänst). Principen bakom detta är att katalogposten bara innehåller information som en I/O-slav kan tillhandahålla, inte mer. Till exempel tillhandahåller inte HTTP-slaven någon information om åtkomsträttigheter eller ägare av filer. Istället är en UDSEntry en lista med UDSAtoms. Varje objekt tillhandahåller viss information. Den består av en typ som lagras i m_uds, och antingen ett heltalsvärde i m_long, eller ett strängvärde i m_str, beroende på typen. </para> +<para>Båda jobben TDEIO::stat() och TDEIO::listDir() returnerar sina resultat med typerna UDSEntry och UDSEntryList. Den senare är definierad som QValueList<UDSEntry>. Akronymen UDS betyder "Universal directory service" (Allmän katalogtjänst). Principen bakom detta är att katalogposten bara innehåller information som en I/O-slav kan tillhandahålla, inte mer. Till exempel tillhandahåller inte HTTP-slaven någon information om åtkomsträttigheter eller ägare av filer. Istället är en UDSEntry en lista med UDSAtoms. Varje objekt tillhandahåller viss information. Den består av en typ som lagras i m_uds, och antingen ett heltalsvärde i m_long, eller ett strängvärde i m_str, beroende på typen. </para> -<para ->Följande typer är för närvarande definierade: </para> +<para>Följande typer är för närvarande definierade: </para> <itemizedlist> -<listitem -><para ->UDS_SIZE (heltal) - Filens storlek. </para -></listitem> - -<listitem -><para ->UDS_USER (sträng) - Användaren som äger filen. </para -></listitem> - -<listitem -><para ->UDS_GROUP (sträng): Grupp som äger filen. </para -></listitem> - -<listitem -><para ->UDS_NAME (sträng): Filnamnet. </para -></listitem> - -<listitem -><para ->UDS_ACCESS (heltal) - Filens rättigheter, som t.ex. lagras av C-biblioteksfunktionen stat() i fältet st_mode. </para -></listitem> - -<listitem -><para ->UDS_FILE_TYPE (heltal): Filtypen, som t.ex. lagras av stat() i fältet st_mode. Därför kan du använda vanliga makron från C-biblioteket, som S_ISDIR, för att kontrollera värdet. Observera att data som tillhandahålls av I/O-slavar motsvarar stat(), inte lstat(), dvs. i fallet med symboliska länkar, så är filtypen här typen på filen som länken pekar ut, inte själva länken. </para -></listitem> - -<listitem -><para ->UDS_LINK_DEST (sträng): I fallet med en symbolisk länk, namnet på filen som pekas ut. </para -></listitem> - -<listitem -><para ->UDS_MODIFICATION_TIME (heltal) - Tiden (med typen time_t) då filen sist ändrades, som t.ex. lagras av stat() i fältet st_mtime. </para -></listitem> - -<listitem -><para ->UDS_ACCESS_TIME (heltal) - Tiden då filen sist användes, som t.ex. lagras av stat() i fältet st_atime. </para -></listitem> - -<listitem -><para ->UDS_CREATION_TIME (heltal) - Tiden då filen skapades, som t.ex. lagras av stat() i fältet st_ctime. </para -></listitem> - -<listitem -><para ->UDS_URL (sträng) - Tillhandahåller en fils webbadress, om den inte helt enkelt är sammanslagningen av katalogwebbadressen och filnamnet. </para -></listitem> - -<listitem -><para ->UDS_MIME_TYPE (sträng): Filens Mime-typ </para -></listitem> - -<listitem -><para ->UDS_GUESSED_MIME_TYPE (sträng): Mime-typ för filen som gissats av slaven. Skillnaden mot föregående typ är att den som tillhandahålls här inte ska betraktas som tillförlitlig (eftersom att avgöra den på ett tillförlitligt sätt skulle vara för dyrt). Klassen KRun kontrollerar till exempel uttryckligen Mime-typen, om den inte har tillförlitlig information. </para -></listitem> +<listitem><para>UDS_SIZE (heltal) - Filens storlek. </para></listitem> + +<listitem><para>UDS_USER (sträng) - Användaren som äger filen. </para></listitem> + +<listitem><para>UDS_GROUP (sträng): Grupp som äger filen. </para></listitem> + +<listitem><para>UDS_NAME (sträng): Filnamnet. </para></listitem> + +<listitem><para>UDS_ACCESS (heltal) - Filens rättigheter, som t.ex. lagras av C-biblioteksfunktionen stat() i fältet st_mode. </para></listitem> + +<listitem><para>UDS_FILE_TYPE (heltal): Filtypen, som t.ex. lagras av stat() i fältet st_mode. Därför kan du använda vanliga makron från C-biblioteket, som S_ISDIR, för att kontrollera värdet. Observera att data som tillhandahålls av I/O-slavar motsvarar stat(), inte lstat(), dvs. i fallet med symboliska länkar, så är filtypen här typen på filen som länken pekar ut, inte själva länken. </para></listitem> + +<listitem><para>UDS_LINK_DEST (sträng): I fallet med en symbolisk länk, namnet på filen som pekas ut. </para></listitem> + +<listitem><para>UDS_MODIFICATION_TIME (heltal) - Tiden (med typen time_t) då filen sist ändrades, som t.ex. lagras av stat() i fältet st_mtime. </para></listitem> + +<listitem><para>UDS_ACCESS_TIME (heltal) - Tiden då filen sist användes, som t.ex. lagras av stat() i fältet st_atime. </para></listitem> + +<listitem><para>UDS_CREATION_TIME (heltal) - Tiden då filen skapades, som t.ex. lagras av stat() i fältet st_ctime. </para></listitem> + +<listitem><para>UDS_URL (sträng) - Tillhandahåller en fils webbadress, om den inte helt enkelt är sammanslagningen av katalogwebbadressen och filnamnet. </para></listitem> + +<listitem><para>UDS_MIME_TYPE (sträng): Filens Mime-typ </para></listitem> + +<listitem><para>UDS_GUESSED_MIME_TYPE (sträng): Mime-typ för filen som gissats av slaven. Skillnaden mot föregående typ är att den som tillhandahålls här inte ska betraktas som tillförlitlig (eftersom att avgöra den på ett tillförlitligt sätt skulle vara för dyrt). Klassen KRun kontrollerar till exempel uttryckligen Mime-typen, om den inte har tillförlitlig information. </para></listitem> </itemizedlist> -<para ->Även om sättet att lagra information om filer i en <classname ->UDSEntry</classname -> är flexibelt och praktiskt ur en I/O-slavs synvinkel, är det rörigt att använda för den somskriver programmet. För att till exempel ta reda på Mime-typen för filen, måste du snurra igenom hela innehållet och kontrollera om <literal ->m_uds</literal -> är <literal ->UDS_MIME_TYPE</literal ->. Som tur är, finns ett programmeringsgränssnitt som är mycket enklare att använda: klassen <classname ->KFileItem</classname ->. </para> +<para>Även om sättet att lagra information om filer i en <classname>UDSEntry</classname> är flexibelt och praktiskt ur en I/O-slavs synvinkel, är det rörigt att använda för den somskriver programmet. För att till exempel ta reda på Mime-typen för filen, måste du snurra igenom hela innehållet och kontrollera om <literal>m_uds</literal> är <literal>UDS_MIME_TYPE</literal>. Som tur är, finns ett programmeringsgränssnitt som är mycket enklare att använda: klassen <classname>KFileItem</classname>. </para> </simplesect> <simplesect id="nettransparency-syncuse"> -<title ->Synkron användning</title> +<title>Synkron användning</title> -<para ->Ofta är det TDEIO:s asynkrona programmeringsgränssnitt för komplext att använda, och därför är inte implementering av fullständig asynkronism prioriterat. I ett program som till exempel bara kan hantera en dokumentfil åt gången, finns det ändå inte mycket som kan göras medan programmet laddar ner en fil. I dessa enkla fall, finns ett mycket enklare programmeringsgränssnitt, i form av ett antal statiska funktioner i TDEIO::NetAccess. För att till exempel kopiera en fil, använd: </para> +<para>Ofta är det TDEIO:s asynkrona programmeringsgränssnitt för komplext att använda, och därför är inte implementering av fullständig asynkronism prioriterat. I ett program som till exempel bara kan hantera en dokumentfil åt gången, finns det ändå inte mycket som kan göras medan programmet laddar ner en fil. I dessa enkla fall, finns ett mycket enklare programmeringsgränssnitt, i form av ett antal statiska funktioner i TDEIO::NetAccess. För att till exempel kopiera en fil, använd: </para> -<programlisting ->KURL source, target; +<programlisting>KURL source, target; source = ...; target = ... TDEIO::NetAccess::copy(source, target); </programlisting> -<para ->Funktionen returnerar efter hela kopieringsprocessen har avslutats. Ändå så tillhandahåller den här metoden en förloppsdialogruta, och den försäkrar att programmet behandlar omritningshändelser. </para> - -<para ->En särskilt intressant kombination av funktioner är <function ->download()</function -> tillsammans med <function ->removeTempFile()</function ->. Den första laddar ner en fil från en given webbadress, och lagrar den i en tillfällig fil med ett unikt namn. Namnet lagras som det andra argumentet. <emphasis ->Om</emphasis -> webbadressen är lokal, laddas inte filen ner, utan istället sätts det andra argumentet till det lokala filnamnet. Funktionen <function ->removeTempFile()</function -> tar bort filen som anges av argumentet, om filen skapades av den föregående nerladdningen. Om det inte är fallet, gör den ingenting. På så sätt får man ett mycket enkelt kodfragment för att ladda filer, oberoende av deras plats: </para> - -<programlisting ->KURL url; +<para>Funktionen returnerar efter hela kopieringsprocessen har avslutats. Ändå så tillhandahåller den här metoden en förloppsdialogruta, och den försäkrar att programmet behandlar omritningshändelser. </para> + +<para>En särskilt intressant kombination av funktioner är <function>download()</function> tillsammans med <function>removeTempFile()</function>. Den första laddar ner en fil från en given webbadress, och lagrar den i en tillfällig fil med ett unikt namn. Namnet lagras som det andra argumentet. <emphasis>Om</emphasis> webbadressen är lokal, laddas inte filen ner, utan istället sätts det andra argumentet till det lokala filnamnet. Funktionen <function>removeTempFile()</function> tar bort filen som anges av argumentet, om filen skapades av den föregående nerladdningen. Om det inte är fallet, gör den ingenting. På så sätt får man ett mycket enkelt kodfragment för att ladda filer, oberoende av deras plats: </para> + +<programlisting>KURL url; url = ...; QString tempFile; if (TDEIO::NetAccess::download(url, tempFile) { @@ -3200,14 +1673,11 @@ if (TDEIO::NetAccess::download(url, tempFile) { <simplesect id="nettransparency-metadata"> -<title ->Metadata</title> +<title>Metadata</title> -<para ->Som märks ovan, är gränssnittet för I/O-jobb ganska abstrakt och hanterar inte något utbyte av information mellan program och I/O-slav som är protokollspecifikt. Det är inte alltid lämpligt. Man kan till exempel ge vissa parametrar till HTTP-slaven för att styra dess cachebeteende eller skicka en mängd kakor tillsammans med begäran. För detta behov har ett koncept med metadata införts. När ett jobb skapas, kan man anpassa det genom att lägga till metadata till det. Varje metadataobjekt består av ett par med nyckel och värde. För att till exempel förhindra HTTP-slaven från att ladda en webbsida från cachen, kan du använda: </para> +<para>Som märks ovan, är gränssnittet för I/O-jobb ganska abstrakt och hanterar inte något utbyte av information mellan program och I/O-slav som är protokollspecifikt. Det är inte alltid lämpligt. Man kan till exempel ge vissa parametrar till HTTP-slaven för att styra dess cachebeteende eller skicka en mängd kakor tillsammans med begäran. För detta behov har ett koncept med metadata införts. När ett jobb skapas, kan man anpassa det genom att lägga till metadata till det. Varje metadataobjekt består av ett par med nyckel och värde. För att till exempel förhindra HTTP-slaven från att ladda en webbsida från cachen, kan du använda: </para> -<programlisting ->void FooClass::reloadPage() +<programlisting>void FooClass::reloadPage() { KURL url("http://www.kdevelop.org/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); @@ -3216,15 +1686,9 @@ if (TDEIO::NetAccess::download(url, tempFile) { } </programlisting> -<para ->Samma teknik används åt andra hållet, dvs. för kommunikation från slaven till programmet. Metoden <function ->Job::queryMetaData()</function -> frågar efter värdet på en viss nyckel som levereras av slaven. För HTTP-slaven, är ett sådant exempel nyckeln <literal ->"modified"</literal -> (ändrad), som innehåller datumet då webbsidan sist ändrades (i form av en sträng). Ett exempel på hur det kan användas är följande: </para> +<para>Samma teknik används åt andra hållet, dvs. för kommunikation från slaven till programmet. Metoden <function>Job::queryMetaData()</function> frågar efter värdet på en viss nyckel som levereras av slaven. För HTTP-slaven, är ett sådant exempel nyckeln <literal>"modified"</literal> (ändrad), som innehåller datumet då webbsidan sist ändrades (i form av en sträng). Ett exempel på hur det kan användas är följande: </para> -<programlisting ->void FooClass::printModifiedDate() +<programlisting>void FooClass::printModifiedDate() { KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); @@ -3248,38 +1712,24 @@ void FooClass::transferResult(TDEIO::Job *job) <simplesect id="nettransparency-scheduling"> -<title ->Schemaläggning</title> +<title>Schemaläggning</title> -<para ->När TDEIO-programmeringsgränssnittet används, behöver du oftast inte hantera detaljerna med att starta I/O-slavar och kommunicera med dem. Det normala användningsfallet är att starta ett jobb med några parametrar, och hantera signalerna som jobbet skickar. </para> +<para>När TDEIO-programmeringsgränssnittet används, behöver du oftast inte hantera detaljerna med att starta I/O-slavar och kommunicera med dem. Det normala användningsfallet är att starta ett jobb med några parametrar, och hantera signalerna som jobbet skickar. </para> -<para ->Bakom ridån är scenariot mycket mer komplicerat. När du skapar ett jobb, läggs det i en kö. När programmet går tillbaka till händelsesnurran, tilldelar TDEIO slavprocesser för jobben i kön. För det första jobbet som startas, är detta trivialt: en I/O-slav för lämpligt protokoll startas. Efter jobbet (som en nerladdning från en HTTP-server) har avslutats, tas det dock inte omedelbart bort. Istället läggs det i en grupp med lediga slavar och tas bort efter en viss tid utan aktivitet (för närvarande tre minuter). Om en ny begäran för samma värddator och protokoll anländer, återanvänds slaven. Den uppenbara fördelen är att vid en serie jobb med samma värddator, sparar man in kostnaden för att skapa nya processer, och möjligen också att genomgå en behörighetskontroll. </para> +<para>Bakom ridån är scenariot mycket mer komplicerat. När du skapar ett jobb, läggs det i en kö. När programmet går tillbaka till händelsesnurran, tilldelar TDEIO slavprocesser för jobben i kön. För det första jobbet som startas, är detta trivialt: en I/O-slav för lämpligt protokoll startas. Efter jobbet (som en nerladdning från en HTTP-server) har avslutats, tas det dock inte omedelbart bort. Istället läggs det i en grupp med lediga slavar och tas bort efter en viss tid utan aktivitet (för närvarande tre minuter). Om en ny begäran för samma värddator och protokoll anländer, återanvänds slaven. Den uppenbara fördelen är att vid en serie jobb med samma värddator, sparar man in kostnaden för att skapa nya processer, och möjligen också att genomgå en behörighetskontroll. </para> -<para ->Naturligtvis är återanvändning bara möjlig när den befintliga slaven redan har avslutat sitt tidigare jobb. Om en ny begäran anländer medan en befintlig slavprocess fortfarande kör, måste en ny process startas och användas. Med användningen i exemplen ovan av programmeringsgränssnittet, finns det ingen begränsning för att skapa nya slavprocesser: om man startar en serie nerladdningar av 20 olika filer i rad, skapar TDEIO 20 slavprocesser. Den här metoden att tilldela slavar till jobb kallas <emphasis ->direkt</emphasis ->. Det är inte alltid den mest lämpliga metoden, eftersom den kan behöva mycket minne och ge hög last både på klient- och serverdatorn. </para> +<para>Naturligtvis är återanvändning bara möjlig när den befintliga slaven redan har avslutat sitt tidigare jobb. Om en ny begäran anländer medan en befintlig slavprocess fortfarande kör, måste en ny process startas och användas. Med användningen i exemplen ovan av programmeringsgränssnittet, finns det ingen begränsning för att skapa nya slavprocesser: om man startar en serie nerladdningar av 20 olika filer i rad, skapar TDEIO 20 slavprocesser. Den här metoden att tilldela slavar till jobb kallas <emphasis>direkt</emphasis>. Det är inte alltid den mest lämpliga metoden, eftersom den kan behöva mycket minne och ge hög last både på klient- och serverdatorn. </para> -<para ->Så det finns ett annat sätt. Man kan <emphasis ->schemalägga</emphasis -> jobb. Om man gör det, skapas bara ett begränsat antal (för närvarande tre) slavprocesser för ett protokoll. Om du skapar fler jobb än så, läggs de i en kö och processas när en slavprocess blir ledig. Det görs på följande sätt: </para> +<para>Så det finns ett annat sätt. Man kan <emphasis>schemalägga</emphasis> jobb. Om man gör det, skapas bara ett begränsat antal (för närvarande tre) slavprocesser för ett protokoll. Om du skapar fler jobb än så, läggs de i en kö och processas när en slavprocess blir ledig. Det görs på följande sätt: </para> -<programlisting ->KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); +<programlisting>KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); TDEIO::Scheduler::scheduleJob(job); </programlisting> -<para ->En tredje möjlighet är <emphasis ->anslutningsorienterat</emphasis ->. Till exempel för IMAP-slaven, är det inte vettigt att starta flera processer för samma server. Bara en IMAP-anslutning åt gången får upprätthållas. I detta fall måste programmet uttryckligen hantera slavbegreppet. Det måste tilldela en slav för en viss anslutning och sedan tilldela alla jobb som ska gå genom samma anslutning till samma slav. Det kan återigen enkelt åstadkommas genom att använda TDEIO::Scheduler: </para> +<para>En tredje möjlighet är <emphasis>anslutningsorienterat</emphasis>. Till exempel för IMAP-slaven, är det inte vettigt att starta flera processer för samma server. Bara en IMAP-anslutning åt gången får upprätthållas. I detta fall måste programmet uttryckligen hantera slavbegreppet. Det måste tilldela en slav för en viss anslutning och sedan tilldela alla jobb som ska gå genom samma anslutning till samma slav. Det kan återigen enkelt åstadkommas genom att använda TDEIO::Scheduler: </para> -<programlisting ->KURL baseUrl("imap://bernd@albert.physik.hu-berlin.de"); +<programlisting>KURL baseUrl("imap://bernd@albert.physik.hu-berlin.de"); TDEIO::Slave *slave = TDEIO::Scheduler::getConnectedSlave(baseUrl); TDEIO::TransferJob *job1 = TDEIO::get(KURL(baseUrl, "/INBOX;UID=79374")); @@ -3293,30 +1743,24 @@ TDEIO::Scheduler::assignJobToSlave(slave, job2); TDEIO::Scheduler::disconnectSlave(slave); </programlisting> -<para ->Du kan bara koppla ner slaven efter alla jobb som tilldelats den garanterat har avslutats. </para> +<para>Du kan bara koppla ner slaven efter alla jobb som tilldelats den garanterat har avslutats. </para> </simplesect> <simplesect id="nettransparency-definingslaves"> -<title ->Definiera en I/O-slav</title> +<title>Definiera en I/O-slav</title> -<para ->I det följande beskriver vi hur du kan lägga till en ny I/O-slav i systemet. På liknande sätt som tjänster, annonseras I/O-slavar för systemet genom att installera en liten konfigurationsfil. Följande fragment av Makefile.am installerar FTP-protokollet: </para> +<para>I det följande beskriver vi hur du kan lägga till en ny I/O-slav i systemet. På liknande sätt som tjänster, annonseras I/O-slavar för systemet genom att installera en liten konfigurationsfil. Följande fragment av Makefile.am installerar FTP-protokollet: </para> -<programlisting ->protocoldir = $(kde_servicesdir) +<programlisting>protocoldir = $(kde_servicesdir) protocol_DATA = ftp.protocol EXTRA_DIST = $(mime_DATA) </programlisting> -<para ->Innehållet i filen ftp.protocol är följande: </para> +<para>Innehållet i filen ftp.protocol är följande: </para> -<programlisting ->[Protocol] +<programlisting>[Protocol] exec=tdeio_ftp protocol=ftp input=none @@ -3329,34 +1773,15 @@ deleting=true Icon=ftp </programlisting> -<para ->Posten <literal ->"protocol"</literal -> anger vilket protokoll som slaven ansvarar för. <literal ->"exec"</literal -> är (i motsats mot vad man naivt kan förvänta sig) namnet på biblioteket som implementerar slaven. När det är meningen att slaven ska starta, startas programmet <command ->"tdeinit"</command ->, som i sin tur laddar biblioteket i sitt adressrum. I praktiken kan du betrakta slaven som kör som en separat process, även om den är implementerad som ett bibliotek. Fördelen med den här mekanismen är att den sparar mycket minne, och reducerar tiden som behövs för länkning under körning. </para> - -<para ->Raderna "input" och "output" används inte för närvarande. </para> - -<para ->Återstående rader i filen <literal ->.protocol</literal -> anger vilka förmågor slaven har. I allmänhet är de funktioner som slaven måste implementera mycket enklare än de funktioner som TDEIO-programmeringsgränssnittet tillhandahåller programmet. Orsaken till detta är att komplexa jobb schemaläggs som en följd av deljobb. För att till exempel lista en katalog rekursivt, startas ett jobb för toppnivåkatalogen. För varje underkatalog som rapporteras tillbaka, startas nya underjobb. Schemaläggning i TDEIO försäkrar att inte för många jobb är aktiva samtidigt. På liknande sätt, för att kopiera en fil med ett protokoll som inte stöder kopiering direkt (som <literal ->FTP</literal ->-protokollet), kan TDEIO läsa källfilen och sedan skriva data till destinationsfilen. För att detta ska fungera, måste <literal ->.protocol</literal -> annonsera åtgärderna som slaven stöder. </para> - -<para ->Eftersom slavar laddas som delade bibliotek, men utgör fullständiga program, ser deras kodramverk något annorlunda ut jämfört med normala delade biblioteksinsticksprogram. Funktionen som anropas för att starta slaven kallas <function ->kdemain()</function ->. Den här funktionen gör en del initieringar, och hoppar sedan till en händelsesnurra och väntar på begäran från programmet som använder den. Det här ser ut som följer: </para> - -<programlisting ->extern "C" { int kdemain(int argc, char **argv); } +<para>Posten <literal>"protocol"</literal> anger vilket protokoll som slaven ansvarar för. <literal>"exec"</literal> är (i motsats mot vad man naivt kan förvänta sig) namnet på biblioteket som implementerar slaven. När det är meningen att slaven ska starta, startas programmet <command>"tdeinit"</command>, som i sin tur laddar biblioteket i sitt adressrum. I praktiken kan du betrakta slaven som kör som en separat process, även om den är implementerad som ett bibliotek. Fördelen med den här mekanismen är att den sparar mycket minne, och reducerar tiden som behövs för länkning under körning. </para> + +<para>Raderna "input" och "output" används inte för närvarande. </para> + +<para>Återstående rader i filen <literal>.protocol</literal> anger vilka förmågor slaven har. I allmänhet är de funktioner som slaven måste implementera mycket enklare än de funktioner som TDEIO-programmeringsgränssnittet tillhandahåller programmet. Orsaken till detta är att komplexa jobb schemaläggs som en följd av deljobb. För att till exempel lista en katalog rekursivt, startas ett jobb för toppnivåkatalogen. För varje underkatalog som rapporteras tillbaka, startas nya underjobb. Schemaläggning i TDEIO försäkrar att inte för många jobb är aktiva samtidigt. På liknande sätt, för att kopiera en fil med ett protokoll som inte stöder kopiering direkt (som <literal>FTP</literal>-protokollet), kan TDEIO läsa källfilen och sedan skriva data till destinationsfilen. För att detta ska fungera, måste <literal>.protocol</literal> annonsera åtgärderna som slaven stöder. </para> + +<para>Eftersom slavar laddas som delade bibliotek, men utgör fullständiga program, ser deras kodramverk något annorlunda ut jämfört med normala delade biblioteksinsticksprogram. Funktionen som anropas för att starta slaven kallas <function>kdemain()</function>. Den här funktionen gör en del initieringar, och hoppar sedan till en händelsesnurra och väntar på begäran från programmet som använder den. Det här ser ut som följer: </para> + +<programlisting>extern "C" { int kdemain(int argc, char **argv); } int kdemain(int argc, char **argv) { @@ -3380,235 +1805,78 @@ int kdemain(int argc, char **argv) <simplesect id="nettransparency-implementingslaves"> -<title ->Implementera en I/O-slav</title> - -<para ->Slavar implementeras som delklasser till <classname ->TDEIO::SlaveBase</classname -> (FtpSlave i exemplet ovan). På så sätt motsvarar åtgärderna i <literal ->.protocol</literal -> vissa virtuella funktioner i <classname ->TDEIO::SlaveBase</classname -> som implementeringen av slaven måste implementera om. Här är en lista med möjliga åtgärder och motsvarande virtuella funktioner: </para> +<title>Implementera en I/O-slav</title> + +<para>Slavar implementeras som delklasser till <classname>TDEIO::SlaveBase</classname> (FtpSlave i exemplet ovan). På så sätt motsvarar åtgärderna i <literal>.protocol</literal> vissa virtuella funktioner i <classname>TDEIO::SlaveBase</classname> som implementeringen av slaven måste implementera om. Här är en lista med möjliga åtgärder och motsvarande virtuella funktioner: </para> <variablelist> -<varlistentry -><term ->läsa: Läser data från en webbadress</term> -<listitem -><para ->void get(const KURL &url)</para -></listitem -></varlistentry> - -<varlistentry -><term ->skriva: Skriver data till en webbadress och skapar filen om den inte ännu finns.</term> -<listitem -><para ->void put(const KURL &url, int permissions, bool overwrite, bool resume)</para -></listitem -></varlistentry> - -<varlistentry -><term ->flytta: Byter namn på en fil.</term> -<listitem -><para ->void rename(const KURL &src, const KURL &dest, bool overwrite)</para -></listitem -></varlistentry> - -<varlistentry -><term ->ta bort: Tar bort en fil eller katalog.</term> -<listitem -><para ->void del(const KURL &url, bool isFile)</para -></listitem -></varlistentry> - -<varlistentry -><term ->lista: Listar innehållet i en katalog.</term> -<listitem -><para ->void listDir(const KURL &url)</para -></listitem -></varlistentry> - -<varlistentry -><term ->skapa katalog: Skapar en katalog.</term> -<listitem -><para ->void mkdir(const KURL &url, int permissions)</para -></listitem -></varlistentry> +<varlistentry><term>läsa: Läser data från en webbadress</term> +<listitem><para>void get(const KURL &url)</para></listitem></varlistentry> + +<varlistentry><term>skriva: Skriver data till en webbadress och skapar filen om den inte ännu finns.</term> +<listitem><para>void put(const KURL &url, int permissions, bool overwrite, bool resume)</para></listitem></varlistentry> + +<varlistentry><term>flytta: Byter namn på en fil.</term> +<listitem><para>void rename(const KURL &src, const KURL &dest, bool overwrite)</para></listitem></varlistentry> + +<varlistentry><term>ta bort: Tar bort en fil eller katalog.</term> +<listitem><para>void del(const KURL &url, bool isFile)</para></listitem></varlistentry> + +<varlistentry><term>lista: Listar innehållet i en katalog.</term> +<listitem><para>void listDir(const KURL &url)</para></listitem></varlistentry> + +<varlistentry><term>skapa katalog: Skapar en katalog.</term> +<listitem><para>void mkdir(const KURL &url, int permissions)</para></listitem></varlistentry> </variablelist> -<para ->Dessutom finns det funktioner som kan implementeras om, och inte listas i filen <literal ->.protocol</literal ->. För dessa åtgärder, avgör TDEIO automatiskt om de stöds eller inte (dvs. standardimplementationen returnerar ett fel). </para> +<para>Dessutom finns det funktioner som kan implementeras om, och inte listas i filen <literal>.protocol</literal>. För dessa åtgärder, avgör TDEIO automatiskt om de stöds eller inte (dvs. standardimplementationen returnerar ett fel). </para> <variablelist> -<varlistentry -><term ->Levererar information om en fil, liknar C-funktionen stat().</term> -<listitem -><para ->void stat(const KURL &url)</para -></listitem -></varlistentry> - -<varlistentry -><term ->Ändrar åtkomsträttigheter för en fil.</term> -<listitem -><para ->void chmod(const KURL &url, int permissions)</para -></listitem -></varlistentry> - -<varlistentry -><term ->Avgör Mime-typ för en fil.</term> -<listitem -><para ->void mimetype(const KURL &url)</para -></listitem -></varlistentry> - -<varlistentry -><term ->Kopierar en fil.</term> -<listitem -><para ->copy(const KURL &url, const KURL &dest, int permissions, bool overwrite)</para -></listitem -></varlistentry> - -<varlistentry -><term ->Skapar en symbolisk länk.</term> -<listitem -><para ->void symlink(const QString &target, const KURL &dest, bool overwrite)</para -></listitem -></varlistentry> +<varlistentry><term>Levererar information om en fil, liknar C-funktionen stat().</term> +<listitem><para>void stat(const KURL &url)</para></listitem></varlistentry> + +<varlistentry><term>Ändrar åtkomsträttigheter för en fil.</term> +<listitem><para>void chmod(const KURL &url, int permissions)</para></listitem></varlistentry> + +<varlistentry><term>Avgör Mime-typ för en fil.</term> +<listitem><para>void mimetype(const KURL &url)</para></listitem></varlistentry> + +<varlistentry><term>Kopierar en fil.</term> +<listitem><para>copy(const KURL &url, const KURL &dest, int permissions, bool overwrite)</para></listitem></varlistentry> + +<varlistentry><term>Skapar en symbolisk länk.</term> +<listitem><para>void symlink(const QString &target, const KURL &dest, bool overwrite)</para></listitem></varlistentry> </variablelist> -<para ->Alla dessa implementationer ska sluta med ett av två anrop: Om åtgärden lyckades, ska de anropa <literal ->finished()</literal ->. Om ett fel uppstod, ska de anropa <literal ->error()</literal -> med en felkod som första argument och en sträng som andra. Möjliga felkoder listats som uppräkningstypen <type ->TDEIO::Error</type ->. Det andra argumentet är oftast webbadressen i fråga. Den används t.ex. i <function ->TDEIO::Job::showErrorDialog()</function -> för att parametrisera felmeddelandet som är läsbart av användaren. </para> - -<para ->För slavar som motsvarar nätverksprotokoll, kan det vara intressant att implementera om metoden <function ->SlaveBase::setHost()</function ->. Den anropas för att tala om för slavprocessen om värddator och port, och användarnamn och lösenord att använda för inloggning. I allmänhet kan metadata som anges av programmet hämtas med <function ->SlaveBase::metaData()</function ->. Du kan kontrollera om metadata med en viss nyckel finns med <function ->SlaveBase::hasMetaData()</function ->. </para> +<para>Alla dessa implementationer ska sluta med ett av två anrop: Om åtgärden lyckades, ska de anropa <literal>finished()</literal>. Om ett fel uppstod, ska de anropa <literal>error()</literal> med en felkod som första argument och en sträng som andra. Möjliga felkoder listats som uppräkningstypen <type>TDEIO::Error</type>. Det andra argumentet är oftast webbadressen i fråga. Den används t.ex. i <function>TDEIO::Job::showErrorDialog()</function> för att parametrisera felmeddelandet som är läsbart av användaren. </para> + +<para>För slavar som motsvarar nätverksprotokoll, kan det vara intressant att implementera om metoden <function>SlaveBase::setHost()</function>. Den anropas för att tala om för slavprocessen om värddator och port, och användarnamn och lösenord att använda för inloggning. I allmänhet kan metadata som anges av programmet hämtas med <function>SlaveBase::metaData()</function>. Du kan kontrollera om metadata med en viss nyckel finns med <function>SlaveBase::hasMetaData()</function>. </para> </simplesect> <simplesect id="nettransparency-communication"> -<title ->Kommunicera tillbaka till programmet</title> +<title>Kommunicera tillbaka till programmet</title> -<para ->Diverse åtgärder som implementeras i en slav, behöver något sätt att skicka tillbaka data till programmet som använder slavprocessen. </para> +<para>Diverse åtgärder som implementeras i en slav, behöver något sätt att skicka tillbaka data till programmet som använder slavprocessen. </para> <itemizedlist> -<listitem -><para -><function ->get()</function -> skickar datablock. Det görs med <function ->data()</function ->, som använder argumentet <classname ->QByteArray</classname ->. Du behöver förstås inte skicka all data på en gång. Om du skickar en stor fil, anropa <function ->data()</function -> med mindre datablock, så att programmet kan behandla dem. Anropa <function ->finished()</function -> när överföringen är klar. </para -></listitem> +<listitem><para><function>get()</function> skickar datablock. Det görs med <function>data()</function>, som använder argumentet <classname>QByteArray</classname>. Du behöver förstås inte skicka all data på en gång. Om du skickar en stor fil, anropa <function>data()</function> med mindre datablock, så att programmet kan behandla dem. Anropa <function>finished()</function> när överföringen är klar. </para></listitem> -<listitem -><para -><function ->listDir()</function -> rapporterar information om posterna i en katalog. Anropa <function ->listEntries()</function -> med en <classname ->TDEIO::UDSEntryList</classname -> som argument, för detta syfte. På motsvarande sätt som <function ->data()</function ->, kan du anropa den flera gånger. När du är klar, anropa <function ->listEntry()</function -> med andra argumentet satt till true. Du kan också anropa <function ->totalSize()</function -> för att rapportera totalt antal katalogposter, om det är känt. </para -></listitem> - -<listitem -><para -><function ->stat()</function -> rapporterar information om en fil, som storlek, Mime-typ, etc. Sådan information paketeras i en <classname ->TDEIO::UDSEntry</classname ->, som beskrivs nedan. Använd <function ->statEntry()</function -> för att skicka ett sådant objekt till programmet. </para -></listitem> - -<listitem -><para -><function ->mimetype()</function -> anropar <function ->mimeType()</function -> med ett strängargument. </para -></listitem> - -<listitem -><para -><function ->get()</function -> och <function ->copy()</function -> kan vilja tillhandahålla förloppsinformation. Det görs med metoderna <function ->totalSize()</function ->, <function ->processedSize()</function -> och <function ->speed()</function ->. Den totala storleken och behandlade storleken rapporteras som byte, och hastigheten som byte per sekund. </para -></listitem> - -<listitem -><para ->Du kan skicka godtyckliga nyckel/värdepar av metadata med <function ->setMetaData()</function ->. </para -></listitem> +<listitem><para><function>listDir()</function> rapporterar information om posterna i en katalog. Anropa <function>listEntries()</function> med en <classname>TDEIO::UDSEntryList</classname> som argument, för detta syfte. På motsvarande sätt som <function>data()</function>, kan du anropa den flera gånger. När du är klar, anropa <function>listEntry()</function> med andra argumentet satt till true. Du kan också anropa <function>totalSize()</function> för att rapportera totalt antal katalogposter, om det är känt. </para></listitem> + +<listitem><para><function>stat()</function> rapporterar information om en fil, som storlek, Mime-typ, etc. Sådan information paketeras i en <classname>TDEIO::UDSEntry</classname>, som beskrivs nedan. Använd <function>statEntry()</function> för att skicka ett sådant objekt till programmet. </para></listitem> + +<listitem><para><function>mimetype()</function> anropar <function>mimeType()</function> med ett strängargument. </para></listitem> + +<listitem><para><function>get()</function> och <function>copy()</function> kan vilja tillhandahålla förloppsinformation. Det görs med metoderna <function>totalSize()</function>, <function>processedSize()</function> och <function>speed()</function>. Den totala storleken och behandlade storleken rapporteras som byte, och hastigheten som byte per sekund. </para></listitem> + +<listitem><para>Du kan skicka godtyckliga nyckel/värdepar av metadata med <function>setMetaData()</function>. </para></listitem> </itemizedlist> @@ -3616,47 +1884,19 @@ int kdemain(int argc, char **argv) <simplesect id="nettransparency-interacting"> -<title ->Kommunikation med användaren</title> +<title>Kommunikation med användaren</title> -<para ->Ibland måste en slav kommunicera med användaren. Exempel kan vara informativa meddelanden, dialogrutor för behörighetskontroll och bekräftelsedialogrutor när en fil håller på att skrivas över. </para> +<para>Ibland måste en slav kommunicera med användaren. Exempel kan vara informativa meddelanden, dialogrutor för behörighetskontroll och bekräftelsedialogrutor när en fil håller på att skrivas över. </para> <itemizedlist> -<listitem -><para -><function ->infoMessage()</function ->: Det här är för informativ återmatning, som meddelandet "Hämtar data från <värddator>" från HTTP-slaven, som ofta visas i programmets statusrad. På programsidan, motsvarar metoden signalen <function ->TDEIO::Job::infoMessage()</function ->. </para -></listitem> - -<listitem -><para -><function ->warning()</function ->: Visar en varning i en meddelanderuta med <function ->KMessageBox::information()</function ->. Om en meddelanderuta fortfarande visas från ett tidigare anrop av warning() från samma underprocess, händer ingenting. </para -></listitem> - -<listitem -><para -><function ->messageBox()</function ->: Den här är utförligare än den tidigare metoden. Den tillåter att en meddelanderuta med text och rubrik och några knappar visas. Se uppräkningstypen <type ->SlaveBase::MessageBoxType</type -> som referens. </para -></listitem> - -<listitem -><para -><function ->openPassDlg()</function ->: Visar en dialogruta för att mata in användarnamn och lösenord. </para -></listitem> +<listitem><para><function>infoMessage()</function>: Det här är för informativ återmatning, som meddelandet "Hämtar data från <värddator>" från HTTP-slaven, som ofta visas i programmets statusrad. På programsidan, motsvarar metoden signalen <function>TDEIO::Job::infoMessage()</function>. </para></listitem> + +<listitem><para><function>warning()</function>: Visar en varning i en meddelanderuta med <function>KMessageBox::information()</function>. Om en meddelanderuta fortfarande visas från ett tidigare anrop av warning() från samma underprocess, händer ingenting. </para></listitem> + +<listitem><para><function>messageBox()</function>: Den här är utförligare än den tidigare metoden. Den tillåter att en meddelanderuta med text och rubrik och några knappar visas. Se uppräkningstypen <type>SlaveBase::MessageBoxType</type> som referens. </para></listitem> + +<listitem><para><function>openPassDlg()</function>: Visar en dialogruta för att mata in användarnamn och lösenord. </para></listitem> </itemizedlist> @@ -3669,8 +1909,7 @@ int kdemain(int argc, char **argv) <appendix id="misc"> -<title ->Licenser</title> +<title>Licenser</title> &underFDL; &underGPL; diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/adv-build-management.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/adv-build-management.docbook index 5a284b6d228..c6671626208 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/adv-build-management.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/adv-build-management.docbook @@ -1,172 +1,62 @@ <chapter id="adv-build-management"> -<title ->Avancerad bygghantering</title> -<indexterm zone="adv-build-management" -><primary ->&automake;</primary -></indexterm> +<title>Avancerad bygghantering</title> +<indexterm zone="adv-build-management"><primary>&automake;</primary></indexterm> <sect1 id="buildconfigurations"> -<title ->Flera bygginställningar</title> -<indexterm zone="buildconfigurations" -><primary ->bygginställningar</primary -><secondary ->flera</secondary -></indexterm> +<title>Flera bygginställningar</title> +<indexterm zone="buildconfigurations"><primary>bygginställningar</primary><secondary>flera</secondary></indexterm> -<para ->(...ännu inte skrivet...) </para> +<para>(...ännu inte skrivet...) </para> -</sect1 -> <!-- buildconfigurations --> +</sect1> <!-- buildconfigurations --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="crosscompiling"> -<title ->Korskompilering</title> -<indexterm zone="crosscompiling" -><primary ->korskompilera</primary -></indexterm> -<indexterm zone="crosscompiling" -><primary ->kompilera</primary -><secondary ->kors</secondary -></indexterm> -<indexterm zone="crosscompiling" -><primary -><option ->--host</option -></primary -></indexterm> - -<para ->Om du har lämpliga korskompilatorer tillgängliga, kan du kompilera dina program för processorer och operativsystem som skiljer sig från systemet där &tdevelop; och kompilatorn kör. &GNU;-kompilatorn, &gcc;, kan konfigureras och kompileras som en korskompilator om du kompilerar den själv. Rådfråga <ulink url="info://gcc/Cross-Compiler" ->GCC infosidorna</ulink -> för mer information. Vissa Linux-distributioner tillhandahåller också binärpaket. </para> - -<para ->Ett automake-baserat paket kan lätt korskompileras genom att ange väljaren <option ->--host</option -> till configure-skriptet och ställa in miljövariablerna <envar ->CC</envar -> och <envar ->CXX</envar -> till motsvarande korskompilatorer. Ofta vill du byta mellan en korskompilerad version av programmet, och en som kompilerats för utvecklingssystemet. För att göra det, är det en fördel att använda möjligheten i &tdevelop; att skapa flera byggkonfigurationer, som förklaras under <xref linkend="buildconfigurations"/>. När du har skapat en ny byggkonfiguration för korskompilering i dialogrutan <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektalternativ...</guimenuitem -></menuchoice ->, lägg till väljaren </para> - -<screen -><option ->--host=</option -><replaceable ->plattform</replaceable -></screen> - -<para ->till configure-väljarna. Värdet <replaceable ->plattform</replaceable -> är en kombination av formen </para> - -<programlisting ->cpu-tillverkare-operativsystem</programlisting> -<para ->eller</para> -<programlisting ->cpu-tillverkare-kärna-operativsystem</programlisting> - -<para ->För många kombinationer kan du använda en kortform, till exempel <wordasword ->i386-linux</wordasword -> eller <wordasword ->arm-elf</wordasword ->. </para> - -</sect1 -> <!-- crosscompiling --> +<title>Korskompilering</title> +<indexterm zone="crosscompiling"><primary>korskompilera</primary></indexterm> +<indexterm zone="crosscompiling"><primary>kompilera</primary><secondary>kors</secondary></indexterm> +<indexterm zone="crosscompiling"><primary><option>--host</option></primary></indexterm> + +<para>Om du har lämpliga korskompilatorer tillgängliga, kan du kompilera dina program för processorer och operativsystem som skiljer sig från systemet där &tdevelop; och kompilatorn kör. &GNU;-kompilatorn, &gcc;, kan konfigureras och kompileras som en korskompilator om du kompilerar den själv. Rådfråga <ulink url="info://gcc/Cross-Compiler">GCC infosidorna</ulink> för mer information. Vissa Linux-distributioner tillhandahåller också binärpaket. </para> + +<para>Ett automake-baserat paket kan lätt korskompileras genom att ange väljaren <option>--host</option> till configure-skriptet och ställa in miljövariablerna <envar>CC</envar> och <envar>CXX</envar> till motsvarande korskompilatorer. Ofta vill du byta mellan en korskompilerad version av programmet, och en som kompilerats för utvecklingssystemet. För att göra det, är det en fördel att använda möjligheten i &tdevelop; att skapa flera byggkonfigurationer, som förklaras under <xref linkend="buildconfigurations"/>. När du har skapat en ny byggkonfiguration för korskompilering i dialogrutan <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektalternativ...</guimenuitem></menuchoice>, lägg till väljaren </para> + +<screen><option>--host=</option><replaceable>plattform</replaceable></screen> + +<para>till configure-väljarna. Värdet <replaceable>plattform</replaceable> är en kombination av formen </para> + +<programlisting>cpu-tillverkare-operativsystem</programlisting> +<para>eller</para> +<programlisting>cpu-tillverkare-kärna-operativsystem</programlisting> + +<para>För många kombinationer kan du använda en kortform, till exempel <wordasword>i386-linux</wordasword> eller <wordasword>arm-elf</wordasword>. </para> + +</sect1> <!-- crosscompiling --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="qtembedded"> -<title ->Qt/Embedded</title> -<indexterm zone="qtembedded" -><primary ->inbäddad</primary -><secondary ->Qt</secondary -></indexterm> -<indexterm zone="qtembedded" -><primary ->Qt/Embedded</primary -></indexterm> -<indexterm zone="qtembedded" -><primary ->Qtopia</primary -></indexterm> -<indexterm zone="qtembedded" -><primary ->rambuffer</primary -></indexterm> - -<para ->&qte; är en version av &Qt;-biblioteket som inte använder X-window systemet, utan ritar direkt i rambuffern på Linuxsystem. Den är därför intressant för inbäddade system som har hårda begränsningar för minnesanvändningen i hela systemet. Dess programmeringsgränssnitt överensstämmer fullständigt med X11-versionen. </para> - -<para ->Att utveckla ett program för &qte; med &tdevelop; skiljer sig inte mycket från att utveckla ett program för X11-versionen av &Qt;. I själva verket kan du använda samma grundkod för båda versionerna. Om du använder projekthantering med autoprojekt, kan du byta till den inbäddade versionen genom att skicka väljaren <option ->--enable-embedded</option -> till configure-skriptet. Du kan ställa in det i dialogrutan <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar...</guimenuitem -></menuchoice -> under <guilabel ->Inställning av configure</guilabel ->. Med väljaren <option ->--with-qt-dir=KATALOG</option ->, kan du ställa in katalogen där &qte; är installerad. </para> - -<para ->Efter att ha konfigurerat och kompilerat programmet med dessa väljare, länkas det med biblioteket <filename ->libqpe.so</filename ->. Den här versionen av programmet kör inte normalt när du använder X11. För att prova den, kör den med hjälp av programmet <application ->tqvfb</application -> (Qt:s virtuella rambuffer). Det görs genom att starta <application ->tqvfb</application -> och därefter starta programmet med </para> - -<screen -><command> -program <option ->-qws</option -> <option ->-display QVFb:0</option> -</command -></screen> - -<para ->När du har en version av programmet som fungerar, vill du naturligtvis använda den på målprocessorn. Det kan troligen vara bekvämt att kunna skapa flera byggkonfigurationer, som förklaras ovan, så att du snabbt kan byta mellan versionen som kör på utvecklingssystemet och versionen som kör på målsystemet. </para> - -<para ->Program för &qte; kör normalt som enkla program på enheten de är konstruerade för. Trolltech stöder också Qtopia, som är en samling program för personlig information, webbläsning och diverse andra områden som fungerar tillsammans på ett konsekvent sätt. Det är till exempel standardomgivningen på Sharp Zaurus. Du kan skriva program som passar in i denna omgivning genom att använda Qtopias utvecklingsmiljö (SDK). Det medför att ditt program måste vara en delklass till <classname ->QPEApplication</classname -> och det måste länkas med biblioteket <filename ->libqpe.so</filename ->. Om du utvecklar programmet med projekthanteringen autoprojekt, måste du lägga till <option ->--enable-qtopia</option -> till konfigurationsväljarna. </para> - -</sect1 -> <!-- qtembedded --> - -</chapter -> <!-- adv-build-management --> +<title>Qt/Embedded</title> +<indexterm zone="qtembedded"><primary>inbäddad</primary><secondary>Qt</secondary></indexterm> +<indexterm zone="qtembedded"><primary>Qt/Embedded</primary></indexterm> +<indexterm zone="qtembedded"><primary>Qtopia</primary></indexterm> +<indexterm zone="qtembedded"><primary>rambuffer</primary></indexterm> + +<para>&qte; är en version av &Qt;-biblioteket som inte använder X-window systemet, utan ritar direkt i rambuffern på Linuxsystem. Den är därför intressant för inbäddade system som har hårda begränsningar för minnesanvändningen i hela systemet. Dess programmeringsgränssnitt överensstämmer fullständigt med X11-versionen. </para> + +<para>Att utveckla ett program för &qte; med &tdevelop; skiljer sig inte mycket från att utveckla ett program för X11-versionen av &Qt;. I själva verket kan du använda samma grundkod för båda versionerna. Om du använder projekthantering med autoprojekt, kan du byta till den inbäddade versionen genom att skicka väljaren <option>--enable-embedded</option> till configure-skriptet. Du kan ställa in det i dialogrutan <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar...</guimenuitem></menuchoice> under <guilabel>Inställning av configure</guilabel>. Med väljaren <option>--with-qt-dir=KATALOG</option>, kan du ställa in katalogen där &qte; är installerad. </para> + +<para>Efter att ha konfigurerat och kompilerat programmet med dessa väljare, länkas det med biblioteket <filename>libqpe.so</filename>. Den här versionen av programmet kör inte normalt när du använder X11. För att prova den, kör den med hjälp av programmet <application>tqvfb</application> (Qt:s virtuella rambuffer). Det görs genom att starta <application>tqvfb</application> och därefter starta programmet med </para> + +<screen><command> +program <option>-qws</option> <option>-display QVFb:0</option> +</command></screen> + +<para>När du har en version av programmet som fungerar, vill du naturligtvis använda den på målprocessorn. Det kan troligen vara bekvämt att kunna skapa flera byggkonfigurationer, som förklaras ovan, så att du snabbt kan byta mellan versionen som kör på utvecklingssystemet och versionen som kör på målsystemet. </para> + +<para>Program för &qte; kör normalt som enkla program på enheten de är konstruerade för. Trolltech stöder också Qtopia, som är en samling program för personlig information, webbläsning och diverse andra områden som fungerar tillsammans på ett konsekvent sätt. Det är till exempel standardomgivningen på Sharp Zaurus. Du kan skriva program som passar in i denna omgivning genom att använda Qtopias utvecklingsmiljö (SDK). Det medför att ditt program måste vara en delklass till <classname>QPEApplication</classname> och det måste länkas med biblioteket <filename>libqpe.so</filename>. Om du utvecklar programmet med projekthanteringen autoprojekt, måste du lägga till <option>--enable-qtopia</option> till konfigurationsväljarna. </para> + +</sect1> <!-- qtembedded --> + +</chapter> <!-- adv-build-management --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/app-changelog.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/app-changelog.docbook index 75eaac393cc..9fc215eb531 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/app-changelog.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/app-changelog.docbook @@ -1,21 +1,16 @@ <appendix id="app-changelog"> -<title ->Ändringar</title> +<title>Ändringar</title> <sect1 id="changes"> -<title ->Ändringar i dokumentet</title> +<title>Ändringar i dokumentet</title> <itemizedlist> <listitem> - <para ->2003-01-03 Bernd Gehrmann, Caleb Tennis <itemizedlist> + <para>2003-01-03 Bernd Gehrmann, Caleb Tennis <itemizedlist> <listitem> - <para ->ursprunglig layout av handbok</para> + <para>ursprunglig layout av handbok</para> </listitem> <listitem> - <para ->disposition för innehållet i många kapitel</para> + <para>disposition för innehållet i många kapitel</para> </listitem> </itemizedlist> </para> @@ -23,67 +18,49 @@ <listitem> - <para ->2004-08-01 Bernd Pol, Ian Wadham <itemizedlist> + <para>2004-08-01 Bernd Pol, Ian Wadham <itemizedlist> <listitem> - <para ->handboken något omorganiserad</para> + <para>handboken något omorganiserad</para> </listitem> <listitem> - <para ->några saknade kapitel skrivna</para> + <para>några saknade kapitel skrivna</para> </listitem> </itemizedlist> </para> </listitem> <listitem> - <para ->2005-05-02 Volker Paul — Många ändringar, inklusive: <itemizedlist> + <para>2005-05-02 Volker Paul — Många ändringar, inklusive: <itemizedlist> <listitem> - <para ->delad i en fil per kapitel och appendix</para> + <para>delad i en fil per kapitel och appendix</para> </listitem> <listitem> - <para ->tillägg av kommandoreferens sorterad enligt meny (beskrivningar ännu inte fullständiga)</para> + <para>tillägg av kommandoreferens sorterad enligt meny (beskrivningar ännu inte fullständiga)</para> </listitem> <listitem> - <para ->handledning för programguiden i getting-started.docbook</para> + <para>handledning för programguiden i getting-started.docbook</para> </listitem> <listitem> - <para ->omorganisering av kapitel, inspirerad av Konquerors handbok</para> + <para>omorganisering av kapitel, inspirerad av Konquerors handbok</para> </listitem> <listitem> - <para ->flyttade Installation, Utveckling på Unix, <quote ->I korthet</quote -> till appendix</para> + <para>flyttade Installation, Utveckling på Unix, <quote>I korthet</quote> till appendix</para> </listitem> <listitem> - <para ->skrev om appendix om insticksprogram, inklusive generering av insticksprogramlista med listplugins.sh</para> + <para>skrev om appendix om insticksprogram, inklusive generering av insticksprogramlista med listplugins.sh</para> </listitem> </itemizedlist> </para> - <para ->Fortfarande långt ifrån komplett, men ett litet steg framåt.</para> + <para>Fortfarande långt ifrån komplett, men ett litet steg framåt.</para> </listitem> <listitem> - <para ->2006-05-20 Bernd Pol — Fyllde i några flera hål med <quote ->ännu inte skrivet</quote ->:</para> + <para>2006-05-20 Bernd Pol — Fyllde i några flera hål med <quote>ännu inte skrivet</quote>:</para> </listitem> </itemizedlist> -</sect1 -> <!-- changes --> -</appendix -> <!-- app-changelog --> +</sect1> <!-- changes --> +</appendix> <!-- app-changelog --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/app-files.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/app-files.docbook index 2bd9ea2faf0..7d2591939b4 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/app-files.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/app-files.docbook @@ -5,1680 +5,387 @@ <appendixinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </appendixinfo> -<title ->Inställningsfiler som används av &tdevelop;</title> +<title>Inställningsfiler som används av &tdevelop;</title> -<para ->&tdevelop; använder en uppsättning inställningsfiler som är fördelade bland flera kataloger. Det finns två huvudgrupper med inställningsfiler att skilja på: </para> +<para>&tdevelop; använder en uppsättning inställningsfiler som är fördelade bland flera kataloger. Det finns två huvudgrupper med inställningsfiler att skilja på: </para> <simplelist> - <member -><link linkend="app-files-default" ->&tdevelop; standardinställningar</link ->: Filer som ställdes in när &tdevelop; installerades. </member> - <member -><link linkend="app-files-user" ->Användarorienterade inställningar</link ->: Filer som innehåller användarändringar av standardvärden samt inställningar som gjorts av själva &tdevelop;-programmet och dess insticksprogram. </member> + <member><link linkend="app-files-default">&tdevelop; standardinställningar</link>: Filer som ställdes in när &tdevelop; installerades. </member> + <member><link linkend="app-files-user">Användarorienterade inställningar</link>: Filer som innehåller användarändringar av standardvärden samt inställningar som gjorts av själva &tdevelop;-programmet och dess insticksprogram. </member> </simplelist> <sect1 id="app-files-default"> -<title ->&tdevelop; standardinställningar</title> +<title>&tdevelop; standardinställningar</title> -<para ->Vid installation skriver &tdevelop; några standardinformationsfiler i inställnings- och konfigurationssyfte till underkataloger i installationskatalogen <filename class="directory" ->$<envar ->TDEDIR</envar -></filename -> (oftast något som liknar <filename class="directory" ->/opt/kde</filename ->, <filename class="directory" ->/usr/local/kde</filename -> eller en annan användardefinierad installationskatalog, se <link linkend="tdevelop-install" ->Installera &tdevelop;</link ->). </para> +<para>Vid installation skriver &tdevelop; några standardinformationsfiler i inställnings- och konfigurationssyfte till underkataloger i installationskatalogen <filename class="directory">$<envar>TDEDIR</envar></filename> (oftast något som liknar <filename class="directory">/opt/kde</filename>, <filename class="directory">/usr/local/kde</filename> eller en annan användardefinierad installationskatalog, se <link linkend="tdevelop-install">Installera &tdevelop;</link>). </para> <sect2 id="app-files-default-config"> -<title ->Standard &tdevelop;-inställningar</title> +<title>Standard &tdevelop;-inställningar</title> -<para ->Det finns bara en &tdevelop;-specifik standardinställningsfil i katalogen <filename class="directory" ->$<envar ->TDEDIR</envar ->/share/config</filename ->: </para> +<para>Det finns bara en &tdevelop;-specifik standardinställningsfil i katalogen <filename class="directory">$<envar>TDEDIR</envar>/share/config</filename>: </para> <variablelist> <varlistentry> - <term -><filename ->tdeveloprc</filename -></term> - <listitem -><para ->Filen innehåller de grundläggande inställningarna som &tdevelop; behöver för att starta. Den kopieras till användarens katalog <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/config</filename -> när &tdevelop; inte hittar filen <filename ->tdeveloprc</filename -> där vid start. </para -></listitem> + <term><filename>tdeveloprc</filename></term> + <listitem><para>Filen innehåller de grundläggande inställningarna som &tdevelop; behöver för att starta. Den kopieras till användarens katalog <filename class="directory">$<envar>TDEHOME</envar>/share/config</filename> när &tdevelop; inte hittar filen <filename>tdeveloprc</filename> där vid start. </para></listitem> </varlistentry> </variablelist> -</sect2 -> <!-- app-files-default-config --> +</sect2> <!-- app-files-default-config --> <sect2 id="app-files-default-apps"> -<title ->Programspecifika standardvärden</title> +<title>Programspecifika standardvärden</title> -<para ->De flesta &tdevelop; funktioner tillhandahålls av delprogram. De är egentligen program som är särskilt konstruerade att köra i &tdevelop;s ramverk (se översikten i appendix <link linkend="plugin-tools" ->Insticksverktyg</link ->). Varje delprogram har sin egen uppsättning med inställningsfiler vars standardvärden lagras i flera underkataloger i installationskatalogen <filename class="directory" ->$<envar ->TDEDIR</envar ->/share/apps/</filename ->. </para> +<para>De flesta &tdevelop; funktioner tillhandahålls av delprogram. De är egentligen program som är särskilt konstruerade att köra i &tdevelop;s ramverk (se översikten i appendix <link linkend="plugin-tools">Insticksverktyg</link>). Varje delprogram har sin egen uppsättning med inställningsfiler vars standardvärden lagras i flera underkataloger i installationskatalogen <filename class="directory">$<envar>TDEDIR</envar>/share/apps/</filename>. </para> -<para ->Det finns en hel mängd underkataloger för standardinställningar i <filename class="directory" ->$<envar ->TDEDIR</envar ->/share/apps/</filename -> med namn som börjar med bokstavsföljden <filename ->kdev</filename ->. De flesta av dem är bara till för &tdevelop;s interna användning. De kan vara avsiktligt grupperade för läsbarhet som: <simplelist> - <member -><link linkend="app-files-default-apps-stdalone" ->Fristående program</link -></member> - <member -><link linkend="app-files-default-apps-task" ->Aktivitetsspecifika delprogram</link -></member> - <member -><link linkend="app-files-default-apps-project" ->Delprogram för att skapa projekt</link -></member> - <member -><link linkend="app-files-default-apps-lang" ->Språkspecifika delprogram</link -></member> +<para>Det finns en hel mängd underkataloger för standardinställningar i <filename class="directory">$<envar>TDEDIR</envar>/share/apps/</filename> med namn som börjar med bokstavsföljden <filename>kdev</filename>. De flesta av dem är bara till för &tdevelop;s interna användning. De kan vara avsiktligt grupperade för läsbarhet som: <simplelist> + <member><link linkend="app-files-default-apps-stdalone">Fristående program</link></member> + <member><link linkend="app-files-default-apps-task">Aktivitetsspecifika delprogram</link></member> + <member><link linkend="app-files-default-apps-project">Delprogram för att skapa projekt</link></member> + <member><link linkend="app-files-default-apps-lang">Språkspecifika delprogram</link></member> </simplelist> </para> <itemizedlist> - <listitem id="app-files-default-apps-stdalone" -><itemizedlist> - <title ->Fristående program</title> + <listitem id="app-files-default-apps-stdalone"><itemizedlist> + <title>Fristående program</title> <listitem> - <para -><filename class="directory" ->tdevelop/</filename ->: Innehåller filer för att anpassa &tdevelop;s integrerade utvecklingsmiljö.</para> + <para><filename class="directory">tdevelop/</filename>: Innehåller filer för att anpassa &tdevelop;s integrerade utvecklingsmiljö.</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->licenses/</filename ->: Innehåller diverse licenstexter.</para -></listitem> - <listitem -><para -><filename class="directory" ->pics/</filename ->: Innehåller bildfilerna som används av startskärmarna i &tdevelop;, &tdevelop; assistent och &tdevelop; designer.</para -></listitem> - <listitem -><para -><filename class="directory" ->profiles/</filename ->: Innehåller standardprofilinställningar för insticksprogram. (För närvarande finns det bara en profil <filename ->tiny</filename ->, som definierar en minimal uppsättning aktiva insticksprogram i &tdevelop;.)</para -></listitem> - <listitem -><para -><filename ->eventsrc</filename ->: Innehåller en mängd lokaliseringssträngar för <quote ->Processen lyckades</quote ->.</para -></listitem> - <listitem -><para -><filename ->tdevelopui.rc</filename ->: Tillhandahåller de grundläggande menyalternativen och verktygsradsikonerna som &tdevelop; använder.</para -></listitem> - <listitem -><para -><filename ->kdevhtml_partui.rc</filename ->: Tillhandahåller alternativet <guimenuitem ->Skriv ut...</guimenuitem -> i menyn <guimenu ->Arkiv</guimenu ->, alternativet <guimenuitem ->Kopiera</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->, och pilarna <guilabel ->Tillbaka</guilabel -> och <guilabel ->Framåt</guilabel -> i verktygsraden <guilabel ->Bläddra</guilabel -> vid bläddring i en HTML-fil från insticksprogrammet <guilabel ->Dokumentation</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">licenses/</filename>: Innehåller diverse licenstexter.</para></listitem> + <listitem><para><filename class="directory">pics/</filename>: Innehåller bildfilerna som används av startskärmarna i &tdevelop;, &tdevelop; assistent och &tdevelop; designer.</para></listitem> + <listitem><para><filename class="directory">profiles/</filename>: Innehåller standardprofilinställningar för insticksprogram. (För närvarande finns det bara en profil <filename>tiny</filename>, som definierar en minimal uppsättning aktiva insticksprogram i &tdevelop;.)</para></listitem> + <listitem><para><filename>eventsrc</filename>: Innehåller en mängd lokaliseringssträngar för <quote>Processen lyckades</quote>.</para></listitem> + <listitem><para><filename>tdevelopui.rc</filename>: Tillhandahåller de grundläggande menyalternativen och verktygsradsikonerna som &tdevelop; använder.</para></listitem> + <listitem><para><filename>kdevhtml_partui.rc</filename>: Tillhandahåller alternativet <guimenuitem>Skriv ut...</guimenuitem> i menyn <guimenu>Arkiv</guimenu>, alternativet <guimenuitem>Kopiera</guimenuitem> i menyn <guimenu>Redigera</guimenu>, och pilarna <guilabel>Tillbaka</guilabel> och <guilabel>Framåt</guilabel> i verktygsraden <guilabel>Bläddra</guilabel> vid bläddring i en HTML-fil från insticksprogrammet <guilabel>Dokumentation</guilabel>.</para></listitem> </itemizedlist> </listitem> - <listitem -><para -><filename class="directory" ->kdevassistant/</filename ->: Tillhandahåller menyer och verktygsrader för den fristående dokumentationsbläddraren, &tdevelop; assistent.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevdesigner/</filename -> och <filename class="directory" ->kdevdesignerpart/</filename ->: Tillhandahåller menyer och verktygsrader i det fristående programmet för konstruktion av användargränssnitt, &tdevelop; designer.</para -></listitem> - </itemizedlist -></listitem> + <listitem><para><filename class="directory">kdevassistant/</filename>: Tillhandahåller menyer och verktygsrader för den fristående dokumentationsbläddraren, &tdevelop; assistent.</para></listitem> + <listitem><para><filename class="directory">kdevdesigner/</filename> och <filename class="directory">kdevdesignerpart/</filename>: Tillhandahåller menyer och verktygsrader i det fristående programmet för konstruktion av användargränssnitt, &tdevelop; designer.</para></listitem> + </itemizedlist></listitem> - <listitem -><itemizedlist id="app-files-default-apps-task"> - <title ->Aktivitetsspecifika delprogram</title> + <listitem><itemizedlist id="app-files-default-apps-task"> + <title>Aktivitetsspecifika delprogram</title> <listitem id="app-files-default-abbrev"> - <para -><filename class="directory" ->kdevabbrev/</filename ->: Innehåller filer som används av insticksprogrammet <guilabel ->Expansion av förkortningar</guilabel ->:</para> + <para><filename class="directory">kdevabbrev/</filename>: Innehåller filer som används av insticksprogrammet <guilabel>Expansion av förkortningar</guilabel>:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->sources/</filename ->: Innehåller definitionsfiler av nyckelord som används av kommandot <guilabel ->Expandera text</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->templates/</filename ->: Innehåller definitionsfiler för mallar som används av kommandot <guilabel ->Expandera förkortningar</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->kdevabbrev.rc</filename ->: Tillhandahåller alternativen <guimenuitem ->Expandera text</guimenuitem -> och <guimenuitem ->Expandera förkortning</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->.</para -></listitem> + <listitem><para><filename class="directory">sources/</filename>: Innehåller definitionsfiler av nyckelord som används av kommandot <guilabel>Expandera text</guilabel>.</para></listitem> + <listitem><para><filename class="directory">templates/</filename>: Innehåller definitionsfiler för mallar som används av kommandot <guilabel>Expandera förkortningar</guilabel>.</para></listitem> + <listitem><para><filename>kdevabbrev.rc</filename>: Tillhandahåller alternativen <guimenuitem>Expandera text</guimenuitem> och <guimenuitem>Expandera förkortning</guimenuitem> i menyn <guimenu>Redigera</guimenu>.</para></listitem> </itemizedlist> </listitem> <listitem id="app-files-default-appwizard"> - <para -><filename class="directory" ->kdevappwizard/</filename ->: Innehåller filer som används av delprogrammet Programguide:</para> + <para><filename class="directory">kdevappwizard/</filename>: Innehåller filer som används av delprogrammet Programguide:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->importfiles/</filename ->: Innehåller <filename ->.tdevelop</filename ->-projektfiler som styr initieringen av ett nytt projekt.</para -></listitem> - <listitem -><para -><filename class="directory" ->imports/</filename ->: Innehåller mallar för att skapa projektspecifika <filename ->.desktop</filename ->-filer.</para -></listitem> - <listitem -><para -><filename class="directory" ->template-common/</filename ->: Innehåller diverse filer som ofta ingår i projektets källkataloger.</para -></listitem> - <listitem -><para -><filename class="directory" ->templates/</filename ->: Innehåller inställningsfiler som beskriver informationen som ska ingå i ett givet projekts källkatalog.</para -></listitem> - <listitem -><para -><filename ->*.png</filename ->: Förhandsgranskningsbilder av projekt som används av programguiden.</para -></listitem> - <listitem -><para -><filename ->*.tar.gz</filename ->: komprimerade arkiv som innehåller källkodsfiler som ska ingå i en nyskapad projektkatalog.</para -></listitem> + <listitem><para><filename class="directory">importfiles/</filename>: Innehåller <filename>.tdevelop</filename>-projektfiler som styr initieringen av ett nytt projekt.</para></listitem> + <listitem><para><filename class="directory">imports/</filename>: Innehåller mallar för att skapa projektspecifika <filename>.desktop</filename>-filer.</para></listitem> + <listitem><para><filename class="directory">template-common/</filename>: Innehåller diverse filer som ofta ingår i projektets källkataloger.</para></listitem> + <listitem><para><filename class="directory">templates/</filename>: Innehåller inställningsfiler som beskriver informationen som ska ingå i ett givet projekts källkatalog.</para></listitem> + <listitem><para><filename>*.png</filename>: Förhandsgranskningsbilder av projekt som används av programguiden.</para></listitem> + <listitem><para><filename>*.tar.gz</filename>: komprimerade arkiv som innehåller källkodsfiler som ska ingå i en nyskapad projektkatalog.</para></listitem> </itemizedlist> </listitem> - <listitem -><para -><filename class="directory" ->kdevastyle/</filename ->: Tillhandahåller alternativet <guimenuitem ->Formatera om källkod</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevautoproject/</filename ->: Tillhandahåller de flesta alternativen för menyn <guimenu ->Bygg</guimenu -> och verktygsraden <guilabel ->Bygg</guilabel -> (&tdevelop;).</para -></listitem> + <listitem><para><filename class="directory">kdevastyle/</filename>: Tillhandahåller alternativet <guimenuitem>Formatera om källkod</guimenuitem> i menyn <guimenu>Redigera</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevautoproject/</filename>: Tillhandahåller de flesta alternativen för menyn <guimenu>Bygg</guimenu> och verktygsraden <guilabel>Bygg</guilabel> (&tdevelop;).</para></listitem> <listitem> - <para -><filename class="directory" ->kdevclassview/</filename ->: Innehåller filer som används av projektinsticksprogrammet <guilabel ->Klassvisning</guilabel ->:</para> + <para><filename class="directory">kdevclassview/</filename>: Innehåller filer som används av projektinsticksprogrammet <guilabel>Klassvisning</guilabel>:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->pics/</filename ->: Innehåller ikonerna som används i klassvisningsträdet <guilabel ->Klasser</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->kdevclassview.tc</filename ->: Tillhandahåller alternativet <guimenuitem ->Arvdiagram för klasser</guimenuitem -> i menyn <guimenu ->Projekt</guimenu -> samt kombinationsrutan för klassnavigering i <guilabel ->Bläddringsverktygsraden</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">pics/</filename>: Innehåller ikonerna som används i klassvisningsträdet <guilabel>Klasser</guilabel>.</para></listitem> + <listitem><para><filename>kdevclassview.tc</filename>: Tillhandahåller alternativet <guimenuitem>Arvdiagram för klasser</guimenuitem> i menyn <guimenu>Projekt</guimenu> samt kombinationsrutan för klassnavigering i <guilabel>Bläddringsverktygsraden</guilabel>.</para></listitem> </itemizedlist> </listitem> - <listitem -><para -><filename class="directory" ->kdevcloser/</filename ->: Tillhandahåller stängningsalternativen i menyn <guimenu ->Fönster</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevctags/</filename ->: Tillhandahåller alternativet <guimenuitem ->Ctags</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> för projektinsticksprogrammet <guilabel ->Ctags-gränssnitt</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevcvsservice/</filename ->: Tillhandahåller ikonen som används av fliken <guilabel ->CVS-tjänst</guilabel -> och ett kort skalskript för att lägga till en ny post i &cvs;-arkivet, som båda används av projektinsticksprogrammet <guilabel ->Integrering av CVS</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevdebugger/</filename ->: Tillhandahåller menyalternativen under <guimenu ->Avlusa</guimenu -> för projektinsticksprogrammet <guilabel ->Gränssnitt för avlusare</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevdiff/</filename ->: Tillhandahåller alternativet <guimenuitem ->Visning av skillnader</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevdistpart/</filename ->: Tillhandahåller alternativet <guimenuitem ->Distribution och publicering</guimenuitem -> i menyn <guimenu ->Projekt</guimenu -> för projektinsticksprogrammet <guilabel ->Stöd för slutpaketering</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">kdevcloser/</filename>: Tillhandahåller stängningsalternativen i menyn <guimenu>Fönster</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevctags/</filename>: Tillhandahåller alternativet <guimenuitem>Ctags</guimenuitem> i menyn <guimenu>Verktyg</guimenu> för projektinsticksprogrammet <guilabel>Ctags-gränssnitt</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevcvsservice/</filename>: Tillhandahåller ikonen som används av fliken <guilabel>CVS-tjänst</guilabel> och ett kort skalskript för att lägga till en ny post i &cvs;-arkivet, som båda används av projektinsticksprogrammet <guilabel>Integrering av CVS</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevdebugger/</filename>: Tillhandahåller menyalternativen under <guimenu>Avlusa</guimenu> för projektinsticksprogrammet <guilabel>Gränssnitt för avlusare</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevdiff/</filename>: Tillhandahåller alternativet <guimenuitem>Visning av skillnader</guimenuitem> i menyn <guimenu>Verktyg</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevdistpart/</filename>: Tillhandahåller alternativet <guimenuitem>Distribution och publicering</guimenuitem> i menyn <guimenu>Projekt</guimenu> för projektinsticksprogrammet <guilabel>Stöd för slutpaketering</guilabel>.</para></listitem> <listitem id="app-files-default-kdevdoc"> - <para -><filename class="directory" ->kdevdocumentation/</filename ->: Innehåller filer som används av insticksprogrammet <guilabel ->Dokumentation</guilabel ->:</para> + <para><filename class="directory">kdevdocumentation/</filename>: Innehåller filer som används av insticksprogrammet <guilabel>Dokumentation</guilabel>:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->en/</filename -> och <filename class="directory" ->pics/</filename ->: Innehåller filer som används av sökverktyget <application ->htdig</application ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->tocs/</filename ->: Innehåller innehållsbeskrivningsfiler för &tdevelop;s standarddokumentation (se beskrivningen i <link linkend="toc-file-structure" ->Grundstruktur för &tdevelop; innehållsförteckningsfiler</link ->).</para -></listitem> - <listitem -><para -><filename ->kdevpart_documentation.rc</filename ->: Tillhandahåller sökrelaterade alternativ i menyn <guimenu ->Hjälp</guimenu ->.</para -></listitem> + <listitem><para><filename class="directory">en/</filename> och <filename class="directory">pics/</filename>: Innehåller filer som används av sökverktyget <application>htdig</application>.</para></listitem> + <listitem><para><filename class="directory">tocs/</filename>: Innehåller innehållsbeskrivningsfiler för &tdevelop;s standarddokumentation (se beskrivningen i <link linkend="toc-file-structure">Grundstruktur för &tdevelop; innehållsförteckningsfiler</link>).</para></listitem> + <listitem><para><filename>kdevpart_documentation.rc</filename>: Tillhandahåller sökrelaterade alternativ i menyn <guimenu>Hjälp</guimenu>.</para></listitem> </itemizedlist> </listitem> - <listitem -><para -><filename class="directory" ->kdevdoxygen/</filename ->: Tillhandahåller menyalternativ för projektinsticksprogrammet <guilabel ->Doxygen-stöd</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">kdevdoxygen/</filename>: Tillhandahåller menyalternativ för projektinsticksprogrammet <guilabel>Doxygen-stöd</guilabel>.</para></listitem> <listitem id="app-files-default-filecreate"> - <para -><filename class="directory" ->kdevfilecreate/</filename ->: Innehåller filer som används av <guilabel ->Guide för ny fil</guilabel ->: <itemizedlist> - <listitem -><para -><filename class="directory" ->file-templates/</filename ->: Tillhandahåller det ursprungliga textinnehållet som ska infogas i en ny källkodsfil av en given typ.</para -></listitem> - <listitem -><para -><filename ->kdevpart_filecreate.rc</filename ->: Tillhandahåller alternativet <guimenuitem ->Ny</guimenuitem -> i menyn <guimenu ->Arkiv</guimenu ->.</para -></listitem> - <listitem -><para -><filename ->template-info.xml</filename ->: Innehåller beskrivningar av de tillgängliga filtyperna som ska visas i verktygsvyn <guilabel ->Ny fil</guilabel ->.</para -></listitem> + <para><filename class="directory">kdevfilecreate/</filename>: Innehåller filer som används av <guilabel>Guide för ny fil</guilabel>: <itemizedlist> + <listitem><para><filename class="directory">file-templates/</filename>: Tillhandahåller det ursprungliga textinnehållet som ska infogas i en ny källkodsfil av en given typ.</para></listitem> + <listitem><para><filename>kdevpart_filecreate.rc</filename>: Tillhandahåller alternativet <guimenuitem>Ny</guimenuitem> i menyn <guimenu>Arkiv</guimenu>.</para></listitem> + <listitem><para><filename>template-info.xml</filename>: Innehåller beskrivningar av de tillgängliga filtyperna som ska visas i verktygsvyn <guilabel>Ny fil</guilabel>.</para></listitem> </itemizedlist> - </para -></listitem> - <listitem -><para -><filename class="directory" ->kdevfilter/</filename ->: Tillhandahåller alternativen <guimenuitem ->Kör kommando...</guimenuitem -> och <guimenuitem ->Filtrera markering genom kommando...</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Skalfiltrering och infogning</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevfullscreen/</filename ->: Tillhandahåller alternativet <guimenuitem ->Fullskärmsläge</guimenuitem -> i menyn <guimenu ->Visa</guimenu -> och motsvarande ikon i verktygsraden.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevgrepview/</filename ->: Tillhandahåller alternativet <guimenuitem ->Sök i filer</guimenuitem -> i menyn <guimenu ->Redigera</guimenu -> som används av insticksprogrammet <guilabel ->Gränssnitt till grep</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevhistory/</filename ->: Tillhandahåller alternativen <guimenuitem ->Tillbaka</guimenuitem -> och <guimenuitem ->Framåt</guimenuitem -> i menyn <guimenu ->Visa</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevjavadebugger/</filename ->: Tillhandahåller menyn <guimenu ->Avlusa Java</guimenu -> för att avlusa ett &Java;-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevoutputviews/</filename ->: Tillhandahåller alternativen <guimenuitem ->Nästa fel</guimenuitem -> och <guimenuitem ->Föregående fel</guimenuitem -> i menyn <guimenu ->Visa</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevpartexplorer/</filename ->: Tillhandahåller alternativet <guimenuitem ->Delutforskare</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Delutforskningsverktyg</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevquickopen/</filename ->: Tillhandahåller alternativet <guimenuitem ->Snabböppna fil...</guimenuitem -> i menyn <guimenu ->Arkiv</guimenu -> samt alternativen <guimenuitem ->Snabböppna klass...</guimenuitem -> och <guimenuitem ->Snabböppna metod</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av projektinsticksprogrammet <guilabel ->Snabböppna</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevregexptest/</filename ->: Tillhandahåller alternativet <guimenuitem ->Avlusa reguljärt uttryck...</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Test av reguljära uttryck</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevreplace/</filename ->: Tillhandahåller alternativet <guimenuitem ->Sök-välj-ersätt...</guimenuitem -> i menyn <guimenu ->Redigera</guimenu -> som används av insticksprogrammet <guilabel ->Ersättning</guilabel ->.</para -></listitem> - <listitem id="app-files-default-tips" -><para -><filename class="directory" ->kdevtipofday/</filename ->: Tillhandahåller alternativet <guimenuitem ->Dagens tips</guimenuitem -> i menyn <guimenu ->Hjälp</guimenu -> samt HTML-filen som innehåller tillgängliga tips.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevtools/</filename ->: Styr de olika menyalternativen som skapas av inställningarna <guimenu ->Menyn Verktyg</guimenu -> och <guilabel ->Externa verktyg</guilabel -> som tillhandahålls av insticksprogrammet <guilabel ->Tillägg i verktygsmenyn</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevvalgrind/</filename ->: Tillhandahåller alternativen <guimenuitem ->Valgrind kontroll av minnesläckor</guimenuitem -> och <guimenuitem ->Profilera med Kcachegrind</guimenuitem -> i menyn <guimenu ->Avlusa</guimenu -> som används av insticksprogrammet <guilabel ->Valgrind-gränssnitt</guilabel ->.</para -></listitem> - </itemizedlist -></listitem> - - <listitem -><itemizedlist id="app-files-default-apps-project"> - <title ->Delprogram för att skapa projekt</title> - <listitem -><para -><filename class="directory" ->kdevadaproject/</filename ->: Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden för att bygga ett Ada-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevantproject/</filename ->: Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> när skapa projekt med Ant används.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevautoproject/</filename ->: Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden vid arbete med &automake; projektgenerering baserat på &GNU;-verktygen. Tillhandahåller dessutom alternativen <guimenuitem ->Lägg till översättning...</guimenuitem -> och <guimenuitem ->Bygginställning</guimenuitem -> i menyn <guimenu ->Projekt</guimenu ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevcustomproject/</filename ->: Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden när projektet är baserat på en egen Makefile.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevgenericproject/</filename ->: Innehåller menydefinitioner för en experimentell generell projektgenerering. För närvarande (version 3.1.0) oanvänd.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevhaskellproject/</filename -> Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden för att bygga ett Haskell-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevpascalproject/</filename -> Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden för att bygga ett Pascal-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevtrollproject/</filename -> Tillhandahåller alternativ för menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden för att bygga ett projekt med användning av &Qt; QMake projekthanteraren.</para -></listitem> - </itemizedlist -></listitem> - - <listitem -><itemizedlist id="app-files-default-apps-lang"> - <title ->Språkspecifika delprogram</title> - <listitem -><para -><filename class="directory" ->kdevadasupport/</filename ->: Tillhandahåller alternativ i menyn <guimenu ->Verktyg</guimenu -> och motsvarande ikoner i verktygsraden som behövs för att utveckla Ada-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevbashsupport/</filename ->: Tillhandahåller alternativ i menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden som behövs för att utveckla Bash-skript.</para -></listitem> + </para></listitem> + <listitem><para><filename class="directory">kdevfilter/</filename>: Tillhandahåller alternativen <guimenuitem>Kör kommando...</guimenuitem> och <guimenuitem>Filtrera markering genom kommando...</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Skalfiltrering och infogning</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevfullscreen/</filename>: Tillhandahåller alternativet <guimenuitem>Fullskärmsläge</guimenuitem> i menyn <guimenu>Visa</guimenu> och motsvarande ikon i verktygsraden.</para></listitem> + <listitem><para><filename class="directory">kdevgrepview/</filename>: Tillhandahåller alternativet <guimenuitem>Sök i filer</guimenuitem> i menyn <guimenu>Redigera</guimenu> som används av insticksprogrammet <guilabel>Gränssnitt till grep</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevhistory/</filename>: Tillhandahåller alternativen <guimenuitem>Tillbaka</guimenuitem> och <guimenuitem>Framåt</guimenuitem> i menyn <guimenu>Visa</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevjavadebugger/</filename>: Tillhandahåller menyn <guimenu>Avlusa Java</guimenu> för att avlusa ett &Java;-program.</para></listitem> + <listitem><para><filename class="directory">kdevoutputviews/</filename>: Tillhandahåller alternativen <guimenuitem>Nästa fel</guimenuitem> och <guimenuitem>Föregående fel</guimenuitem> i menyn <guimenu>Visa</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevpartexplorer/</filename>: Tillhandahåller alternativet <guimenuitem>Delutforskare</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Delutforskningsverktyg</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevquickopen/</filename>: Tillhandahåller alternativet <guimenuitem>Snabböppna fil...</guimenuitem> i menyn <guimenu>Arkiv</guimenu> samt alternativen <guimenuitem>Snabböppna klass...</guimenuitem> och <guimenuitem>Snabböppna metod</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av projektinsticksprogrammet <guilabel>Snabböppna</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevregexptest/</filename>: Tillhandahåller alternativet <guimenuitem>Avlusa reguljärt uttryck...</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Test av reguljära uttryck</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevreplace/</filename>: Tillhandahåller alternativet <guimenuitem>Sök-välj-ersätt...</guimenuitem> i menyn <guimenu>Redigera</guimenu> som används av insticksprogrammet <guilabel>Ersättning</guilabel>.</para></listitem> + <listitem id="app-files-default-tips"><para><filename class="directory">kdevtipofday/</filename>: Tillhandahåller alternativet <guimenuitem>Dagens tips</guimenuitem> i menyn <guimenu>Hjälp</guimenu> samt HTML-filen som innehåller tillgängliga tips.</para></listitem> + <listitem><para><filename class="directory">kdevtools/</filename>: Styr de olika menyalternativen som skapas av inställningarna <guimenu>Menyn Verktyg</guimenu> och <guilabel>Externa verktyg</guilabel> som tillhandahålls av insticksprogrammet <guilabel>Tillägg i verktygsmenyn</guilabel>.</para></listitem> + <listitem><para><filename class="directory">kdevvalgrind/</filename>: Tillhandahåller alternativen <guimenuitem>Valgrind kontroll av minnesläckor</guimenuitem> och <guimenuitem>Profilera med Kcachegrind</guimenuitem> i menyn <guimenu>Avlusa</guimenu> som används av insticksprogrammet <guilabel>Valgrind-gränssnitt</guilabel>.</para></listitem> + </itemizedlist></listitem> + + <listitem><itemizedlist id="app-files-default-apps-project"> + <title>Delprogram för att skapa projekt</title> + <listitem><para><filename class="directory">kdevadaproject/</filename>: Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden för att bygga ett Ada-program.</para></listitem> + <listitem><para><filename class="directory">kdevantproject/</filename>: Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> när skapa projekt med Ant används.</para></listitem> + <listitem><para><filename class="directory">kdevautoproject/</filename>: Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden vid arbete med &automake; projektgenerering baserat på &GNU;-verktygen. Tillhandahåller dessutom alternativen <guimenuitem>Lägg till översättning...</guimenuitem> och <guimenuitem>Bygginställning</guimenuitem> i menyn <guimenu>Projekt</guimenu>.</para></listitem> + <listitem><para><filename class="directory">kdevcustomproject/</filename>: Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden när projektet är baserat på en egen Makefile.</para></listitem> + <listitem><para><filename class="directory">kdevgenericproject/</filename>: Innehåller menydefinitioner för en experimentell generell projektgenerering. För närvarande (version 3.1.0) oanvänd.</para></listitem> + <listitem><para><filename class="directory">kdevhaskellproject/</filename> Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden för att bygga ett Haskell-program.</para></listitem> + <listitem><para><filename class="directory">kdevpascalproject/</filename> Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden för att bygga ett Pascal-program.</para></listitem> + <listitem><para><filename class="directory">kdevtrollproject/</filename> Tillhandahåller alternativ för menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden för att bygga ett projekt med användning av &Qt; QMake projekthanteraren.</para></listitem> + </itemizedlist></listitem> + + <listitem><itemizedlist id="app-files-default-apps-lang"> + <title>Språkspecifika delprogram</title> + <listitem><para><filename class="directory">kdevadasupport/</filename>: Tillhandahåller alternativ i menyn <guimenu>Verktyg</guimenu> och motsvarande ikoner i verktygsraden som behövs för att utveckla Ada-program.</para></listitem> + <listitem><para><filename class="directory">kdevbashsupport/</filename>: Tillhandahåller alternativ i menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden som behövs för att utveckla Bash-skript.</para></listitem> <listitem id="app-files-default-apps-lang-cpp"> - <para -><filename class="directory" ->kdevcppsupport/</filename ->: Innehåller filer som används av programguiden för att bygga C++ program:</para> + <para><filename class="directory">kdevcppsupport/</filename>: Innehåller filer som används av programguiden för att bygga C++ program:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->newclass/</filename ->: Innehåller deklarations- och källkodsmallar som programguiden bygger motsvarande källkodsfiler.</para -></listitem> - <listitem -><para -><filename class="directory" ->subclassing/</filename ->: Innehåller mallar som programguiden använder för att skapa ursprungliga klassdeklarationer och klassdefinitioner i källkodsfilerna.</para -></listitem> - <listitem -><para -><filename class="directory" ->templates</filename ->: Innehåller mallar som programguiden använder för att skapa standardhuvud och mallfiler för källkod som används av &nfwizard;. </para -></listitem> - <listitem -><para -><filename ->configuration</filename ->: Mall för att lägga till makron.</para -></listitem> - <listitem -><para -><filename ->kdevcppsupport.rc</filename ->: Tillhandahåller alternativen <guimenuitem ->Komplettera text</guimenuitem -> och <guimenuitem ->Skapa medlem</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->, alternativet <guimenuitem ->Byt till deklaration/implementering</guimenuitem -> för menyn <guimenu ->Visa</guimenu ->, och alternativet <guimenuitem ->Ny klass</guimenuitem -> för menyn <guimenu ->Projekt</guimenu -> samt ikonen <guiicon ->Ny klass</guiicon -> för <guilabel ->Bläddringsverktygsraden</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">newclass/</filename>: Innehåller deklarations- och källkodsmallar som programguiden bygger motsvarande källkodsfiler.</para></listitem> + <listitem><para><filename class="directory">subclassing/</filename>: Innehåller mallar som programguiden använder för att skapa ursprungliga klassdeklarationer och klassdefinitioner i källkodsfilerna.</para></listitem> + <listitem><para><filename class="directory">templates</filename>: Innehåller mallar som programguiden använder för att skapa standardhuvud och mallfiler för källkod som används av &nfwizard;. </para></listitem> + <listitem><para><filename>configuration</filename>: Mall för att lägga till makron.</para></listitem> + <listitem><para><filename>kdevcppsupport.rc</filename>: Tillhandahåller alternativen <guimenuitem>Komplettera text</guimenuitem> och <guimenuitem>Skapa medlem</guimenuitem> i menyn <guimenu>Redigera</guimenu>, alternativet <guimenuitem>Byt till deklaration/implementering</guimenuitem> för menyn <guimenu>Visa</guimenu>, och alternativet <guimenuitem>Ny klass</guimenuitem> för menyn <guimenu>Projekt</guimenu> samt ikonen <guiicon>Ny klass</guiicon> för <guilabel>Bläddringsverktygsraden</guilabel>.</para></listitem> </itemizedlist> </listitem> - <listitem -><para -><filename class="directory" ->kdevfortransupport/</filename ->: Tillhandahåller alternativ i menyn <guimenu ->Bygg</guimenu -> som behövs för att utveckla Fortran-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevhaskellsupport/</filename ->: Tillhandahåller alternativ i menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden som behövs för att utveckla Haskell-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevjavasupport/</filename ->: Innehåller gränssnittsdefinitionerna som behövs för att utveckla &Java;-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevpascalsupport/</filename ->: Innehåller gränssnittsdefinitionerna som behövs för att utveckla Pascal-program.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevperlsupport/</filename ->: Tillhandahåller alternativ i menyerna <guimenu ->Bygg</guimenu -> och <guimenu ->Hjälp</guimenu -> som behövs för att utveckla Perl-skript.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevphpsupport/</filename ->: Innehåller gränssnittsdefinitioner och PHP-definitioner som behövs för att utveckla PHP-skript.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevpythonsupport/</filename ->: Tillhandahåller alternativ i menyerna <guimenu ->Bygg</guimenu -> och <guimenu ->Hjälp</guimenu -> samt motsvarande ikoner i verktygsraden som behövs för att utveckla Python-skript.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevrubysupport/</filename ->: Tillhandahåller alternativ i menyn <guimenu ->Bygg</guimenu -> och motsvarande ikoner i verktygsraden som behövs för att utveckla Ruby-skript.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevscriptproject/</filename ->: Tillhandahåller gränssnittsdefinitionerna som behövs för att utveckla egna projekt. För närvarande (version 3.1.0) oanvänd.</para -></listitem> - <listitem -><para -><filename class="directory" ->kdevsqlsupport/</filename ->: Tillhandahåller gränssnittsdefinitionerna som behövs för att utveckla SQL-projekt. För närvarande (version 3.1.0) oanvänd.</para -></listitem> - </itemizedlist -></listitem> + <listitem><para><filename class="directory">kdevfortransupport/</filename>: Tillhandahåller alternativ i menyn <guimenu>Bygg</guimenu> som behövs för att utveckla Fortran-program.</para></listitem> + <listitem><para><filename class="directory">kdevhaskellsupport/</filename>: Tillhandahåller alternativ i menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden som behövs för att utveckla Haskell-program.</para></listitem> + <listitem><para><filename class="directory">kdevjavasupport/</filename>: Innehåller gränssnittsdefinitionerna som behövs för att utveckla &Java;-program.</para></listitem> + <listitem><para><filename class="directory">kdevpascalsupport/</filename>: Innehåller gränssnittsdefinitionerna som behövs för att utveckla Pascal-program.</para></listitem> + <listitem><para><filename class="directory">kdevperlsupport/</filename>: Tillhandahåller alternativ i menyerna <guimenu>Bygg</guimenu> och <guimenu>Hjälp</guimenu> som behövs för att utveckla Perl-skript.</para></listitem> + <listitem><para><filename class="directory">kdevphpsupport/</filename>: Innehåller gränssnittsdefinitioner och PHP-definitioner som behövs för att utveckla PHP-skript.</para></listitem> + <listitem><para><filename class="directory">kdevpythonsupport/</filename>: Tillhandahåller alternativ i menyerna <guimenu>Bygg</guimenu> och <guimenu>Hjälp</guimenu> samt motsvarande ikoner i verktygsraden som behövs för att utveckla Python-skript.</para></listitem> + <listitem><para><filename class="directory">kdevrubysupport/</filename>: Tillhandahåller alternativ i menyn <guimenu>Bygg</guimenu> och motsvarande ikoner i verktygsraden som behövs för att utveckla Ruby-skript.</para></listitem> + <listitem><para><filename class="directory">kdevscriptproject/</filename>: Tillhandahåller gränssnittsdefinitionerna som behövs för att utveckla egna projekt. För närvarande (version 3.1.0) oanvänd.</para></listitem> + <listitem><para><filename class="directory">kdevsqlsupport/</filename>: Tillhandahåller gränssnittsdefinitionerna som behövs för att utveckla SQL-projekt. För närvarande (version 3.1.0) oanvänd.</para></listitem> + </itemizedlist></listitem> </itemizedlist> -</sect2 -> <!-- app-files-default-apps --> +</sect2> <!-- app-files-default-apps --> -</sect1 -> <!-- app-files-default --> +</sect1> <!-- app-files-default --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="app-files-user"> -<title ->Användarorienterade inställningar</title> +<title>Användarorienterade inställningar</title> -<para ->All information om användardefinierade inställningar finns i två underkataloger i <filename class="directory" ->$<envar ->TDEHOME</envar -></filename ->, nämligen: <simplelist> - <member -><link linkend="app-files-user-apps" ->Programspecifika inställningar</link -> i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/apps/</filename ->, och</member> - <member -><link linkend="app-files-user-config" ->Resursinställningsfiler</link -> i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/config/</filename ->.</member> +<para>All information om användardefinierade inställningar finns i två underkataloger i <filename class="directory">$<envar>TDEHOME</envar></filename>, nämligen: <simplelist> + <member><link linkend="app-files-user-apps">Programspecifika inställningar</link> i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/apps/</filename>, och</member> + <member><link linkend="app-files-user-config">Resursinställningsfiler</link> i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/config/</filename>.</member> </simplelist> </para> <sect2 id="app-files-user-apps"> -<title ->Programspecifika inställningar</title> +<title>Programspecifika inställningar</title> -<para ->Alla användarens ändringar av <link linkend="app-files-default" ->standardinställningar i &tdevelop;</link -> samt användarspecifika inställningar som inte lagras i någon av <link linkend="app-files-user-config" ->resursinställningsfilerna</link -> finns i underkatalogerna <filename ->kdev...</filename -> i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/apps/</filename ->. </para> -<para ->De flesta av dessa inställningsfiler används dock av diverse insticksprogram i &tdevelop; för att tillhandahålla någon specifik meny och/eller verktygsradsikon. Därför är de bara intressanta om något verkligen har gått fel i användargränssnittet. </para> -<note -><para ->I det fallet du innehållet i katalogerna speglar det i de standardinställningarna, har &tdevelop; kopierat dem från <filename class="directory" ->$<envar ->TDEDIR</envar ->/apps/</filename -> till katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/apps/</filename -> vid den första starten. Alla följande ändringar görs bara i kopiorna. Standardinställningarna förblir hur som helst orörda. </para -></note> +<para>Alla användarens ändringar av <link linkend="app-files-default">standardinställningar i &tdevelop;</link> samt användarspecifika inställningar som inte lagras i någon av <link linkend="app-files-user-config">resursinställningsfilerna</link> finns i underkatalogerna <filename>kdev...</filename> i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/apps/</filename>. </para> +<para>De flesta av dessa inställningsfiler används dock av diverse insticksprogram i &tdevelop; för att tillhandahålla någon specifik meny och/eller verktygsradsikon. Därför är de bara intressanta om något verkligen har gått fel i användargränssnittet. </para> +<note><para>I det fallet du innehållet i katalogerna speglar det i de standardinställningarna, har &tdevelop; kopierat dem från <filename class="directory">$<envar>TDEDIR</envar>/apps/</filename> till katalogen <filename class="directory">$<envar>TDEHOME</envar>/apps/</filename> vid den första starten. Alla följande ändringar görs bara i kopiorna. Standardinställningarna förblir hur som helst orörda. </para></note> <itemizedlist> <listitem> - <para -><filename class="directory" ->kdevabbrev/</filename ->: Innehåller filer som används av insticksprogrammet <guilabel ->Expansion av förkortningar</guilabel ->:</para> + <para><filename class="directory">kdevabbrev/</filename>: Innehåller filer som används av insticksprogrammet <guilabel>Expansion av förkortningar</guilabel>:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->sources/</filename ->: För närvarande tom. &tdevelop; använder <link linkend="app-files-default-abbrev" ->standarddefinitionsfiler för nyckelord</link -> till kommandot <guilabel ->Expandera text</guilabel ->.</para -></listitem> - <listitem -><para -><filename class="directory" ->templates/</filename ->: Innehåller definitionsfiler ändrade av användaren för mallar som används av kommandot <guilabel ->Expandera förkortningar</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->kdevabbrev.rc</filename ->: Tillhandahåller alternativen <guimenuitem ->Expandera text</guimenuitem -> och <guimenuitem ->Expandera förkortning</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->.</para -></listitem> - </itemizedlist -> + <listitem><para><filename class="directory">sources/</filename>: För närvarande tom. &tdevelop; använder <link linkend="app-files-default-abbrev">standarddefinitionsfiler för nyckelord</link> till kommandot <guilabel>Expandera text</guilabel>.</para></listitem> + <listitem><para><filename class="directory">templates/</filename>: Innehåller definitionsfiler ändrade av användaren för mallar som används av kommandot <guilabel>Expandera förkortningar</guilabel>.</para></listitem> + <listitem><para><filename>kdevabbrev.rc</filename>: Tillhandahåller alternativen <guimenuitem>Expandera text</guimenuitem> och <guimenuitem>Expandera förkortning</guimenuitem> i menyn <guimenu>Redigera</guimenu>.</para></listitem> + </itemizedlist> </listitem> <listitem> - <para -><filename class="directory" ->kdevappwizard/</filename ->: Tillhandahåller alternativen <guimenuitem ->Nytt projekt...</guimenuitem -> och <guimenuitem ->Importera befintligt projekt...</guimenuitem -> i menyn <guimenu ->Projekt</guimenu ->. Programguiden använder <link linkend="app-files-default-appwizard" ->standardinställningar</link -> för den verkliga funktionen.</para> + <para><filename class="directory">kdevappwizard/</filename>: Tillhandahåller alternativen <guimenuitem>Nytt projekt...</guimenuitem> och <guimenuitem>Importera befintligt projekt...</guimenuitem> i menyn <guimenu>Projekt</guimenu>. Programguiden använder <link linkend="app-files-default-appwizard">standardinställningar</link> för den verkliga funktionen.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevastyle/</filename ->: Tillhandahåller det verkliga alternativet <guimenuitem ->Formatera om källkod</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->.</para> + <para><filename class="directory">kdevastyle/</filename>: Tillhandahåller det verkliga alternativet <guimenuitem>Formatera om källkod</guimenuitem> i menyn <guimenu>Redigera</guimenu>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevautoproject/</filename ->: Tillhandahåller de verkliga alternativen i menyn <guimenu ->Bygg</guimenu -> och verktygsraden <guilabel ->Bygg</guilabel -> (KDevelop).</para> + <para><filename class="directory">kdevautoproject/</filename>: Tillhandahåller de verkliga alternativen i menyn <guimenu>Bygg</guimenu> och verktygsraden <guilabel>Bygg</guilabel> (KDevelop).</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevclassview/</filename ->: Tillhandahåller alternativet <guimenuitem ->Arvdiagram för klasser</guimenuitem -> i menyn <guimenu ->Projekt</guimenu -> samt kombinationsrutan för klassnavigering i <guilabel ->Bläddringsverktygsraden</guilabel -> från projektinsticksprogrammet <guilabel ->Klassvisning</guilabel ->.</para> + <para><filename class="directory">kdevclassview/</filename>: Tillhandahåller alternativet <guimenuitem>Arvdiagram för klasser</guimenuitem> i menyn <guimenu>Projekt</guimenu> samt kombinationsrutan för klassnavigering i <guilabel>Bläddringsverktygsraden</guilabel> från projektinsticksprogrammet <guilabel>Klassvisning</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevcloser/</filename ->: Tillhandahåller alternativet <guimenuitem ->Stäng markerade fönster...</guimenuitem -> i menyn <guimenu ->Fönster</guimenu ->.</para> + <para><filename class="directory">kdevcloser/</filename>: Tillhandahåller alternativet <guimenuitem>Stäng markerade fönster...</guimenuitem> i menyn <guimenu>Fönster</guimenu>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevcppsupport/</filename ->: Innehåller de verkliga inställningarna som används av programguiden för att skapa C++ program. Programguiden använder den största delen av sina inställningar direkt från <link linkend="app-files-default-apps-lang-cpp" ->katalogen med standardinställningar</link ->. Titta där för mer detaljinformation.</para> + <para><filename class="directory">kdevcppsupport/</filename>: Innehåller de verkliga inställningarna som används av programguiden för att skapa C++ program. Programguiden använder den största delen av sina inställningar direkt från <link linkend="app-files-default-apps-lang-cpp">katalogen med standardinställningar</link>. Titta där för mer detaljinformation.</para> <itemizedlist> <listitem> - <para -><filename class="directory" ->newclass/</filename ->: Innehåller de verkliga deklarations- och källkodsmallar som programguiden använder för att bygga motsvarande källkodsfiler.</para> + <para><filename class="directory">newclass/</filename>: Innehåller de verkliga deklarations- och källkodsmallar som programguiden använder för att bygga motsvarande källkodsfiler.</para> </listitem> <listitem> - <para -><filename class="directory" ->pcs/</filename ->: Innehåller databasfiler som &tdevelop; använder för att bygga den verkliga filen för bestående kodlagring (<filename ->.pcs</filename ->) för ett &kde; C++ projekt.</para> + <para><filename class="directory">pcs/</filename>: Innehåller databasfiler som &tdevelop; använder för att bygga den verkliga filen för bestående kodlagring (<filename>.pcs</filename>) för ett &kde; C++ projekt.</para> </listitem> <listitem> - <para -><filename ->kdevcppsupport.rc</filename ->: Tillhandahåller alternativen <guimenuitem ->Komplettera text</guimenuitem -> och <guimenuitem ->Skapa medlem</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->, alternativet <guimenuitem ->Byt till deklaration/implementering</guimenuitem -> för menyn <guimenu ->Visa</guimenu ->, och alternativet <guimenuitem ->Ny klass</guimenuitem -> för menyn <guimenu ->Projekt</guimenu -> samt ikonen <guiicon ->Ny klass</guiicon -> för <guilabel ->Bläddringsverktygsraden</guilabel ->.</para> + <para><filename>kdevcppsupport.rc</filename>: Tillhandahåller alternativen <guimenuitem>Komplettera text</guimenuitem> och <guimenuitem>Skapa medlem</guimenuitem> i menyn <guimenu>Redigera</guimenu>, alternativet <guimenuitem>Byt till deklaration/implementering</guimenuitem> för menyn <guimenu>Visa</guimenu>, och alternativet <guimenuitem>Ny klass</guimenuitem> för menyn <guimenu>Projekt</guimenu> samt ikonen <guiicon>Ny klass</guiicon> för <guilabel>Bläddringsverktygsraden</guilabel>.</para> </listitem> </itemizedlist> </listitem> <listitem> - <para -><filename class="directory" ->kdevctags/</filename ->: Tillhandahåller alternativet <guimenuitem ->Ctags</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> för projektinsticksprogrammet <guilabel ->Ctags-gränssnitt</guilabel ->.</para> + <para><filename class="directory">kdevctags/</filename>: Tillhandahåller alternativet <guimenuitem>Ctags</guimenuitem> i menyn <guimenu>Verktyg</guimenu> för projektinsticksprogrammet <guilabel>Ctags-gränssnitt</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevdebugger/</filename ->: Tillhandahåller menyalternativen under <guimenu ->Avlusa</guimenu -> för projektinsticksprogrammet <guilabel ->Gränssnitt för avlusare</guilabel ->.</para> + <para><filename class="directory">kdevdebugger/</filename>: Tillhandahåller menyalternativen under <guimenu>Avlusa</guimenu> för projektinsticksprogrammet <guilabel>Gränssnitt för avlusare</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevdiff/</filename ->: Tillhandahåller alternativet <guimenuitem ->Visning av skillnader</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu ->.</para> + <para><filename class="directory">kdevdiff/</filename>: Tillhandahåller alternativet <guimenuitem>Visning av skillnader</guimenuitem> i menyn <guimenu>Verktyg</guimenu>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevdocumentation/</filename ->: Innehåller de verkliga filerna som används av insticksprogrammet <guilabel ->Dokumentation</guilabel -> förutom de <link linkend="app-files-default-kdevdoc" ->standardinställningsfilerna</link ->. Titta där för mer detaljinformation.</para> - <para ->Katalogerna under <filename class="directory" ->kdevdocumentation/</filename -> innehåller i huvudsak bokhållningsinformation. De verkliga inställda dokumentationsfilerna finns i filerna <link linkend="app-files-user-config-doc" -><quote -><filename ->doc...pluginrc</filename -></quote -></link -> i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/config/</filename ->.</para> + <para><filename class="directory">kdevdocumentation/</filename>: Innehåller de verkliga filerna som används av insticksprogrammet <guilabel>Dokumentation</guilabel> förutom de <link linkend="app-files-default-kdevdoc">standardinställningsfilerna</link>. Titta där för mer detaljinformation.</para> + <para>Katalogerna under <filename class="directory">kdevdocumentation/</filename> innehåller i huvudsak bokhållningsinformation. De verkliga inställda dokumentationsfilerna finns i filerna <link linkend="app-files-user-config-doc"><quote><filename>doc...pluginrc</filename></quote></link> i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/config/</filename>.</para> <itemizedlist> <listitem> - <para -><filename class="directory" ->bookmarks/</filename ->: Underhåller posterna under fliken <guilabel ->Bokmärken</guilabel -> som används av insticksprogrammet <guilabel ->Dokumentation</guilabel -> i &tdevelop;.</para> + <para><filename class="directory">bookmarks/</filename>: Underhåller posterna under fliken <guilabel>Bokmärken</guilabel> som används av insticksprogrammet <guilabel>Dokumentation</guilabel> i &tdevelop;.</para> </listitem> <listitem> - <para -><filename class="directory" ->index/</filename ->: Innehåller diverse cachefiler som &tdevelop; använder för att snabba upp indexerade sökningar i dokumentationen under fliken <guilabel ->Index</guilabel -> med insticksprogrammet <guilabel ->Dokumentation</guilabel ->.</para> + <para><filename class="directory">index/</filename>: Innehåller diverse cachefiler som &tdevelop; använder för att snabba upp indexerade sökningar i dokumentationen under fliken <guilabel>Index</guilabel> med insticksprogrammet <guilabel>Dokumentation</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->search/</filename ->: Innehåller filer som används av sökverktyget <application ->htdig</application -> som hanterar sökanrop från fliken <guilabel ->Sök</guilabel -> i insticksprogrammet <guilabel ->Dokumentation</guilabel ->.</para> + <para><filename class="directory">search/</filename>: Innehåller filer som används av sökverktyget <application>htdig</application> som hanterar sökanrop från fliken <guilabel>Sök</guilabel> i insticksprogrammet <guilabel>Dokumentation</guilabel>.</para> </listitem> <listitem> - <para -><filename ->kdevpart_documentation.rc</filename ->: Tillhandahåller sökrelaterade alternativ i menyn <guimenu ->Hjälp</guimenu ->.</para> + <para><filename>kdevpart_documentation.rc</filename>: Tillhandahåller sökrelaterade alternativ i menyn <guimenu>Hjälp</guimenu>.</para> </listitem> </itemizedlist> </listitem> <listitem> - <para -><filename class="directory" ->kdevdoxygen/</filename ->: Tillhandahåller menyalternativ för projektinsticksprogrammet <guilabel ->Doxygen-stöd</guilabel ->.</para> + <para><filename class="directory">kdevdoxygen/</filename>: Tillhandahåller menyalternativ för projektinsticksprogrammet <guilabel>Doxygen-stöd</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->tdevelop/</filename ->: Innehåller några verkliga alternativ som &tdevelop; använder som grundläggande inställning:</para> + <para><filename class="directory">tdevelop/</filename>: Innehåller några verkliga alternativ som &tdevelop; använder som grundläggande inställning:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->profiles/</filename ->: Tillhandahåller de verkliga profilinställningarna för insticksprogram (från början finns det bara en profil <filename ->FullIDE</filename -> som definierar en fullständig uppsättning med aktiva insticksprogram i &tdevelop;.)</para -></listitem> - <listitem -><para -><filename ->tdevelopui.rc</filename ->: Tillhandahåller de grundläggande menyalternativen och verktygsradsikonerna som &tdevelop; använder.</para -></listitem> + <listitem><para><filename class="directory">profiles/</filename>: Tillhandahåller de verkliga profilinställningarna för insticksprogram (från början finns det bara en profil <filename>FullIDE</filename> som definierar en fullständig uppsättning med aktiva insticksprogram i &tdevelop;.)</para></listitem> + <listitem><para><filename>tdevelopui.rc</filename>: Tillhandahåller de grundläggande menyalternativen och verktygsradsikonerna som &tdevelop; använder.</para></listitem> </itemizedlist> </listitem> <listitem> - <para -><filename class="directory" ->kdevfilecreate/</filename ->: Innehåller filer som används av <guilabel ->Guide för ny fil</guilabel ->:</para> + <para><filename class="directory">kdevfilecreate/</filename>: Innehåller filer som används av <guilabel>Guide för ny fil</guilabel>:</para> <itemizedlist> - <listitem -><para -><filename class="directory" ->file-templates/</filename ->: Tillhandahåller det verkliga textinnehållet som ska infogas i en ny källkodsfil av en given typ. Fler filmallar finns i katalogen med <link linkend="app-files-default-filecreate" ->standardinställningsfiler</link ->.</para -></listitem> - <listitem -><para -><filename ->kdevpart_filecreate.rc</filename ->: Tillhandahåller alternativet <guimenuitem ->Ny</guimenuitem -> i menyn <guimenu ->Arkiv</guimenu ->.</para -></listitem> - <listitem -><para -><filename ->template-info.xml</filename ->: Innehåller beskrivningar av de tillgängliga filtyperna som ska visas i verktygsvyn <guilabel ->Ny fil</guilabel ->.</para -></listitem> + <listitem><para><filename class="directory">file-templates/</filename>: Tillhandahåller det verkliga textinnehållet som ska infogas i en ny källkodsfil av en given typ. Fler filmallar finns i katalogen med <link linkend="app-files-default-filecreate">standardinställningsfiler</link>.</para></listitem> + <listitem><para><filename>kdevpart_filecreate.rc</filename>: Tillhandahåller alternativet <guimenuitem>Ny</guimenuitem> i menyn <guimenu>Arkiv</guimenu>.</para></listitem> + <listitem><para><filename>template-info.xml</filename>: Innehåller beskrivningar av de tillgängliga filtyperna som ska visas i verktygsvyn <guilabel>Ny fil</guilabel>.</para></listitem> </itemizedlist> </listitem> <listitem> - <para -><filename class="directory" ->kdevfilter/</filename ->: Tillhandahåller alternativen <guimenuitem ->Kör kommando...</guimenuitem -> och <guimenuitem ->Filtrera markering genom kommando...</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Skalfiltrering och infogning</guilabel ->.</para> + <para><filename class="directory">kdevfilter/</filename>: Tillhandahåller alternativen <guimenuitem>Kör kommando...</guimenuitem> och <guimenuitem>Filtrera markering genom kommando...</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Skalfiltrering och infogning</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevfullscreen/</filename ->: Tillhandahåller alternativet <guimenuitem ->Fullskärmsläge</guimenuitem -> i menyn <guimenu ->Visa</guimenu -> och motsvarande ikon i verktygsraden.</para> + <para><filename class="directory">kdevfullscreen/</filename>: Tillhandahåller alternativet <guimenuitem>Fullskärmsläge</guimenuitem> i menyn <guimenu>Visa</guimenu> och motsvarande ikon i verktygsraden.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevgrepview/</filename ->: Tillhandahåller alternativet <guimenuitem ->Sök i filer</guimenuitem -> i menyn <guimenu ->Redigera</guimenu -> som används av insticksprogrammet <guilabel ->Gränssnitt till grep</guilabel ->.</para> + <para><filename class="directory">kdevgrepview/</filename>: Tillhandahåller alternativet <guimenuitem>Sök i filer</guimenuitem> i menyn <guimenu>Redigera</guimenu> som används av insticksprogrammet <guilabel>Gränssnitt till grep</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevoutputviews/</filename ->: Tillhandahåller alternativen <guimenuitem ->Nästa fel</guimenuitem -> och <guimenuitem ->Föregående fel</guimenuitem -> i menyn <guimenu ->Visa</guimenu ->.</para> + <para><filename class="directory">kdevoutputviews/</filename>: Tillhandahåller alternativen <guimenuitem>Nästa fel</guimenuitem> och <guimenuitem>Föregående fel</guimenuitem> i menyn <guimenu>Visa</guimenu>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevpartexplorer/</filename ->: Tillhandahåller alternativet <guimenuitem ->Delutforskare</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Delutforskningsverktyg</guilabel ->.</para> + <para><filename class="directory">kdevpartexplorer/</filename>: Tillhandahåller alternativet <guimenuitem>Delutforskare</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Delutforskningsverktyg</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevquickopen/</filename ->: Tillhandahåller alternativet <guimenuitem ->Snabböppna fil...</guimenuitem -> i menyn <guimenu ->Arkiv</guimenu -> samt alternativen <guimenuitem ->Snabböppna klass...</guimenuitem -> och <guimenuitem ->Snabböppna metod</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av projektinsticksprogrammet <guilabel ->Snabböppna</guilabel ->.</para> + <para><filename class="directory">kdevquickopen/</filename>: Tillhandahåller alternativet <guimenuitem>Snabböppna fil...</guimenuitem> i menyn <guimenu>Arkiv</guimenu> samt alternativen <guimenuitem>Snabböppna klass...</guimenuitem> och <guimenuitem>Snabböppna metod</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av projektinsticksprogrammet <guilabel>Snabböppna</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevregexptest/</filename ->: Tillhandahåller alternativet <guimenuitem ->Avlusa reguljärt uttryck...</guimenuitem -> i menyn <guimenu ->Verktyg</guimenu -> som används av insticksprogrammet <guilabel ->Test av reguljära uttryck</guilabel ->.</para> + <para><filename class="directory">kdevregexptest/</filename>: Tillhandahåller alternativet <guimenuitem>Avlusa reguljärt uttryck...</guimenuitem> i menyn <guimenu>Verktyg</guimenu> som används av insticksprogrammet <guilabel>Test av reguljära uttryck</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevreplace/</filename ->: Tillhandahåller alternativet <guimenuitem ->Sök-välj-ersätt...</guimenuitem -> i menyn <guimenu ->Redigera</guimenu -> som används av insticksprogrammet <guilabel ->Ersättning</guilabel ->.</para> + <para><filename class="directory">kdevreplace/</filename>: Tillhandahåller alternativet <guimenuitem>Sök-välj-ersätt...</guimenuitem> i menyn <guimenu>Redigera</guimenu> som används av insticksprogrammet <guilabel>Ersättning</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevtipofday/</filename ->: Tillhandahåller alternativet <guimenuitem ->Dagens tips</guimenuitem -> i menyn <guimenu ->Hjälp</guimenu ->. HTML-filen som innehåller tillgängliga tips tillhandahålls bara som en <link linkend="app-files-default-tips" ->standardinställningsfil</link ->.</para> + <para><filename class="directory">kdevtipofday/</filename>: Tillhandahåller alternativet <guimenuitem>Dagens tips</guimenuitem> i menyn <guimenu>Hjälp</guimenu>. HTML-filen som innehåller tillgängliga tips tillhandahålls bara som en <link linkend="app-files-default-tips">standardinställningsfil</link>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevtools/</filename ->: Styr de olika menyalternativen som skapas av inställningarna <guimenu ->Menyn Verktyg</guimenu -> och <guilabel ->Externa verktyg</guilabel -> som tillhandahålls av insticksprogrammet <guilabel ->Tillägg i verktygsmenyn</guilabel ->.</para> + <para><filename class="directory">kdevtools/</filename>: Styr de olika menyalternativen som skapas av inställningarna <guimenu>Menyn Verktyg</guimenu> och <guilabel>Externa verktyg</guilabel> som tillhandahålls av insticksprogrammet <guilabel>Tillägg i verktygsmenyn</guilabel>.</para> </listitem> <listitem> - <para -><filename class="directory" ->kdevvalgrind/</filename ->: Tillhandahåller alternativen <guimenuitem ->Valgrind kontroll av minnesläckor</guimenuitem -> och <guimenuitem ->Profilera med Kcachegrind</guimenuitem -> i menyn <guimenu ->Avlusa</guimenu -> som används av insticksprogrammet <guilabel ->Valgrind-gränssnitt</guilabel ->.</para> + <para><filename class="directory">kdevvalgrind/</filename>: Tillhandahåller alternativen <guimenuitem>Valgrind kontroll av minnesläckor</guimenuitem> och <guimenuitem>Profilera med Kcachegrind</guimenuitem> i menyn <guimenu>Avlusa</guimenu> som används av insticksprogrammet <guilabel>Valgrind-gränssnitt</guilabel>.</para> </listitem> </itemizedlist> -</sect2 -> <!-- app-files-user-apps --> +</sect2> <!-- app-files-user-apps --> <sect2 id="app-files-user-config"> -<title ->Resursinställningsfiler</title> +<title>Resursinställningsfiler</title> -<para ->Det finns två grupper av &tdevelop; inställningsfiler i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/config/</filename ->, som åtskiljs av omgivande bokstavssekvenser: <simplelist> - <member -><quote -><filename ->doc...pluginrc</filename -></quote -> anger <link linkend="app-files-user-config-doc" ->filer som används av insticksprogrammet för dokumentations</link -></member> - <member -><quote -><filename ->kdev...rc</filename -></quote -> anger <link linkend="app-files-user-config-kdev" ->inställningsfiler som används av &tdevelop;</link -> själv och tillgängliga insticksprogram.</member> +<para>Det finns två grupper av &tdevelop; inställningsfiler i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/config/</filename>, som åtskiljs av omgivande bokstavssekvenser: <simplelist> + <member><quote><filename>doc...pluginrc</filename></quote> anger <link linkend="app-files-user-config-doc">filer som används av insticksprogrammet för dokumentations</link></member> + <member><quote><filename>kdev...rc</filename></quote> anger <link linkend="app-files-user-config-kdev">inställningsfiler som används av &tdevelop;</link> själv och tillgängliga insticksprogram.</member> </simplelist> </para> <itemizedlist id="app-files-user-config-kdev"> -<title ->Inställningsfiler som används av &tdevelop;</title> +<title>Inställningsfiler som används av &tdevelop;</title> <listitem> - <para -><filename ->kdevabbrevrc</filename ->: Innehåller nuvarande tillstånd för inställningen <guilabel ->Förkortningar</guilabel -> som tillhandahålls av insticksprogrammet <guilabel ->Expansion av förkortningar</guilabel ->.</para> - <note -><para ->Det här lagrar om förkortningarna kommer att användas eller inte. De verkliga definitionerna av nya förkortningar hamnar i filen <filename ->$<envar ->TDEHOME</envar ->/share/apps/kdevabbrev/templates/templates</filename ->.</para -></note> + <para><filename>kdevabbrevrc</filename>: Innehåller nuvarande tillstånd för inställningen <guilabel>Förkortningar</guilabel> som tillhandahålls av insticksprogrammet <guilabel>Expansion av förkortningar</guilabel>.</para> + <note><para>Det här lagrar om förkortningarna kommer att användas eller inte. De verkliga definitionerna av nya förkortningar hamnar i filen <filename>$<envar>TDEHOME</envar>/share/apps/kdevabbrev/templates/templates</filename>.</para></note> </listitem> <listitem> - <para -><filename ->kdevassistantrc</filename ->: Innehåller vissa specifika inställningstillstånd för den fristående dokumentationsbläddraren &tdevelop; assistent.</para> - <note -><para ->De flesta vanliga inställningar delas med filen för &tdevelop;s integrerade utvecklingsmiljö <filename ->tdeveloprc</filename ->.</para -></note> + <para><filename>kdevassistantrc</filename>: Innehåller vissa specifika inställningstillstånd för den fristående dokumentationsbläddraren &tdevelop; assistent.</para> + <note><para>De flesta vanliga inställningar delas med filen för &tdevelop;s integrerade utvecklingsmiljö <filename>tdeveloprc</filename>.</para></note> </listitem> - <listitem -><para -><filename ->kdevassistantuimode4rc</filename ->: Innehåller nuvarande inställningstillstånd för flerfönsterläge (dockningspositioner, etc.) för den fristående dokumentationsbläddraren &tdevelop; assistent.</para -></listitem> + <listitem><para><filename>kdevassistantuimode4rc</filename>: Innehåller nuvarande inställningstillstånd för flerfönsterläge (dockningspositioner, etc.) för den fristående dokumentationsbläddraren &tdevelop; assistent.</para></listitem> <listitem> - <para -><filename ->kdevclassviewrc</filename ->: Innehåller inställningarna för <guilabel ->Visningsläge</guilabel -> för klassbläddrarfliken <guilabel ->Klasser</guilabel -> som tillhandahålls av projektinsticksprogrammet <guilabel ->Klassvisning</guilabel ->.</para> - <note -><para ->Det här är en global inställning, även om insticksprogrammet <guilabel ->Klassvisning</guilabel -> kan vara inaktiverad för varje projekt. Alla ändringar av inställningen uppdateras globalt så fort det aktuella projektet stängs, och påverkar därför alla följande projekt som laddas.</para -></note> + <para><filename>kdevclassviewrc</filename>: Innehåller inställningarna för <guilabel>Visningsläge</guilabel> för klassbläddrarfliken <guilabel>Klasser</guilabel> som tillhandahålls av projektinsticksprogrammet <guilabel>Klassvisning</guilabel>.</para> + <note><para>Det här är en global inställning, även om insticksprogrammet <guilabel>Klassvisning</guilabel> kan vara inaktiverad för varje projekt. Alla ändringar av inställningen uppdateras globalt så fort det aktuella projektet stängs, och påverkar därför alla följande projekt som laddas.</para></note> </listitem> - <listitem -><para -><filename ->kdevcppsupportrc</filename ->: Innehåller vissa inställningar som används för att skapa CPP-källkodsfiler. I synnerhet hittar du inställningarna som gjorts i inställningsdialogrutan <guilabel ->Skapa ny klass i C++</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->kdevdocumentationrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Dokumentation</guilabel -> använder.</para -></listitem> - <listitem -><para -><filename ->tdeveloprc</filename ->: Innehåller globala inställningar som den integrerade utvecklingsmiljön &tdevelop; och den fristående dokumentationsbläddraren &tdevelop; assistent använder.</para -></listitem> - <listitem -><para -><filename ->tdevelopuimode4rc</filename ->: Innehåller nuvarande inställningstillstånd för flerfönsterläge (dockningspositioner, etc.) för den integrerade utvecklingsmiljön &tdevelop;.</para -></listitem> - <listitem -><para -><filename ->kdevfileselectorrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Filväljare</guilabel -> använder.</para -></listitem> - <listitem -><para -><filename ->kdevfileviewrc</filename ->: Innehåller verkliga inställningar av filnamnsfärger som projektinsticksprogrammet <guilabel ->Integrering av CVS (Cervisia)</guilabel -> använder för visning.</para -></listitem> - <listitem -><para -><filename ->kdevfilterrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Skalfiltrering och infogning</guilabel -> använder.</para -></listitem> - <listitem -><para -><filename ->kdevgrepviewrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Gränssnitt till grep</guilabel -> använder.</para -></listitem> - <listitem -><para -><filename ->kdevsnippetrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Kodsnuttar</guilabel -> använder.</para -></listitem> - <listitem -><para -><filename ->kdevtoolsrc</filename ->: Innehåller verkliga inställningar som insticksprogrammet <guilabel ->Tillägg i verktygsmenyn</guilabel -> använder.</para -></listitem> + <listitem><para><filename>kdevcppsupportrc</filename>: Innehåller vissa inställningar som används för att skapa CPP-källkodsfiler. I synnerhet hittar du inställningarna som gjorts i inställningsdialogrutan <guilabel>Skapa ny klass i C++</guilabel>.</para></listitem> + <listitem><para><filename>kdevdocumentationrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Dokumentation</guilabel> använder.</para></listitem> + <listitem><para><filename>tdeveloprc</filename>: Innehåller globala inställningar som den integrerade utvecklingsmiljön &tdevelop; och den fristående dokumentationsbläddraren &tdevelop; assistent använder.</para></listitem> + <listitem><para><filename>tdevelopuimode4rc</filename>: Innehåller nuvarande inställningstillstånd för flerfönsterläge (dockningspositioner, etc.) för den integrerade utvecklingsmiljön &tdevelop;.</para></listitem> + <listitem><para><filename>kdevfileselectorrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Filväljare</guilabel> använder.</para></listitem> + <listitem><para><filename>kdevfileviewrc</filename>: Innehåller verkliga inställningar av filnamnsfärger som projektinsticksprogrammet <guilabel>Integrering av CVS (Cervisia)</guilabel> använder för visning.</para></listitem> + <listitem><para><filename>kdevfilterrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Skalfiltrering och infogning</guilabel> använder.</para></listitem> + <listitem><para><filename>kdevgrepviewrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Gränssnitt till grep</guilabel> använder.</para></listitem> + <listitem><para><filename>kdevsnippetrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Kodsnuttar</guilabel> använder.</para></listitem> + <listitem><para><filename>kdevtoolsrc</filename>: Innehåller verkliga inställningar som insticksprogrammet <guilabel>Tillägg i verktygsmenyn</guilabel> använder.</para></listitem> </itemizedlist> <itemizedlist id="app-files-user-config-doc"> -<title ->Inställningsfiler som används av insticksprogrammet för dokumentation</title> - <listitem -><para -><filename ->docchmpluginrc</filename ->: Innehåller information om de verkliga &Microsoft; CHM-hjälpfilerna som de definieras på inställningssidan <guilabel ->CHM-dokumentationssamling</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->doccustompluginrc</filename ->: Innehåller information om alla egna dokumentationsfiler som de definieras på inställningssidan <guilabel ->Egen dokumentationssamling</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->docdevhelppluginrc</filename ->: Innehåller information om de verkliga GNOME 2 DevHelp-dokumentationsfiler som de definieras på inställningssidan <guilabel ->DevHelp-dokumentationssamling</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->docdoxygenpluginrc</filename ->: Innehåller information om de verkliga dokumentationen av programmeringsgränssnittet skapade av Doxygen som de definieras på inställningssidan <guilabel ->Doxygen-dokumentationssamling</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->dockdevtocpluginrc</filename ->: Innehåller information om de verkliga strukturerade KDevelop innehållsdokumentationsfilerna som de definieras på inställningssidan <guilabel ->KDevelop innehållsdokumentationssamling</guilabel ->.</para -></listitem> - <listitem -><para -><filename ->docqtpluginrc</filename ->: Innehåller information om de Qt-dokumentationsfilerna som verkligen ingår på inställningssidan <guilabel ->Qt-dokumentationssamling</guilabel ->.</para -></listitem> +<title>Inställningsfiler som används av insticksprogrammet för dokumentation</title> + <listitem><para><filename>docchmpluginrc</filename>: Innehåller information om de verkliga &Microsoft; CHM-hjälpfilerna som de definieras på inställningssidan <guilabel>CHM-dokumentationssamling</guilabel>.</para></listitem> + <listitem><para><filename>doccustompluginrc</filename>: Innehåller information om alla egna dokumentationsfiler som de definieras på inställningssidan <guilabel>Egen dokumentationssamling</guilabel>.</para></listitem> + <listitem><para><filename>docdevhelppluginrc</filename>: Innehåller information om de verkliga GNOME 2 DevHelp-dokumentationsfiler som de definieras på inställningssidan <guilabel>DevHelp-dokumentationssamling</guilabel>.</para></listitem> + <listitem><para><filename>docdoxygenpluginrc</filename>: Innehåller information om de verkliga dokumentationen av programmeringsgränssnittet skapade av Doxygen som de definieras på inställningssidan <guilabel>Doxygen-dokumentationssamling</guilabel>.</para></listitem> + <listitem><para><filename>dockdevtocpluginrc</filename>: Innehåller information om de verkliga strukturerade KDevelop innehållsdokumentationsfilerna som de definieras på inställningssidan <guilabel>KDevelop innehållsdokumentationssamling</guilabel>.</para></listitem> + <listitem><para><filename>docqtpluginrc</filename>: Innehåller information om de Qt-dokumentationsfilerna som verkligen ingår på inställningssidan <guilabel>Qt-dokumentationssamling</guilabel>.</para></listitem> </itemizedlist> -</sect2 -> <!-- app-files-user-config --> +</sect2> <!-- app-files-user-config --> -</sect1 -> <!-- app-files-user --> +</sect1> <!-- app-files-user --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="app-files-project"> -<title ->Projektberoende inställningar</title> +<title>Projektberoende inställningar</title> -<para ->De flesta projektberoende inställningarna bevaras i &tdevelop;s projektinställningsfiler <filename -><projektnamn>.tdevelop</filename -> och <filename -><projektnamn>.kdevses</filename -> istället för i separata filer som andra, mer globala, konfigurationsinställningar. I korthet är de här filerna avsedda för: </para> +<para>De flesta projektberoende inställningarna bevaras i &tdevelop;s projektinställningsfiler <filename><projektnamn>.tdevelop</filename> och <filename><projektnamn>.kdevses</filename> istället för i separata filer som andra, mer globala, konfigurationsinställningar. I korthet är de här filerna avsedda för: </para> <simplelist> - <member -><filename -><projektnamn>.tdevelop</filename ->: Global projektinställningsinformation.</member> - <member -><filename -><projektnamn>.kdevses</filename ->: Inställningsinformation som behövs för att återställa det specifika beteendet hos sessionen som kör.</member> + <member><filename><projektnamn>.tdevelop</filename>: Global projektinställningsinformation.</member> + <member><filename><projektnamn>.kdevses</filename>: Inställningsinformation som behövs för att återställa det specifika beteendet hos sessionen som kör.</member> </simplelist> -<para ->Båda filerna är kodade med &XML;. De kan visas och ändras (med försiktighet) i vilken texteditor som helst. </para> +<para>Båda filerna är kodade med &XML;. De kan visas och ändras (med försiktighet) i vilken texteditor som helst. </para> <sect2> -<title ->Bestående kodlagringsfiler</title> +<title>Bestående kodlagringsfiler</title> -<para ->Det finns en tredje projektberoende inställningsfil, filen för lagringen av bestående kod <filename -><projektnamn>.tdevelop.pcs</filename ->. Det är en binärkodad fil som innehåller en tolkningscache i huvudsak för att snabba upp laddningssekvensen för projektet. Dessutom innehåller den här bestående kodlagringen information som används av funktionen för <guilabel ->kodkomplettering</guilabel -> i &tdevelop;. </para> +<para>Det finns en tredje projektberoende inställningsfil, filen för lagringen av bestående kod <filename><projektnamn>.tdevelop.pcs</filename>. Det är en binärkodad fil som innehåller en tolkningscache i huvudsak för att snabba upp laddningssekvensen för projektet. Dessutom innehåller den här bestående kodlagringen information som används av funktionen för <guilabel>kodkomplettering</guilabel> i &tdevelop;. </para> -<note -><para ->Ytterligare filer för bestående kodlagring kan ställas in under fliken <guilabel ->Kodkomplettering</guilabel -> på den <guilabel ->C++ specifika</guilabel -> projektinställningssidan. Information om dessa ytterligare <filename ->.pcs</filename ->-filer lagras globalt i katalogen <filename class="directory" ->$<envar ->TDEHOME</envar ->/share/apps/kdevcppsupport/pcs/</filename ->. </para -></note> +<note><para>Ytterligare filer för bestående kodlagring kan ställas in under fliken <guilabel>Kodkomplettering</guilabel> på den <guilabel>C++ specifika</guilabel> projektinställningssidan. Information om dessa ytterligare <filename>.pcs</filename>-filer lagras globalt i katalogen <filename class="directory">$<envar>TDEHOME</envar>/share/apps/kdevcppsupport/pcs/</filename>. </para></note> </sect2> -</sect1 -> <!-- app-files-project --> +</sect1> <!-- app-files-project --> -</appendix -> <!-- app-files --> +</appendix> <!-- app-files --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/app-menu.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/app-menu.docbook index aabccc06794..e9b077f6acc 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/app-menu.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/app-menu.docbook @@ -2,71 +2,48 @@ <appendixinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </appendixinfo> -<title ->Översikt över menyer och verktygsrader</title> +<title>Översikt över menyer och verktygsrader</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <sect1 id="app-menus-menu"> -<title ->Menyer</title> +<title>Menyer</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <sect2 id="app-menus-menu-common"> -<title ->Vanligt tillgängliga menyer</title> +<title>Vanligt tillgängliga menyer</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- app-menus-menu-common --> +</sect2> <!-- app-menus-menu-common --> <sect2 id="app-menus-menu-project"> -<title ->Projektspecifika menyer</title> +<title>Projektspecifika menyer</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- app-menus-menu-project --> +</sect2> <!-- app-menus-menu-project --> <sect2 id="app-menus-menu-specific"> -<title ->Menyer specifika för insticksverktyg</title> +<title>Menyer specifika för insticksverktyg</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- app-menus-menu-specific --> +</sect2> <!-- app-menus-menu-specific --> -</sect1 -> <!-- app-menus-menu --> +</sect1> <!-- app-menus-menu --> <sect1 id="app-menus-tool"> -<title ->Verktygsrader</title> +<title>Verktygsrader</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect1 -> <!-- app-menus-tool --> +</sect1> <!-- app-menus-tool --> -</appendix -> <!-- app-menus --> +</appendix> <!-- app-menus --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/app-misc-info.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/app-misc-info.docbook index e7e476cefb6..eb82eb6e898 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/app-misc-info.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/app-misc-info.docbook @@ -1,28 +1,18 @@ <appendix id="app-misc-info"> -<title ->Ytterligare information</title> +<title>Ytterligare information</title> <sect1 id="gettinginformation"> -<title ->Hämta information</title> -<para ->(...ännu inte skrivet...) </para> -</sect1 -> <!-- gettinginformation --> +<title>Hämta information</title> +<para>(...ännu inte skrivet...) </para> +</sect1> <!-- gettinginformation --> <sect1 id="app-reporting-bugs"> -<title ->Rapportera fel</title> -<para ->(...ännu inte skrivet...) </para> -</sect1 -> <!-- app-reporting-bugs --> +<title>Rapportera fel</title> +<para>(...ännu inte skrivet...) </para> +</sect1> <!-- app-reporting-bugs --> <sect1 id="app-licensing"> -<title ->Licenser</title> -&underFDL; &underGPL; </sect1 -> <!-- app-licensing --> -</appendix -> <!-- app-misc-info --> +<title>Licenser</title> +&underFDL; &underGPL; </sect1> <!-- app-licensing --> +</appendix> <!-- app-misc-info --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/app-uimodes-examples.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/app-uimodes-examples.docbook index 9f0863a6257..b91a0ae7be2 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/app-uimodes-examples.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/app-uimodes-examples.docbook @@ -1,174 +1,103 @@ <appendix id="app-uimodes-examples"> -<title ->Exempel på lägen i användargränssnittet för &tdevelop;</title> +<title>Exempel på lägen i användargränssnittet för &tdevelop;</title> <sect1 id="ideal-desc"> -<title ->IDEA-fönsterläge</title> +<title>IDEA-fönsterläge</title> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="tdevelop-ideal-mode.png" format="PNG"/> </imageobject> - <textobject -><phrase ->Skärmbild</phrase -></textobject> - <caption -><para ->&tdevelop; IDEA-fönsterläge</para -></caption> + <textobject><phrase>Skärmbild</phrase></textobject> + <caption><para>&tdevelop; IDEA-fönsterläge</para></caption> </mediaobject> </screenshot> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="tdevelop-ideal-mode-0.png" format="PNG"/> </imageobject> - <textobject -><phrase ->Skärmbild</phrase -></textobject> - <caption -><para ->&tdevelop; IDEA-fönsterläge, stängda flikar</para -></caption> + <textobject><phrase>Skärmbild</phrase></textobject> + <caption><para>&tdevelop; IDEA-fönsterläge, stängda flikar</para></caption> </mediaobject> </screenshot> -<para ->Det här skärmbildsexemplet visar en av de huvudsakliga fördelarna med IDEA-läge, att det finns en maximal arbetsyta tillgänglig. Ändå är alla verktygsvyer lätt tillgängliga genom att klicka på motsvarande flik. </para> -<para ->Du behöver troligen en viss tid innan du har vant dig vid ikonerna i flikraden. Om du är vilse, placera bara musen över en flik och vänta några sekunder. En beskrivning i form av ett kort verktygstips dyker då upp. På skärmbilden visas verktygstipset <quote ->Hantering av automake</quote -> som exempel. Det beskriver den nedre fliken i högra flikraden. </para> +<para>Det här skärmbildsexemplet visar en av de huvudsakliga fördelarna med IDEA-läge, att det finns en maximal arbetsyta tillgänglig. Ändå är alla verktygsvyer lätt tillgängliga genom att klicka på motsvarande flik. </para> +<para>Du behöver troligen en viss tid innan du har vant dig vid ikonerna i flikraden. Om du är vilse, placera bara musen över en flik och vänta några sekunder. En beskrivning i form av ett kort verktygstips dyker då upp. På skärmbilden visas verktygstipset <quote>Hantering av automake</quote> som exempel. Det beskriver den nedre fliken i högra flikraden. </para> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> -</sect1 -> <!-- ideal-desc --> +</sect1> <!-- ideal-desc --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="mdi-desc"> -<title ->Underramsläge</title> +<title>Underramsläge</title> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="tdevelop-mdi-mode.png" format="PNG"/> </imageobject> - <textobject -><phrase ->Skärmbild</phrase -></textobject> - <caption -><para ->&tdevelop; underramsläge</para -></caption> + <textobject><phrase>Skärmbild</phrase></textobject> + <caption><para>&tdevelop; underramsläge</para></caption> </mediaobject> </screenshot> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> -</sect1 -> <!-- mdi-desc --> +</sect1> <!-- mdi-desc --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="tabbed-desc"> -<title ->Fliksidläge</title> +<title>Fliksidläge</title> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="tdevelop-tabbed-mode.png" format="PNG"/> </imageobject> - <textobject -><phrase ->Skärmbild</phrase -></textobject> - <caption -><para ->&tdevelop; fliksidläge</para -></caption> + <textobject><phrase>Skärmbild</phrase></textobject> + <caption><para>&tdevelop; fliksidläge</para></caption> </mediaobject> </screenshot> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> -</sect1 -> <!-- tabbed-desc --> +</sect1> <!-- tabbed-desc --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="toplevel-desc"> -<title ->Toppnivåläge</title> +<title>Toppnivåläge</title> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="tdevelop-toplevel-mode.png" format="PNG"/> </imageobject> - <textobject -><phrase ->Skärmbild</phrase -></textobject> - <caption -><para ->&tdevelop; toppnivåläge</para -></caption> + <textobject><phrase>Skärmbild</phrase></textobject> + <caption><para>&tdevelop; toppnivåläge</para></caption> </mediaobject> </screenshot> -<para ->Klicka <link linkend="uimodes-survey" ->här</link -> för att återgå till översikten över lägen. </para> +<para>Klicka <link linkend="uimodes-survey">här</link> för att återgå till översikten över lägen. </para> -</sect1 -> <!-- toplevel-desc --> +</sect1> <!-- toplevel-desc --> -</appendix -> <!-- app-uimodes-examples --> +</appendix> <!-- app-uimodes-examples --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/applicationwizard.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/applicationwizard.docbook index 779dacfdf7b..b556d02763c 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/applicationwizard.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/applicationwizard.docbook @@ -2,720 +2,310 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Komma igång: Programguiden</title> +<title>Komma igång: Programguiden</title> <!-- FIXME (bp, 2006-06-18) This is a misnomer. It should be something like --> <!-- Working With Projects --> <!-- featuring the application manager as part of the New Projects section. --> <indexterm zone="applicationwizard"> - <primary ->Programguiden</primary -></indexterm> + <primary>Programguiden</primary></indexterm> -<para ->Arbete med att utveckla programvara i &tdevelop; organiseras i <emphasis ->projekt</emphasis ->. Ett sådant projekt håller samman allt som hör till en fullständig programmeringsuppgift: källkodsfiler, ytterligare datafiler, alla hanteringsfunktioner som behövs som byggsystemet samt åtkomst till alla komponenter och ytterligare verktyg som behövs för att få programmet klart att köras. </para> -<para ->Att organisera utvecklingsarbetet i projekt låter dig enkelt byta mellan befintliga övergripande uppgifter. Det här riktigt bekvämt om du till exempel arbetar med flera program samtidigt, vilket ofta är fallet. Tala om för &tdevelop; att öppna projektet du vill arbeta med, och du kan fortsätta i miljön precis där du tidigare lämnade den. </para> +<para>Arbete med att utveckla programvara i &tdevelop; organiseras i <emphasis>projekt</emphasis>. Ett sådant projekt håller samman allt som hör till en fullständig programmeringsuppgift: källkodsfiler, ytterligare datafiler, alla hanteringsfunktioner som behövs som byggsystemet samt åtkomst till alla komponenter och ytterligare verktyg som behövs för att få programmet klart att köras. </para> +<para>Att organisera utvecklingsarbetet i projekt låter dig enkelt byta mellan befintliga övergripande uppgifter. Det här riktigt bekvämt om du till exempel arbetar med flera program samtidigt, vilket ofta är fallet. Tala om för &tdevelop; att öppna projektet du vill arbeta med, och du kan fortsätta i miljön precis där du tidigare lämnade den. </para> <sect1 id="new-projects"> -<title ->Nya projekt</title> +<title>Nya projekt</title> <!-- TODO (bp, 2006-06-18) This whole section must be completely rewritten. --> <!-- There is no need for a tutorial habit anymore. --> <indexterm zone="new-projects"> - <primary ->projekt</primary> - <secondary ->nytt</secondary -></indexterm> - -<para ->Så fort du vill starta ett nytt programmeringsprojekt, behöver en hel del formella inställningsprocedurer göras. En startstruktur för kataloger måste skapas, nya deklarationsfiler och källkodsfiler måste skapas, byggsystemet måste initieras, etc. </para> -<para ->&tdevelop; tillhandahåller ett enkelt sätt att starta ett nytt programmeringsprojekt: <emphasis ->programguiden</emphasis ->. Du hittar programguiden via menyalternativet <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt</guimenuitem -></menuchoice ->. </para> -<para ->Det behövs bara ett fåtal steg för att skapa ett nytt programmeringsprojekt med programguiden: </para> + <primary>projekt</primary> + <secondary>nytt</secondary></indexterm> + +<para>Så fort du vill starta ett nytt programmeringsprojekt, behöver en hel del formella inställningsprocedurer göras. En startstruktur för kataloger måste skapas, nya deklarationsfiler och källkodsfiler måste skapas, byggsystemet måste initieras, etc. </para> +<para>&tdevelop; tillhandahåller ett enkelt sätt att starta ett nytt programmeringsprojekt: <emphasis>programguiden</emphasis>. Du hittar programguiden via menyalternativet <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt</guimenuitem></menuchoice>. </para> +<para>Det behövs bara ett fåtal steg för att skapa ett nytt programmeringsprojekt med programguiden: </para> <orderedlist> - <listitem -><para -><link linkend="new-projects-start-type" ->Välj programspråk</link -> du vill använda, och typ av program som du vill skapa från en uppsättning fördefinierade mallar. </para -></listitem> - <listitem -><para -><link linkend="new-projects-start-general" ->Tillhandahåll en del allmän information</link -> som programnamn, katalog där programmet ska byggas, etc. </para -></listitem> - <listitem -><para ->Bestäm om du vill använda ett <link linkend="new-projects-start-cvs" ->versionskontrollsystem</link ->, som t.ex. CVS, och tillhandahåll nödvändig information som behövs. </para -></listitem> - <listitem -><para ->Ställ in några mallar för <link linkend="new-projects-start-templates" ->ursprunglig deklarationsfil och källkodsfil</link -> (om nödvändigt). </para -></listitem> - <listitem -><para ->Tala till sist om för programguiden att <link linkend="new-projects-start-build" ->skapa alla nya saker</link ->, katalogstruktur, startmallar för deklarationsfiler och källkodsfiler, och hanteringsverktyg som ett startskelett för att bygga programmet, etc. </para -></listitem> + <listitem><para><link linkend="new-projects-start-type">Välj programspråk</link> du vill använda, och typ av program som du vill skapa från en uppsättning fördefinierade mallar. </para></listitem> + <listitem><para><link linkend="new-projects-start-general">Tillhandahåll en del allmän information</link> som programnamn, katalog där programmet ska byggas, etc. </para></listitem> + <listitem><para>Bestäm om du vill använda ett <link linkend="new-projects-start-cvs">versionskontrollsystem</link>, som t.ex. CVS, och tillhandahåll nödvändig information som behövs. </para></listitem> + <listitem><para>Ställ in några mallar för <link linkend="new-projects-start-templates">ursprunglig deklarationsfil och källkodsfil</link> (om nödvändigt). </para></listitem> + <listitem><para>Tala till sist om för programguiden att <link linkend="new-projects-start-build">skapa alla nya saker</link>, katalogstruktur, startmallar för deklarationsfiler och källkodsfiler, och hanteringsverktyg som ett startskelett för att bygga programmet, etc. </para></listitem> </orderedlist> -<para ->Voilà, det är allt. Programguiden har nu gett dig en första fungerade uppsättning programfiler, där du enkelt kan börja arbeta. </para> -<para ->Låt oss nu ta en mer detaljerad titt på allt detta... </para> +<para>Voilà, det är allt. Programguiden har nu gett dig en första fungerade uppsättning programfiler, där du enkelt kan börja arbeta. </para> +<para>Låt oss nu ta en mer detaljerad titt på allt detta... </para> <sect2 id="new-projects-start"> -<title ->Inledande steg</title> +<title>Inledande steg</title> <indexterm zone="new-projects-start"> - <primary ->dialogruta</primary> - <secondary ->skapa nytt projekt</secondary -></indexterm> + <primary>dialogruta</primary> + <secondary>skapa nytt projekt</secondary></indexterm> <indexterm zone="new-projects-start"> - <primary ->projekt</primary> - <secondary ->skapa nytt projekt</secondary> - <tertiary ->dialogruta</tertiary -></indexterm> + <primary>projekt</primary> + <secondary>skapa nytt projekt</secondary> + <tertiary>dialogruta</tertiary></indexterm> <indexterm zone="new-projects-start"> - <primary ->projekt</primary> - <secondary ->mallar</secondary -></indexterm> + <primary>projekt</primary> + <secondary>mallar</secondary></indexterm> <indexterm zone="new-projects-start"> - <primary ->mallar</primary> - <secondary ->projekt</secondary -></indexterm> - -<para ->För att skapa ett nytt projekt i &tdevelop;, välj <guimenuitem ->Nytt projekt</guimenuitem -> i menyn <guimenu ->Projekt</guimenu ->. Du ska då se guiden för att skapa nytt projekt, som visas nedan: </para> + <primary>mallar</primary> + <secondary>projekt</secondary></indexterm> + +<para>För att skapa ett nytt projekt i &tdevelop;, välj <guimenuitem>Nytt projekt</guimenuitem> i menyn <guimenu>Projekt</guimenu>. Du ska då se guiden för att skapa nytt projekt, som visas nedan: </para> <screenshot id="screenshot-newprojectwizard"> <mediaobject> <imageobject> <imagedata fileref="create-new-project.png" format="PNG"/> </imageobject> - <caption -><para ->Inledande dialogruta för att skapa ett nytt projekt </para -></caption> + <caption><para>Inledande dialogruta för att skapa ett nytt projekt </para></caption> </mediaobject> </screenshot> -<para ->Som du kan se, är dialogrutan uppdelad i en övre och undre del. I den övre delen kan du bestämma dig för programspråk och programtyp. Den under delen innehåller en del allmän information. </para> +<para>Som du kan se, är dialogrutan uppdelad i en övre och undre del. I den övre delen kan du bestämma dig för programspråk och programtyp. Den under delen innehåller en del allmän information. </para> <sect3 id="new-projects-start-type"> -<title ->Välj programspråk och programtyp</title> +<title>Välj programspråk och programtyp</title> <indexterm zone="new-projects-start-type"> - <primary ->projekt</primary> - <secondary ->programtyp</secondary -></indexterm> + <primary>projekt</primary> + <secondary>programtyp</secondary></indexterm> <indexterm zone="new-projects-start-type"> - <primary ->projekt</primary> - <secondary ->programspråk</secondary -></indexterm> + <primary>projekt</primary> + <secondary>programspråk</secondary></indexterm> <indexterm zone="new-projects-start-type"> - <primary ->projekt</primary> - <secondary ->språk</secondary -></indexterm> + <primary>projekt</primary> + <secondary>språk</secondary></indexterm> <indexterm zone="new-projects-start-type"> - <primary ->språk</primary -></indexterm> + <primary>språk</primary></indexterm> <indexterm zone="new-projects-start-type"> - <primary ->programspråk</primary -></indexterm> + <primary>programspråk</primary></indexterm> <indexterm zone="new-projects-start-type"> - <primary ->program</primary> - <secondary ->typ</secondary -></indexterm> + <primary>program</primary> + <secondary>typ</secondary></indexterm> -<para ->Du gör dina val på vänstersidan längst upp i dialogrutan. När den visas finns en lista med kataloger, var och en med namnet på ett programspråk, som till exempel: </para> +<para>Du gör dina val på vänstersidan längst upp i dialogrutan. När den visas finns en lista med kataloger, var och en med namnet på ett programspråk, som till exempel: </para> <itemizedlist> - <listitem -><para ->Ada <indexterm> - <primary ->Ada</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->C <indexterm> - <primary ->C</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->C++ <indexterm> - <primary ->C++</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Databas (SQL-projekt) <indexterm> - <primary ->SQL</primary> - <secondary ->nytt projekt</secondary -></indexterm> + <listitem><para>Ada <indexterm> + <primary>Ada</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>C <indexterm> + <primary>C</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>C++ <indexterm> + <primary>C++</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Databas (SQL-projekt) <indexterm> + <primary>SQL</primary> + <secondary>nytt projekt</secondary></indexterm> <indexterm> - <primary ->Databas</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Fortran <indexterm> - <primary ->Fortran</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Haskell <indexterm> - <primary ->Haskell</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Java <indexterm> - <primary ->Java</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->PHP <indexterm> - <primary ->PHP</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Pascal <indexterm> - <primary ->Pascal</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Perl <indexterm> - <primary ->Perl</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Python <indexterm> - <primary ->Python</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Ruby <indexterm> - <primary ->Ruby</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Skal (Skript för skalet Bash) <indexterm> - <primary ->Bash</primary> - <secondary ->nytt projekt</secondary -></indexterm> + <primary>Databas</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Fortran <indexterm> + <primary>Fortran</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Haskell <indexterm> + <primary>Haskell</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Java <indexterm> + <primary>Java</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>PHP <indexterm> + <primary>PHP</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Pascal <indexterm> + <primary>Pascal</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Perl <indexterm> + <primary>Perl</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Python <indexterm> + <primary>Python</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Ruby <indexterm> + <primary>Ruby</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> + <listitem><para>Skal (Skript för skalet Bash) <indexterm> + <primary>Bash</primary> + <secondary>nytt projekt</secondary></indexterm> <indexterm> - <primary ->skal</primary> - <secondary ->nytt projekt</secondary -></indexterm> - </para -></listitem> + <primary>skal</primary> + <secondary>nytt projekt</secondary></indexterm> + </para></listitem> </itemizedlist> -<para ->För att precisera, innehåller katalogerna i själva verket inte riktiga programmeringsverktyg. De leder till fördefinierade <emphasis ->mallar</emphasis -> som du kan använda som utgångspunkt för utveckling i ett språk. För att få en idé om vad som erbjuds, öppna bara en katalog i taget. Det finns en följd underkataloger i vissa, men bara en eller flera enkla beteckningar i andra. Underkatalogerna du ser organiserar de tillgängliga mallarna enligt vissa uppgifter, de enkla beteckningarna namnger mallar som du kan välja. </para> -<para ->Här kan vi inte i detalj gå in på vilka uppgifter varje mall tillhandahåller, men det är enkelt att ta reda på. Så fort du markerar en mallbeteckning, visas viss information i fälten till höger. I det nedre fältet ser du en <emphasis ->kort beskrivning</emphasis -> om vad mallen är avsedd att göra. I fältet ovanför visas en bild, om tillgänglig, med hur programmet som mallen producerar ser ut om du kompilerar och kör det utan ändring. Oftast är det en <emphasis ->skärmbild</emphasis -> av huvudfönstret som programmet visar. </para> -<para ->Välj mallen som bäst passar målen för ditt program som startpunkt. Skriv därefter in information om allmänna egenskaper i de nedre fälten, som visas i nästa kapitel. </para> +<para>För att precisera, innehåller katalogerna i själva verket inte riktiga programmeringsverktyg. De leder till fördefinierade <emphasis>mallar</emphasis> som du kan använda som utgångspunkt för utveckling i ett språk. För att få en idé om vad som erbjuds, öppna bara en katalog i taget. Det finns en följd underkataloger i vissa, men bara en eller flera enkla beteckningar i andra. Underkatalogerna du ser organiserar de tillgängliga mallarna enligt vissa uppgifter, de enkla beteckningarna namnger mallar som du kan välja. </para> +<para>Här kan vi inte i detalj gå in på vilka uppgifter varje mall tillhandahåller, men det är enkelt att ta reda på. Så fort du markerar en mallbeteckning, visas viss information i fälten till höger. I det nedre fältet ser du en <emphasis>kort beskrivning</emphasis> om vad mallen är avsedd att göra. I fältet ovanför visas en bild, om tillgänglig, med hur programmet som mallen producerar ser ut om du kompilerar och kör det utan ändring. Oftast är det en <emphasis>skärmbild</emphasis> av huvudfönstret som programmet visar. </para> +<para>Välj mallen som bäst passar målen för ditt program som startpunkt. Skriv därefter in information om allmänna egenskaper i de nedre fälten, som visas i nästa kapitel. </para> <formalpara> -<title ->Välja ett projekthanteringssystem</title> -<para ->Varje mall är kopplad till ett särskilt <link linkend="makesystems" ->projekthanteringssystem</link ->. För närvarande finns det inget direkt sätt att helt fritt välja ett sådant projekthanteringssystem. Du måste hitta en mall som passar dina behov, eller ändra projektet på motsvarande sätt efter det har skapats. </para> +<title>Välja ett projekthanteringssystem</title> +<para>Varje mall är kopplad till ett särskilt <link linkend="makesystems">projekthanteringssystem</link>. För närvarande finns det inget direkt sätt att helt fritt välja ett sådant projekthanteringssystem. Du måste hitta en mall som passar dina behov, eller ändra projektet på motsvarande sätt efter det har skapats. </para> </formalpara> -</sect3 -> <!-- new-projects-start-type --> +</sect3> <!-- new-projects-start-type --> <sect3 id="new-projects-start-general"> -<title ->Ange allmän information</title> +<title>Ange allmän information</title> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->egenskaper</secondary -></indexterm> + <primary>projekt</primary> + <secondary>egenskaper</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->egenskaper</primary -></indexterm> + <primary>egenskaper</primary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->program</primary> - <secondary ->namn</secondary -></indexterm> + <primary>program</primary> + <secondary>namn</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->namn</primary> - <secondary ->program</secondary -></indexterm> + <primary>namn</primary> + <secondary>program</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->katalog</secondary -></indexterm> + <primary>projekt</primary> + <secondary>katalog</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->katalog</primary> - <secondary ->projekt</secondary -></indexterm> + <primary>katalog</primary> + <secondary>projekt</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->sökväg</primary> - <secondary ->nytt projekt</secondary -></indexterm> + <primary>sökväg</primary> + <secondary>nytt projekt</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->upphovsman</secondary -></indexterm> + <primary>projekt</primary> + <secondary>upphovsman</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->e-post</secondary -></indexterm> + <primary>projekt</primary> + <secondary>e-post</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->upphovsman</primary -></indexterm> + <primary>upphovsman</primary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->e-post</primary -></indexterm> + <primary>e-post</primary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->main.cpp</secondary -></indexterm> + <primary>projekt</primary> + <secondary>main.cpp</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->main.cpp</primary -></indexterm> + <primary>main.cpp</primary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->projekt</primary> - <secondary ->licens</secondary -></indexterm> + <primary>projekt</primary> + <secondary>licens</secondary></indexterm> <indexterm zone="new-projects-start-general"> - <primary ->iicens</primary -></indexterm> - -<para ->Den undre delen av sidan <guilabel ->Allmänt</guilabel -> i dialogrutan <guilabel ->Skapa nytt projekt</guilabel -> är ett inramat fält som heter <guilabel ->Egenskaper</guilabel ->. Du måste tillhandahålla en del allmän information om projektet här, så att programguiden vet hur den ursprungliga strukturen ska byggas. </para> + <primary>iicens</primary></indexterm> + +<para>Den undre delen av sidan <guilabel>Allmänt</guilabel> i dialogrutan <guilabel>Skapa nytt projekt</guilabel> är ett inramat fält som heter <guilabel>Egenskaper</guilabel>. Du måste tillhandahålla en del allmän information om projektet här, så att programguiden vet hur den ursprungliga strukturen ska byggas. </para> <formalpara> -<title ->Programnamn</title> -<para ->Ditt program behöver förstås ett namn. Skriv in det i det övre fältet under <guilabel ->Egenskaper</guilabel ->, som heter <guilabel ->Programnamn</guilabel ->. Vi använder <guilabel ->Mitt_program</guilabel -> som exempel. </para> +<title>Programnamn</title> +<para>Ditt program behöver förstås ett namn. Skriv in det i det övre fältet under <guilabel>Egenskaper</guilabel>, som heter <guilabel>Programnamn</guilabel>. Vi använder <guilabel>Mitt_program</guilabel> som exempel. </para> </formalpara> -<para ->När du gör det, märker du att programguiden vägrar att acceptera specialtecken av något slag. De enda tecken som accepteras är: <itemizedlist> - <listitem -><para ->små och stora bokstäver</para -></listitem> - <listitem -><para ->siffror</para -></listitem> - <listitem -><para ->tecknet understreck</para -></listitem> +<para>När du gör det, märker du att programguiden vägrar att acceptera specialtecken av något slag. De enda tecken som accepteras är: <itemizedlist> + <listitem><para>små och stora bokstäver</para></listitem> + <listitem><para>siffror</para></listitem> + <listitem><para>tecknet understreck</para></listitem> </itemizedlist> </para> -<para ->En framträdande orsak till begränsningen är att programguiden kommer att använda programnamnet som <emphasis ->bas för vissa klassnamn</emphasis -> som den skapar när den bygger upp projektet från början. Alltså måste projektets namn följa reglerna för programspråket som används. </para> +<para>En framträdande orsak till begränsningen är att programguiden kommer att använda programnamnet som <emphasis>bas för vissa klassnamn</emphasis> som den skapar när den bygger upp projektet från början. Alltså måste projektets namn följa reglerna för programspråket som används. </para> <formalpara> -<title ->Projektkatalogen</title> -<para ->Den andra utmärkande orsaken för begränsningen ser du på nedersta raden i området <guilabel ->Egenskaper</guilabel ->. Den heter <guilabel ->Slutgiltig plats</guilabel ->, och visar katalogen där programguiden skapar programmet. </para> +<title>Projektkatalogen</title> +<para>Den andra utmärkande orsaken för begränsningen ser du på nedersta raden i området <guilabel>Egenskaper</guilabel>. Den heter <guilabel>Slutgiltig plats</guilabel>, och visar katalogen där programguiden skapar programmet. </para> </formalpara> -<para ->När du skriver in programmets namn märker du att programguiden repeterar det du skriver in längst ner på raden <guilabel ->Slutgiltig plats</guilabel ->, men bara med små bokstäver. </para> -<para ->Alltså måste du välja namn på det nya programmet med försiktighet. Om du slutar med en katalog som redan används, låter inte programguiden dig fortsätta till nästa steg, genom att behålla knappen <guibutton ->Nästa ></guibutton -> inaktiv (grå). Den <emphasis ->varnar</emphasis -> dig också genom att lägga till <quote ->(fil eller katalog finns redan)</quote -> sist på raden <guilabel ->Slutgiltig plats</guilabel ->. </para> +<para>När du skriver in programmets namn märker du att programguiden repeterar det du skriver in längst ner på raden <guilabel>Slutgiltig plats</guilabel>, men bara med små bokstäver. </para> +<para>Alltså måste du välja namn på det nya programmet med försiktighet. Om du slutar med en katalog som redan används, låter inte programguiden dig fortsätta till nästa steg, genom att behålla knappen <guibutton>Nästa ></guibutton> inaktiv (grå). Den <emphasis>varnar</emphasis> dig också genom att lägga till <quote>(fil eller katalog finns redan)</quote> sist på raden <guilabel>Slutgiltig plats</guilabel>. </para> <formalpara> -<title ->Startsökväg</title> -<para ->Det finns två sätt att välja en annan sökväg till det nya programmet. En är att använda ett annat namn. Det är dock inte alltid möjligt (t.ex. skapar du kanske en ny version av ett befintligt program). Som ett alternativ kan du välja en annan sökväg till programkatalogen. </para> +<title>Startsökväg</title> +<para>Det finns två sätt att välja en annan sökväg till det nya programmet. En är att använda ett annat namn. Det är dock inte alltid möjligt (t.ex. skapar du kanske en ny version av ett befintligt program). Som ett alternativ kan du välja en annan sökväg till programkatalogen. </para> </formalpara> -<para ->Det görs i den andra radens inmatningsfält under <guilabel ->Egenskaper</guilabel ->, som heter <guilabel ->Plats</guilabel ->. Det du skriver in här är <emphasis ->överliggande sökväg</emphasis -> för det nya programmets utvecklingskatalog. Programguiden lägger till programnamnet sist i sökvägen när det nya projektet skapas. Resultatet visas på raden <guilabel ->Slutgiltig plats</guilabel -> för att bättre visa vad som händer. </para> -<para ->Programguiden kopierar ett <emphasis ->startvärde</emphasis -> till fältet <guilabel ->Plats</guilabel -> från början. Det hämtas från det du har valt under fältet <guilabel ->Standardprojektkatalog</guilabel -> under den <link linkend="setup-general" ->allmänna inställningen</link ->. I vårt fall har vi ställt in &tdevelop; att använda <filename class="directory" ->/home/utveckling/projekt/</filename -> som ursprunglig sökväg för nya projekt. </para> -<para ->Ändra innehållet i fältet <guilabel ->Plats</guilabel ->, så att utvecklingskatalogen för programmet som visas på raden <guilabel ->Slutgiltig plats</guilabel -> är unik. </para> +<para>Det görs i den andra radens inmatningsfält under <guilabel>Egenskaper</guilabel>, som heter <guilabel>Plats</guilabel>. Det du skriver in här är <emphasis>överliggande sökväg</emphasis> för det nya programmets utvecklingskatalog. Programguiden lägger till programnamnet sist i sökvägen när det nya projektet skapas. Resultatet visas på raden <guilabel>Slutgiltig plats</guilabel> för att bättre visa vad som händer. </para> +<para>Programguiden kopierar ett <emphasis>startvärde</emphasis> till fältet <guilabel>Plats</guilabel> från början. Det hämtas från det du har valt under fältet <guilabel>Standardprojektkatalog</guilabel> under den <link linkend="setup-general">allmänna inställningen</link>. I vårt fall har vi ställt in &tdevelop; att använda <filename class="directory">/home/utveckling/projekt/</filename> som ursprunglig sökväg för nya projekt. </para> +<para>Ändra innehållet i fältet <guilabel>Plats</guilabel>, så att utvecklingskatalogen för programmet som visas på raden <guilabel>Slutgiltig plats</guilabel> är unik. </para> <!--TODO add tab description Project Options --> -<note -><para ->Försäkra dig om att sökvägen du skriver in i fältet <guilabel ->Plats</guilabel -> redan finns. Annars kommer du inte att kunna fortsätta till nästa steg. Programguiden <emphasis ->varnar</emphasis -> dig om sökvägar som inte finns, genom att lägga till <quote ->(ogiltig)</quote -> sist på raden <guilabel ->Slutgiltig plats</guilabel ->. </para -></note> +<note><para>Försäkra dig om att sökvägen du skriver in i fältet <guilabel>Plats</guilabel> redan finns. Annars kommer du inte att kunna fortsätta till nästa steg. Programguiden <emphasis>varnar</emphasis> dig om sökvägar som inte finns, genom att lägga till <quote>(ogiltig)</quote> sist på raden <guilabel>Slutgiltig plats</guilabel>. </para></note> <screenshot id="screenshot-createnewprojectoptions"> <mediaobject> <imageobject> <imagedata fileref="createnewprojectoptions.png" format="PNG"/> </imageobject> - <caption -><para ->Ställa in ett nytt projekt för CVS </para -></caption> + <caption><para>Ställa in ett nytt projekt för CVS </para></caption> </mediaobject> </screenshot> <formalpara> -<title ->Personlig information</title> -<para ->Fälten som följer är inte så kritiska. Ange bara ditt namn (dvs. namnet på personen som är ansvarig för programmet) i fältet <guilabel ->Upphovsman</guilabel ->, och en giltig e-postadress i fältet <guilabel ->E-post</guilabel ->, så att användare kan ge dig återmatning om programmet. </para> +<title>Personlig information</title> +<para>Fälten som följer är inte så kritiska. Ange bara ditt namn (dvs. namnet på personen som är ansvarig för programmet) i fältet <guilabel>Upphovsman</guilabel>, och en giltig e-postadress i fältet <guilabel>E-post</guilabel>, så att användare kan ge dig återmatning om programmet. </para> </formalpara> <note> <orderedlist> - <listitem -><para ->Programguiden fyller i fälten med vissa förvalda värden, som tas från e-postinställningarna i KDE:s inställningscentral. Om de förvalda värdena i fälten <guilabel ->Upphovsman</guilabel -> och <guilabel ->E-post</guilabel -> under <guilabel ->Skapa nytt projekt</guilabel -> inte passar, bör du kontrollera e-postinställningarna i KDE:s inställningscentral. </para -></listitem> - <listitem -><para ->Programguiden sammanställer informationen till startprogrammallar om de finns. För &kde; C++ program, hittar du den till exempel i början av källkodsfilen <filename ->main.cpp</filename ->. </para -></listitem> - <listitem -><para ->Fältet <guilabel ->E-post</guilabel -> är det <emphasis ->valfria</emphasis -> bland fälten, vilket beror på att alla utvecklare kanske inte har tillgång till Internet. Du kan lämna fältet tomt om du vill, och ändå fortsätta. </para -></listitem> + <listitem><para>Programguiden fyller i fälten med vissa förvalda värden, som tas från e-postinställningarna i KDE:s inställningscentral. Om de förvalda värdena i fälten <guilabel>Upphovsman</guilabel> och <guilabel>E-post</guilabel> under <guilabel>Skapa nytt projekt</guilabel> inte passar, bör du kontrollera e-postinställningarna i KDE:s inställningscentral. </para></listitem> + <listitem><para>Programguiden sammanställer informationen till startprogrammallar om de finns. För &kde; C++ program, hittar du den till exempel i början av källkodsfilen <filename>main.cpp</filename>. </para></listitem> + <listitem><para>Fältet <guilabel>E-post</guilabel> är det <emphasis>valfria</emphasis> bland fälten, vilket beror på att alla utvecklare kanske inte har tillgång till Internet. Du kan lämna fältet tomt om du vill, och ändå fortsätta. </para></listitem> </orderedlist> </note> <formalpara> -<title ->Versions- och licensinformation</title> -<para ->Skriv till sist in startversion för det nya programmet i fältet <guilabel ->Version</guilabel ->, och välj licensen du vill ska gälla för ditt program i kombinationsrutan <guilabel ->Licens</guilabel ->. </para> +<title>Versions- och licensinformation</title> +<para>Skriv till sist in startversion för det nya programmet i fältet <guilabel>Version</guilabel>, och välj licensen du vill ska gälla för ditt program i kombinationsrutan <guilabel>Licens</guilabel>. </para> </formalpara> -<para ->Om du väljer en programtyp där programguiden tillhandahåller gemensamma källkodstextmallar (t.ex. C/C++), bör du titta på licensinformationstexten på tredje sidan i dialogrutan <guilabel ->Skapa nytt projekt</guilabel -> (se kapitlet <link linkend="new-projects-start-templates" ->Ange mallar för deklarationer och källkod</link -> nedan). </para> -<para ->Om du valde <quote ->Egen</quote -> i kombinationsrutan <guilabel ->Licens</guilabel -> måste du själv tillhandahålla en licenstext. </para> - -<note -><para ->Både version och licensinformation kommer också att infogas i startmallarna på ett lämpligt format som tillhandahålls av programtypen du väljer. </para -></note> - -<para ->När du har skrivit in all den här informationen på ett riktigt sätt, tryck på knappen <guibutton ->Nästa ></guibutton -> för att fortsätta, som visas i följande kapitel. </para> -</sect3 -> <!-- new-projects-start-general --> - -</sect2 -> <!-- new-projects-start --> +<para>Om du väljer en programtyp där programguiden tillhandahåller gemensamma källkodstextmallar (t.ex. C/C++), bör du titta på licensinformationstexten på tredje sidan i dialogrutan <guilabel>Skapa nytt projekt</guilabel> (se kapitlet <link linkend="new-projects-start-templates">Ange mallar för deklarationer och källkod</link> nedan). </para> +<para>Om du valde <quote>Egen</quote> i kombinationsrutan <guilabel>Licens</guilabel> måste du själv tillhandahålla en licenstext. </para> + +<note><para>Både version och licensinformation kommer också att infogas i startmallarna på ett lämpligt format som tillhandahålls av programtypen du väljer. </para></note> + +<para>När du har skrivit in all den här informationen på ett riktigt sätt, tryck på knappen <guibutton>Nästa ></guibutton> för att fortsätta, som visas i följande kapitel. </para> +</sect3> <!-- new-projects-start-general --> + +</sect2> <!-- new-projects-start --> <sect2 id="new-projects-start-cvs"> -<title ->Ange information om versionssystem</title> +<title>Ange information om versionssystem</title> <indexterm zone="new-projects-start-cvs"> - <primary ->CVS</primary> - <secondary ->nytt projekt</secondary -></indexterm> + <primary>CVS</primary> + <secondary>nytt projekt</secondary></indexterm> <indexterm zone="new-projects-start-cvs"> - <primary ->projekt</primary> - <secondary ->CVS</secondary -></indexterm> + <primary>projekt</primary> + <secondary>CVS</secondary></indexterm> <indexterm zone="new-projects-start-cvs"> - <primary ->databas</primary> - <secondary ->CVS</secondary -></indexterm> + <primary>databas</primary> + <secondary>CVS</secondary></indexterm> <indexterm zone="new-projects-start-cvs"> - <primary ->version</primary> - <secondary ->databas</secondary -></indexterm> + <primary>version</primary> + <secondary>databas</secondary></indexterm> <indexterm zone="new-projects-start-cvs"> - <primary ->version</primary> - <secondary ->CVS</secondary -></indexterm> - -<para ->I det andra steget, leder programguiden dig till sidan <guilabel ->Versionskontrollsystem</guilabel ->, där du kan bestämma vilket versionskontrollsystem du vill använda. </para> - -<note -><para ->Den här beskrivningen koncentreras endast på behoven för att skapa projekt. För mer information om &CVS;, se kapitlet <link linkend="cvs" ->Använda &CVS;</link -> nedan. </para -></note> + <primary>version</primary> + <secondary>CVS</secondary></indexterm> + +<para>I det andra steget, leder programguiden dig till sidan <guilabel>Versionskontrollsystem</guilabel>, där du kan bestämma vilket versionskontrollsystem du vill använda. </para> + +<note><para>Den här beskrivningen koncentreras endast på behoven för att skapa projekt. För mer information om &CVS;, se kapitlet <link linkend="cvs">Använda &CVS;</link> nedan. </para></note> <formalpara> -<title ->Inget versionskontrollsystem önskas</title> -<para ->Från början är <quote ->Inget</quote -> valt i kombinationsrutan <guilabel ->Versionskontrollsystem</guilabel ->, och sidan är för övrigt tom. Om du inte vill använda ett versionskontrollsystem, klicka bara på knappen <guibutton ->Nästa ></guibutton -> för att fortsätta. </para> +<title>Inget versionskontrollsystem önskas</title> +<para>Från början är <quote>Inget</quote> valt i kombinationsrutan <guilabel>Versionskontrollsystem</guilabel>, och sidan är för övrigt tom. Om du inte vill använda ett versionskontrollsystem, klicka bara på knappen <guibutton>Nästa ></guibutton> för att fortsätta. </para> </formalpara> <formalpara> -<title ->Använda &CVS;</title> -<para ->Annars måste du välja versionskontrollsystemet som du vill använda i kombinationsrutan <guilabel ->Versionskontrollsystem</guilabel ->. Vi använder <quote ->&cvs;</quote -> i vårt exempel. Om du väljer det, visar programguiden sidan igen, men nu innehåller den ett antal fält som du måste fylla i. </para> +<title>Använda &CVS;</title> +<para>Annars måste du välja versionskontrollsystemet som du vill använda i kombinationsrutan <guilabel>Versionskontrollsystem</guilabel>. Vi använder <quote>&cvs;</quote> i vårt exempel. Om du väljer det, visar programguiden sidan igen, men nu innehåller den ett antal fält som du måste fylla i. </para> </formalpara> <screenshot id="screenshot-newproject-cvs"> @@ -723,311 +313,114 @@ <imageobject> <imagedata fileref="create-new-project-cvs.png" format="PNG"/> </imageobject> - <caption -><para ->Ställa in ett nytt projekt för CVS </para -></caption> + <caption><para>Ställa in ett nytt projekt för CVS </para></caption> </mediaobject> </screenshot> -<para ->Ett versionskontrollsystem som &CVS; (vilket betyder <quote ->Concurrent Versions System</quote ->) lagrar kopior av valda projektfiler i någon sorts databas. Om du använder &CVS;, kan du bland annat ladda upp (<quote ->arkivera</quote ->) filerna eller ladda ner dem till din projektkatalog (<quote ->checka ut</quote ->, eller <quote ->uppdatera</quote ->). Det särskilda med detta är att filerna i versionsdatabasen lagras på ett strukturerat sätt, vilket gör att du alltid kan återgå till ett tidigare utvecklingssteg om du behöver. &CVS; tillåter också flera utvecklare att ganska enkelt samarbeta i ett stort projekt (som &tdevelop;), utan att störa varandras arbete. </para> +<para>Ett versionskontrollsystem som &CVS; (vilket betyder <quote>Concurrent Versions System</quote>) lagrar kopior av valda projektfiler i någon sorts databas. Om du använder &CVS;, kan du bland annat ladda upp (<quote>arkivera</quote>) filerna eller ladda ner dem till din projektkatalog (<quote>checka ut</quote>, eller <quote>uppdatera</quote>). Det särskilda med detta är att filerna i versionsdatabasen lagras på ett strukturerat sätt, vilket gör att du alltid kan återgå till ett tidigare utvecklingssteg om du behöver. &CVS; tillåter också flera utvecklare att ganska enkelt samarbeta i ett stort projekt (som &tdevelop;), utan att störa varandras arbete. </para> <indexterm zone="new-projects-start-cvs-root"> - <primary ->CVS</primary> - <secondary ->rot</secondary -></indexterm> + <primary>CVS</primary> + <secondary>rot</secondary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->rot</primary> - <secondary ->CVS</secondary -></indexterm> + <primary>rot</primary> + <secondary>CVS</secondary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->CVS</primary> - <secondary ->lokal</secondary -></indexterm> + <primary>CVS</primary> + <secondary>lokal</secondary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->CVS</primary> - <secondary ->fjärr</secondary -></indexterm> + <primary>CVS</primary> + <secondary>fjärr</secondary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->lokal CVS</primary -></indexterm> + <primary>lokal CVS</primary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->:local:</primary -></indexterm> + <primary>:local:</primary></indexterm> <indexterm zone="new-projects-start-cvs-root"> - <primary ->CVS</primary> - <secondary ->:local:</secondary -></indexterm> + <primary>CVS</primary> + <secondary>:local:</secondary></indexterm> <formalpara id="new-projects-start-cvs-root"> -<title ->&CVS;-rot</title> -<para ->&CVS; måste <emphasis ->hantera</emphasis -> versionsdatabasen som det har med dina projektfiler. För att åstadkomma det har det en del speciell databasinformation i en egen katalog, som kallas <emphasis ->&CVS;-roten</emphasis ->. Det första steget för att ställa in &CVS; för det nya projektet, är alltså att tala om för &tdevelop; var roten finns. </para> +<title>&CVS;-rot</title> +<para>&CVS; måste <emphasis>hantera</emphasis> versionsdatabasen som det har med dina projektfiler. För att åstadkomma det har det en del speciell databasinformation i en egen katalog, som kallas <emphasis>&CVS;-roten</emphasis>. Det första steget för att ställa in &CVS; för det nya projektet, är alltså att tala om för &tdevelop; var roten finns. </para> </formalpara> -<para -><emphasis ->Lokal &CVS;-rot.</emphasis -> Det finns två grundläggande möjligheter. Antingen vill du använda en <emphasis ->lokal</emphasis -> &CVS;-databas, eller använder du en databas som finns på en <emphasis ->fjärrserver</emphasis ->. Om du utvecklar på egen hand, kan du vilja använda &CVS;-databasen som ett sorts säkerhetskopieringssystem på din egen dator. Oftast skapas den i din hemkatalog och ges namnet <filename ->cvsroot</filename ->. Det kan se ut på följande sätt: </para> -<para -><userinput -><filename class="directory" ->/home/utveckling/cvsroot</filename -></userinput -> (där <filename ->devel</filename -> helt enkelt anger användaren <quote ->utveckling</quote ->, bara som ett exempel) </para> - -<note -><para ->I själva verket är det här en förkortad form. Mer fullständigt ska den lokala &CVS;-roten adresseras med prefixet <computeroutput ->:local:</computeroutput ->. Den förkortade formen tillåts bara i fallen då filnamnet börjar med ett snedstreck (<computeroutput ->/</computeroutput ->). Det fullständiga namnet på vår lokala &CVS;-rot i exemplet skulle exakt se ut som: <filename class="directory" ->:local:/home/utveckling/cvsroot</filename ->. </para -></note> - -<para ->Skriv in namnet på &CVS;-rotkatalogen som systemet har ställts in för i fältet <guilabel ->CVS-rot</guilabel ->. I princip kan du välja vilket namn som helst, och till och med använda flera &CVS;-databaser, men det är lämpligt att behålla &CVS;-roten när den väl har ställts in. </para> -<para -><emphasis ->Initiera en ny &CVS;-rot</emphasis ->. Om det inte finns en &CVS;-root, ännu kan &tdevelop; ställa in &CVS;-systemet att skapa ett åt dig i den givna katalogen. Markera bara kryssrutan <guilabel ->Initiera rot</guilabel -> under fältet <guilabel ->CVS-rot</guilabel ->. </para> -<note -><para ->Som sagt, <emphasis ->beordrar</emphasis -> bara &tdevelop; &CVS;-systemet att initiera en ny &CVS;-rot. Det gör ingenting själv med katalogen. Som tur är, är &CVS; smart nog att kontrollera om &CVS;-rotkatalogen redan finns. Därför gör det ingen skada om du skulle ha markerat <guilabel ->Initiera rot</guilabel -> för en befintlig &CVS;-rotkatalog. </para -></note> - -<para -><emphasis ->Fjärr &CVS;-rot.</emphasis -> Det finns tillfällen då &CVS;-databasen ska finnas på en fjärrserver, särskilt när flera utvecklare arbetar med samma projekt. Då måste du skriva in &CVS;-rotens webbadress till servern i fältet <guilabel ->CVS-rot</guilabel ->. Om du till exempel vill komma åt &kde;:s &CVS;-server: </para> -<para -><userinput -><filename class="directory" ->:pserver:<replaceable ->min_inloggning</replaceable ->@cvs.kde.org:/home/kde</filename -></userinput -> (där <replaceable ->min_inloggning</replaceable -> anger inloggningsnamnet som är inställt i ditt &kde; &CVS;-konto) </para> +<para><emphasis>Lokal &CVS;-rot.</emphasis> Det finns två grundläggande möjligheter. Antingen vill du använda en <emphasis>lokal</emphasis> &CVS;-databas, eller använder du en databas som finns på en <emphasis>fjärrserver</emphasis>. Om du utvecklar på egen hand, kan du vilja använda &CVS;-databasen som ett sorts säkerhetskopieringssystem på din egen dator. Oftast skapas den i din hemkatalog och ges namnet <filename>cvsroot</filename>. Det kan se ut på följande sätt: </para> +<para><userinput><filename class="directory">/home/utveckling/cvsroot</filename></userinput> (där <filename>devel</filename> helt enkelt anger användaren <quote>utveckling</quote>, bara som ett exempel) </para> + +<note><para>I själva verket är det här en förkortad form. Mer fullständigt ska den lokala &CVS;-roten adresseras med prefixet <computeroutput>:local:</computeroutput>. Den förkortade formen tillåts bara i fallen då filnamnet börjar med ett snedstreck (<computeroutput>/</computeroutput>). Det fullständiga namnet på vår lokala &CVS;-rot i exemplet skulle exakt se ut som: <filename class="directory">:local:/home/utveckling/cvsroot</filename>. </para></note> + +<para>Skriv in namnet på &CVS;-rotkatalogen som systemet har ställts in för i fältet <guilabel>CVS-rot</guilabel>. I princip kan du välja vilket namn som helst, och till och med använda flera &CVS;-databaser, men det är lämpligt att behålla &CVS;-roten när den väl har ställts in. </para> +<para><emphasis>Initiera en ny &CVS;-rot</emphasis>. Om det inte finns en &CVS;-root, ännu kan &tdevelop; ställa in &CVS;-systemet att skapa ett åt dig i den givna katalogen. Markera bara kryssrutan <guilabel>Initiera rot</guilabel> under fältet <guilabel>CVS-rot</guilabel>. </para> +<note><para>Som sagt, <emphasis>beordrar</emphasis> bara &tdevelop; &CVS;-systemet att initiera en ny &CVS;-rot. Det gör ingenting själv med katalogen. Som tur är, är &CVS; smart nog att kontrollera om &CVS;-rotkatalogen redan finns. Därför gör det ingen skada om du skulle ha markerat <guilabel>Initiera rot</guilabel> för en befintlig &CVS;-rotkatalog. </para></note> + +<para><emphasis>Fjärr &CVS;-rot.</emphasis> Det finns tillfällen då &CVS;-databasen ska finnas på en fjärrserver, särskilt när flera utvecklare arbetar med samma projekt. Då måste du skriva in &CVS;-rotens webbadress till servern i fältet <guilabel>CVS-rot</guilabel>. Om du till exempel vill komma åt &kde;:s &CVS;-server: </para> +<para><userinput><filename class="directory">:pserver:<replaceable>min_inloggning</replaceable>@cvs.kde.org:/home/kde</filename></userinput> (där <replaceable>min_inloggning</replaceable> anger inloggningsnamnet som är inställt i ditt &kde; &CVS;-konto) </para> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->Fjärr-CVS</primary -></indexterm> + <primary>Fjärr-CVS</primary></indexterm> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->:pserver:</primary -></indexterm> + <primary>:pserver:</primary></indexterm> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->:ext:</primary -></indexterm> + <primary>:ext:</primary></indexterm> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->CVS</primary> - <secondary ->:local:</secondary -></indexterm> + <primary>CVS</primary> + <secondary>:local:</secondary></indexterm> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->CVS</primary> - <secondary ->:pserver:</secondary -></indexterm> + <primary>CVS</primary> + <secondary>:pserver:</secondary></indexterm> <indexterm zone="new-projects-start-cvs-remote"> - <primary ->CVS</primary> - <secondary ->:ext:</secondary -></indexterm> + <primary>CVS</primary> + <secondary>:ext:</secondary></indexterm> <formalpara id="new-projects-start-cvs-remote"> -<title ->Servertyper för fjärr-&CVS;</title> -<para ->Det finns i huvudsak två fjärrservertyper för &CVS; med bred användning: <emphasis ->pserver</emphasis -> som använder ett lösenordssäkrat okrypterat protokoll, och <emphasis ->ext</emphasis ->-servern som använder krypterad dataöverföring via rsh eller ssh. De skiljs åt av webbadressprefixet de använder: </para> +<title>Servertyper för fjärr-&CVS;</title> +<para>Det finns i huvudsak två fjärrservertyper för &CVS; med bred användning: <emphasis>pserver</emphasis> som använder ett lösenordssäkrat okrypterat protokoll, och <emphasis>ext</emphasis>-servern som använder krypterad dataöverföring via rsh eller ssh. De skiljs åt av webbadressprefixet de använder: </para> </formalpara> <para> -<filename ->:pserver:</filename> +<filename>:pserver:</filename> </para> -<para ->för den okrypterade typen <quote ->lösenordsskyddad server</quote ->, och </para> +<para>för den okrypterade typen <quote>lösenordsskyddad server</quote>, och </para> <para> -<filename ->:ext:</filename> +<filename>:ext:</filename> </para> -<para ->för en servertyp krypterad med rsh eller ssh. Till exempel </para> +<para>för en servertyp krypterad med rsh eller ssh. Till exempel </para> <para> -<userinput -><filename class="directory" ->:ext:<replaceable ->min_inloggning</replaceable ->@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</filename -></userinput> +<userinput><filename class="directory">:ext:<replaceable>min_inloggning</replaceable>@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</filename></userinput> </para> -<para ->kommer åt &CVS;-roten för det brett använda &CVS;-hanteringsverktyget <application ->Cervisia</application -> på servern SourceForge. </para> -<para ->Om du vill använda en krypterad server via rsh eller ssh för att komma åt &CVS;, måste du tala om för &tdevelop; vilket krypteringsprotokoll som ska användas. Skriv bara in <userinput ->rsh</userinput -> eller <userinput ->ssh</userinput -> i fältet <guilabel ->CVS_RSH</guilabel -> på sidan <guilabel ->Versionskontrollsystem</guilabel -> i <guilabel ->Skapa nytt projekt</guilabel ->. </para> - -<note -><para ->Det finns ett problem om du använder en krypterad server för &CVS; inne i &tdevelop;. Se kapitlet <link linkend="cvs" ->Använda &CVS;</link -> för detaljinformation. </para -></note> +<para>kommer åt &CVS;-roten för det brett använda &CVS;-hanteringsverktyget <application>Cervisia</application> på servern SourceForge. </para> +<para>Om du vill använda en krypterad server via rsh eller ssh för att komma åt &CVS;, måste du tala om för &tdevelop; vilket krypteringsprotokoll som ska användas. Skriv bara in <userinput>rsh</userinput> eller <userinput>ssh</userinput> i fältet <guilabel>CVS_RSH</guilabel> på sidan <guilabel>Versionskontrollsystem</guilabel> i <guilabel>Skapa nytt projekt</guilabel>. </para> + +<note><para>Det finns ett problem om du använder en krypterad server för &CVS; inne i &tdevelop;. Se kapitlet <link linkend="cvs">Använda &CVS;</link> för detaljinformation. </para></note> <indexterm zone="new-projects-start-cvs-repository"> - <primary ->CVS</primary> - <secondary ->arkiv</secondary -></indexterm> + <primary>CVS</primary> + <secondary>arkiv</secondary></indexterm> <indexterm zone="new-projects-start-cvs-repository"> - <primary ->arkiv</primary> - <secondary ->CVS</secondary -></indexterm> + <primary>arkiv</primary> + <secondary>CVS</secondary></indexterm> <formalpara id="new-projects-start-cvs-repository"> -<title ->&CVS;-arkivet</title> -<para ->Hittills har du talat om för &tdevelop; var &CVS;-roten finns, som hanterar versionsdatabasen och hur den ska kommas åt. Nu måste du tala om för &tdevelop; vilket namn du vill att &CVS; ska använda för att spara dina projektfiler i databasen. Ett sådan ställe där projektfilerna lagras i &CVS;, kallas ett <emphasis ->arkiv</emphasis ->. </para> +<title>&CVS;-arkivet</title> +<para>Hittills har du talat om för &tdevelop; var &CVS;-roten finns, som hanterar versionsdatabasen och hur den ska kommas åt. Nu måste du tala om för &tdevelop; vilket namn du vill att &CVS; ska använda för att spara dina projektfiler i databasen. Ett sådan ställe där projektfilerna lagras i &CVS;, kallas ett <emphasis>arkiv</emphasis>. </para> </formalpara> -<para ->I princip kan du använda vilket namn som helst för projektfilernas &CVS;-arkiv, så länge det uppfyller specifikationerna för att namnge en fil. Oftast använder ändå de flesta utvecklare själva programmets namn. &CVS; bygger en katalog med namnet under &CVS;-roten, därför hittas det enklare om du behåller programnamnet för det. </para> -<para ->Skriv bara in arkivnamnet som du vill använda i fältet <guilabel ->CVS-arkiv</guilabel -> på sidan <guilabel ->Versionskontrollsystem</guilabel -> under <guilabel ->Skapa nytt projekt</guilabel ->. I vårt exempel är det <userinput ->Mitt_program</userinput ->. </para> - -<warning -><para -><emphasis ->Försäkra dig om att inte använda ett arkiv som redan finns!</emphasis ->. &CVS;-systemet varnar inte för duplicerade filer, utan skyfflar in allting som inte producerar en formell konflikt. Du ställer till allting! </para -></warning> +<para>I princip kan du använda vilket namn som helst för projektfilernas &CVS;-arkiv, så länge det uppfyller specifikationerna för att namnge en fil. Oftast använder ändå de flesta utvecklare själva programmets namn. &CVS; bygger en katalog med namnet under &CVS;-roten, därför hittas det enklare om du behåller programnamnet för det. </para> +<para>Skriv bara in arkivnamnet som du vill använda i fältet <guilabel>CVS-arkiv</guilabel> på sidan <guilabel>Versionskontrollsystem</guilabel> under <guilabel>Skapa nytt projekt</guilabel>. I vårt exempel är det <userinput>Mitt_program</userinput>. </para> + +<warning><para><emphasis>Försäkra dig om att inte använda ett arkiv som redan finns!</emphasis>. &CVS;-systemet varnar inte för duplicerade filer, utan skyfflar in allting som inte producerar en formell konflikt. Du ställer till allting! </para></warning> <formalpara> -<title ->Återstående fält</title> -<para ->Det återstår inte mycket arbete. Programguiden har redan ställt in återstående fält åt dig. Mer detaljerat: </para> +<title>Återstående fält</title> +<para>Det återstår inte mycket arbete. Programguiden har redan ställt in återstående fält åt dig. Mer detaljerat: </para> </formalpara> -<para ->Fältet <guilabel ->Leverantörstagg</guilabel -> används endast av kompatibilitetsskäl. Du kan behålla standardvärdet <quote ->leverantör</quote -> som programguiden skrivit in här. </para> -<para ->Fältet <guilabel ->Meddelande</guilabel -> gör det möjligt att skriva in en kommentar om innehållet i &CVS; från början. Använd vilken text du vill, eller behåll bara standardvärdet <guilabel ->nytt projekt</guilabel -> som programguiden skrivit in. </para> -<para -><guilabel ->Utgåvetagg</guilabel -> innehåller namnet som används som tagg för det ursprungliga tillståndet för projektet. En sådan <emphasis ->tagg</emphasis -> namnger ett visst tillstånd i &CVS;-arkivet, som du senare kan använda för att komma åt det tillståndet för utvecklingen. (Se vidare i kapitlet <link linkend="cvs" ->Använda &CVS;</link ->.) </para> -<para ->Programguiden har skrivit in standardtaggen <quote ->start</quote -> här, som är ett värdigt förslag. Behåll det bara. </para> +<para>Fältet <guilabel>Leverantörstagg</guilabel> används endast av kompatibilitetsskäl. Du kan behålla standardvärdet <quote>leverantör</quote> som programguiden skrivit in här. </para> +<para>Fältet <guilabel>Meddelande</guilabel> gör det möjligt att skriva in en kommentar om innehållet i &CVS; från början. Använd vilken text du vill, eller behåll bara standardvärdet <guilabel>nytt projekt</guilabel> som programguiden skrivit in. </para> +<para><guilabel>Utgåvetagg</guilabel> innehåller namnet som används som tagg för det ursprungliga tillståndet för projektet. En sådan <emphasis>tagg</emphasis> namnger ett visst tillstånd i &CVS;-arkivet, som du senare kan använda för att komma åt det tillståndet för utvecklingen. (Se vidare i kapitlet <link linkend="cvs">Använda &CVS;</link>.) </para> +<para>Programguiden har skrivit in standardtaggen <quote>start</quote> här, som är ett värdigt förslag. Behåll det bara. </para> <note> -<para ->Om någon information om versionskontroll är fel, märker &tdevelop; det oftast inte förrän projektet skapas. Det är &CVS;-systemet som hittar felen när det försöker skapa arkivet. Därför måste du hålla ett öga på fönstret <guilabel ->Meddelanden</guilabel -> i &tdevelop; när projektet skapas under det sista inställningssteget. Om det var något fel med &CVS;, ser du oftast ett felmeddelande som det här: </para> +<para>Om någon information om versionskontroll är fel, märker &tdevelop; det oftast inte förrän projektet skapas. Det är &CVS;-systemet som hittar felen när det försöker skapa arkivet. Därför måste du hålla ett öga på fönstret <guilabel>Meddelanden</guilabel> i &tdevelop; när projektet skapas under det sista inställningssteget. Om det var något fel med &CVS;, ser du oftast ett felmeddelande som det här: </para> -<screen -><computeroutput> +<screen><computeroutput> * cd '/home/utveckling/test' && cvs -d '/home/utveckling/min_cvsrot' \ import -m 'nytt projekt' '' 'leverantör' 'start' &&\ sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \ @@ -1035,48 +428,25 @@ * cvs [import aborted]: /home/utveckling/min_cvsrot/CVSROOT: No such file or directory * *** Exited with status: 1 *** -</computeroutput -></screen> - -<para ->Om det här händer, måste du antingen ställa in &CVS; för hand (&tdevelop; ska ha lyckats initiera dina projektfiler vid detta tillfälle) eller ta bort projektkatalogen och börja om igen med <guimenuitem ->Nytt projekt</guimenuitem -> i menyn <guimenu ->Projekt</guimenu ->. </para> +</computeroutput></screen> + +<para>Om det här händer, måste du antingen ställa in &CVS; för hand (&tdevelop; ska ha lyckats initiera dina projektfiler vid detta tillfälle) eller ta bort projektkatalogen och börja om igen med <guimenuitem>Nytt projekt</guimenuitem> i menyn <guimenu>Projekt</guimenu>. </para> </note> -<para ->Efter du har skrivit in all informationrelaterad till &CVS;, klicka på knappen <guibutton ->Nästa ></guibutton -> för att fortsätta. </para> +<para>Efter du har skrivit in all informationrelaterad till &CVS;, klicka på knappen <guibutton>Nästa ></guibutton> för att fortsätta. </para> -<note -><para ->Om du vill rätta ett fel på föregående sida i <guilabel ->Skapa nytt projekt</guilabel ->, tryck bara på knappen <guibutton ->< Tillbaka</guibutton ->. Programguiden kommer ihåg dina inställningar på nuvarande sida, så du kan enkelt fortsätta när du kommer tillbaka. </para -></note> +<note><para>Om du vill rätta ett fel på föregående sida i <guilabel>Skapa nytt projekt</guilabel>, tryck bara på knappen <guibutton>< Tillbaka</guibutton>. Programguiden kommer ihåg dina inställningar på nuvarande sida, så du kan enkelt fortsätta när du kommer tillbaka. </para></note> -</sect2 -> <!-- new-projects-start-cvs --> +</sect2> <!-- new-projects-start-cvs --> <sect2 id="new-projects-start-templates"> -<title ->Ange mallar för deklarationer och källkod</title> - -<para ->Nästa steg tar dig till en serie sidor, där du kan ställa in vanlig information som du vill inkludera i dina källkods- och deklarationsfiler, om uppgiften i fråga tillåter. </para> -<para ->Både deklarationsmallar och källkodsmallar tillhandahålls för C och C++ program, var och en på sin egen sida. För andra språk kanske det bara finns källkodsmallar. I vissa fall ser du till och med att mallsidan är tom. </para> -<para ->Om sidan används, fyller programguiden i några vanliga kommentarer i sidhuvudet, som kan se ut så här för ett C++ baserat program: </para> - -<screen -><computeroutput -><literal> +<title>Ange mallar för deklarationer och källkod</title> + +<para>Nästa steg tar dig till en serie sidor, där du kan ställa in vanlig information som du vill inkludera i dina källkods- och deklarationsfiler, om uppgiften i fråga tillåter. </para> +<para>Både deklarationsmallar och källkodsmallar tillhandahålls för C och C++ program, var och en på sin egen sida. För andra språk kanske det bara finns källkodsmallar. I vissa fall ser du till och med att mallsidan är tom. </para> +<para>Om sidan används, fyller programguiden i några vanliga kommentarer i sidhuvudet, som kan se ut så här för ett C++ baserat program: </para> + +<screen><computeroutput><literal> /*************************************************************************** * Copyright (C) 2003 by Ditt namn * * du@du.se * @@ -1096,287 +466,122 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -</literal -></computeroutput -></screen> - -<para ->Andra mallar tillhandahåller liknande information på ett format enligt definitionen av programspråket du vill använda. </para> -<para ->Som du kanske märkt, har programhanteringen redan fyllt i viss information som du angav på den fösta sidan <guilabel ->Allmänt</guilabel -> i dialogrutan <guilabel ->Skapa nytt projekt</guilabel ->, närmare bestämt innehållet i fälten <guilabel ->Upphovsman</guilabel -> och <guilabel ->E-post</guilabel ->. Riktig licensinformation har också infogats, enligt ditt val i kombinationsrutan <guilabel ->Licens</guilabel ->. </para> +</literal></computeroutput></screen> + +<para>Andra mallar tillhandahåller liknande information på ett format enligt definitionen av programspråket du vill använda. </para> +<para>Som du kanske märkt, har programhanteringen redan fyllt i viss information som du angav på den fösta sidan <guilabel>Allmänt</guilabel> i dialogrutan <guilabel>Skapa nytt projekt</guilabel>, närmare bestämt innehållet i fälten <guilabel>Upphovsman</guilabel> och <guilabel>E-post</guilabel>. Riktig licensinformation har också infogats, enligt ditt val i kombinationsrutan <guilabel>Licens</guilabel>. </para> <sect3 id="new-projects-start-templates-edit"> -<title ->Hur mallarna kan redigeras</title> +<title>Hur mallarna kan redigeras</title> <indexterm zone="new-projects-start-templates-edit"> - <primary ->mallar</primary> - <secondary ->projekt</secondary> - <tertiary ->redigera</tertiary -></indexterm> + <primary>mallar</primary> + <secondary>projekt</secondary> + <tertiary>redigera</tertiary></indexterm> <indexterm zone="new-projects-start-templates-edit"> - <primary ->projekt</primary> - <secondary ->mallar</secondary> - <tertiary ->redigera</tertiary -></indexterm> - -<para ->Mallarna som du ställer in i dialogrutan <guilabel ->Skapa nytt projekt</guilabel -> behandlas varje gång du talar om för &tdevelop; att skapa en ny källkodsfil och/eller deklarationsfil. Informationen som du anger här, inkluderas längst upp i ett dokumentationshuvud, innan koden börjar. </para> -<para ->Du är dock inte begränsad till ren text. &tdevelop; känner till flera variabler, som låter dig inkludera riktig information i filen. Programguiden använda i själva verket just några sådana variabler för att inkludera information om <guilabel ->Upphovsman</guilabel ->, <guilabel ->E-post</guilabel -> och <guilabel ->Licens</guilabel -> i den ursprungliga malltexten. </para> + <primary>projekt</primary> + <secondary>mallar</secondary> + <tertiary>redigera</tertiary></indexterm> + +<para>Mallarna som du ställer in i dialogrutan <guilabel>Skapa nytt projekt</guilabel> behandlas varje gång du talar om för &tdevelop; att skapa en ny källkodsfil och/eller deklarationsfil. Informationen som du anger här, inkluderas längst upp i ett dokumentationshuvud, innan koden börjar. </para> +<para>Du är dock inte begränsad till ren text. &tdevelop; känner till flera variabler, som låter dig inkludera riktig information i filen. Programguiden använda i själva verket just några sådana variabler för att inkludera information om <guilabel>Upphovsman</guilabel>, <guilabel>E-post</guilabel> och <guilabel>Licens</guilabel> i den ursprungliga malltexten. </para> <variablelist> <varlistentry> -<term ->Infoga filinformation från &doxygen;</term> +<term>Infoga filinformation från &doxygen;</term> <listitem> -<para ->Om du till exempel vill att dokumentationen av programvarugränssnittet som &doxygen; skapar, ska visa ytterligare information om filens innehåll i listan med filnamn, kan du lägga till följande rader i källkodsfilens mall: </para> -<screen -><computeroutput> +<para>Om du till exempel vill att dokumentationen av programvarugränssnittet som &doxygen; skapar, ska visa ytterligare information om filens innehåll i listan med filnamn, kan du lägga till följande rader i källkodsfilens mall: </para> +<screen><computeroutput> /** * \file $MODULE$.cpp * \brief (skriv en kort beskrivning här). **/ -</computeroutput -></screen> -<para ->Så fort du skapar en ny källkodsfil, ersätter &tdevelop; variabeln <computeroutput ->$MODULE$</computeroutput -> med namnet på den nyskapade filen. Om du till exempel skapar en ny C++ klass som heter <classname ->EnEnkelTest</classname ->, ser du följande rader i filen <filename ->enenkeltest.cpp</filename ->: </para> -<screen -><computeroutput> +</computeroutput></screen> +<para>Så fort du skapar en ny källkodsfil, ersätter &tdevelop; variabeln <computeroutput>$MODULE$</computeroutput> med namnet på den nyskapade filen. Om du till exempel skapar en ny C++ klass som heter <classname>EnEnkelTest</classname>, ser du följande rader i filen <filename>enenkeltest.cpp</filename>: </para> +<screen><computeroutput> /** * \file enenkeltest.cpp * \brief (skriv en kort beskrivning här). **/ -</computeroutput -></screen> -<para ->Du måste fortfarande tillhandahålla den korta beskrivningen efter nyckelordet <quote ->\brief</quote ->, men en del av jobbet har redan gjorts automatiskt åt dig. </para> +</computeroutput></screen> +<para>Du måste fortfarande tillhandahålla den korta beskrivningen efter nyckelordet <quote>\brief</quote>, men en del av jobbet har redan gjorts automatiskt åt dig. </para> </listitem> </varlistentry> <varlistentry> -<term ->Textfilen med licensen</term> +<term>Textfilen med licensen</term> <listitem> -<para ->Som ett annat exempel skulle du kunna inkludera en explicit referens till licenstexten som du vill använda i mallen. Använd variabeln <varname ->$LICENSEFILE$</varname -> för detta, och lägg till exempel till följande rad: </para> +<para>Som ett annat exempel skulle du kunna inkludera en explicit referens till licenstexten som du vill använda i mallen. Använd variabeln <varname>$LICENSEFILE$</varname> för detta, och lägg till exempel till följande rad: </para> -<screen -><computeroutput> +<screen><computeroutput> // Se $LICENSEFILE$ för den fullständiga licenstexten. -</computeroutput -></screen> -<para ->Programguiden ersätter <varname ->$LICENSEFILE$</varname -> med namnet på filen där den fullständiga licenstexten finns, nämligen: </para> -<screen -><computeroutput> +</computeroutput></screen> +<para>Programguiden ersätter <varname>$LICENSEFILE$</varname> med namnet på filen där den fullständiga licenstexten finns, nämligen: </para> +<screen><computeroutput> // Se COPYING för den fullständiga licenstexten. -</computeroutput -></screen> -<para ->för <acronym ->GPL</acronym ->-licensen, eller </para> -<screen -><computeroutput> +</computeroutput></screen> +<para>för <acronym>GPL</acronym>-licensen, eller </para> +<screen><computeroutput> // Se LICENSE.BSD för den fullständiga licenstexten. -</computeroutput -></screen> -<para ->om du bestämmer dig för att använda <acronym ->BSD</acronym ->-licens för programmet. </para> -<para ->Det finns förstås fler variabler som &tdevelop; känner till. Se avsnittet <link linkend="newfiles-edittemplates" ->Redigera mallarna</link -> i kapitlet <link linkend="editing" ->Redigeringsverktyg</link -> för att hitta vad som är möjligt. </para> +</computeroutput></screen> +<para>om du bestämmer dig för att använda <acronym>BSD</acronym>-licens för programmet. </para> +<para>Det finns förstås fler variabler som &tdevelop; känner till. Se avsnittet <link linkend="newfiles-edittemplates">Redigera mallarna</link> i kapitlet <link linkend="editing">Redigeringsverktyg</link> för att hitta vad som är möjligt. </para> </listitem> </varlistentry> </variablelist> -<note -><para ->Mallarna som du definierar här får ingen effekt förrän programguiden skapar det nya projektet. Du hittar informationen längst upp i filerna som du själv skapar under utvecklingsprocessen. När de ursprungliga filerna skapas, använder programguiden några fördefinierade standardmallar. Du måste anpassa de ursprungliga filerna till dina behov för hand. </para -></note> +<note><para>Mallarna som du definierar här får ingen effekt förrän programguiden skapar det nya projektet. Du hittar informationen längst upp i filerna som du själv skapar under utvecklingsprocessen. När de ursprungliga filerna skapas, använder programguiden några fördefinierade standardmallar. Du måste anpassa de ursprungliga filerna till dina behov för hand. </para></note> -</sect3 -> <!-- new-projects-start-templates-edit --> -</sect2 -> <!-- new-projects-start-templates --> +</sect3> <!-- new-projects-start-templates-edit --> +</sect2> <!-- new-projects-start-templates --> <sect2 id="new-projects-start-build"> -<title ->Bygg de ursprungliga projektfilerna</title> +<title>Bygg de ursprungliga projektfilerna</title> <indexterm zone="new-projects-start-build"> - <primary ->projekt</primary> - <secondary ->nytt</secondary> - <tertiary ->bygg</tertiary -></indexterm> + <primary>projekt</primary> + <secondary>nytt</secondary> + <tertiary>bygg</tertiary></indexterm> <indexterm zone="new-projects-start-build"> - <primary ->projekt</primary> - <secondary ->ursprunglig byggning</secondary -></indexterm> - -<para ->Nu är nästan allt klart. På den sista sidan i mallen, har knappen <guibutton ->Nästa ></guibutton -> ändrats så att den nu lyder <guibutton ->Slutför</guibutton ->. </para> -<para -><emphasis ->Tänk efter innan du klickar på den!</emphasis -> Du har fortfarande möjlighet att granska allting genom att använda knappen <guibutton ->< Tillbaka</guibutton -> upprepade gånger. Eftersom programguiden kommer ihåg all information du hittills matat in, kan det vara lämpligt att ta dig tid att titta tillbaka en gång till. Om du använder lokal &CVS;, glöm inte att kontrollera namnet på <emphasis ->&CVS;-arkivet</emphasis -> igen (det ska inte redan finnas någon underkatalog med det namnet i &CVS;-rotkatalogen. Om det gör det, försök med ett annat arkivnamn). </para> -<para ->Om du någon gång inte vill att det nya projektet ska byggas, avbryt dialogrutan <guilabel ->Skapa nytt projekt</guilabel -> med knappen <guibutton ->Avbryt</guibutton ->. Klicka annars på <guibutton ->Slutför</guibutton ->, och se i fönstret <guilabel ->Meddelanden</guilabel -> hur programguiden skapar projektet. </para> -<para ->Om du vill använda ett versionshanteringssystem (&CVS;), sker det i själva verket två genomgångar. Programguiden bygger först projektkatalogerna och anropar sedan &CVS;-programmet som återstartar fönstret <guilabel ->Meddelanden</guilabel -> med sitt eget innehåll. Om något fel uppstår i någon av genomgångarna, stannar processen och visar dig motsvarande felmeddelande i fönstret. </para> - -<note -><para ->I många fall, när det nya projektet har skapats på det här sättet, laddar &tdevelop; automatiskt källkodsfilen eller filerna för en eller fler av de grundläggande viktiga modulerna, så att du kan enkelt börja arbeta. (Vilka källkodsmoduler som visas, om några alls, beror dock på mallen som från början valdes i programguiden.) </para -></note> - -<para ->Glöm inte att kontrollera vad programguiden tillhandahåller från början. Du kanske till exempel vill ändra ursprunglig information i filhuvuden enligt dina egna mallar. Oftast hittar du dem i underkatalogen <filename class="directory" ->templates</filename -> i projektkatalogen. Några enkla kopieringsåtgärder räcker oftast. </para> -<para ->Därefter är det lämpligt att du <emphasis ->kompilerar det ursprungliga projektet</emphasis -> innan du försöker ändra någon kod. I de flesta fall ska den här första kompileringen vara möjlig. På så sätt kan du avgöra om projektet verkligen skapades enligt dina behov. Om det inte gjorde det, ta helt enkelt bort projektkatalogen (i den lokala &CVS;-roten också, om du använder en) och börja om. </para> - -<warning id="defaultbuild-warning" -> <!-- ### remove this when "default" works again --> + <primary>projekt</primary> + <secondary>ursprunglig byggning</secondary></indexterm> + +<para>Nu är nästan allt klart. På den sista sidan i mallen, har knappen <guibutton>Nästa ></guibutton> ändrats så att den nu lyder <guibutton>Slutför</guibutton>. </para> +<para><emphasis>Tänk efter innan du klickar på den!</emphasis> Du har fortfarande möjlighet att granska allting genom att använda knappen <guibutton>< Tillbaka</guibutton> upprepade gånger. Eftersom programguiden kommer ihåg all information du hittills matat in, kan det vara lämpligt att ta dig tid att titta tillbaka en gång till. Om du använder lokal &CVS;, glöm inte att kontrollera namnet på <emphasis>&CVS;-arkivet</emphasis> igen (det ska inte redan finnas någon underkatalog med det namnet i &CVS;-rotkatalogen. Om det gör det, försök med ett annat arkivnamn). </para> +<para>Om du någon gång inte vill att det nya projektet ska byggas, avbryt dialogrutan <guilabel>Skapa nytt projekt</guilabel> med knappen <guibutton>Avbryt</guibutton>. Klicka annars på <guibutton>Slutför</guibutton>, och se i fönstret <guilabel>Meddelanden</guilabel> hur programguiden skapar projektet. </para> +<para>Om du vill använda ett versionshanteringssystem (&CVS;), sker det i själva verket två genomgångar. Programguiden bygger först projektkatalogerna och anropar sedan &CVS;-programmet som återstartar fönstret <guilabel>Meddelanden</guilabel> med sitt eget innehåll. Om något fel uppstår i någon av genomgångarna, stannar processen och visar dig motsvarande felmeddelande i fönstret. </para> + +<note><para>I många fall, när det nya projektet har skapats på det här sättet, laddar &tdevelop; automatiskt källkodsfilen eller filerna för en eller fler av de grundläggande viktiga modulerna, så att du kan enkelt börja arbeta. (Vilka källkodsmoduler som visas, om några alls, beror dock på mallen som från början valdes i programguiden.) </para></note> + +<para>Glöm inte att kontrollera vad programguiden tillhandahåller från början. Du kanske till exempel vill ändra ursprunglig information i filhuvuden enligt dina egna mallar. Oftast hittar du dem i underkatalogen <filename class="directory">templates</filename> i projektkatalogen. Några enkla kopieringsåtgärder räcker oftast. </para> +<para>Därefter är det lämpligt att du <emphasis>kompilerar det ursprungliga projektet</emphasis> innan du försöker ändra någon kod. I de flesta fall ska den här första kompileringen vara möjlig. På så sätt kan du avgöra om projektet verkligen skapades enligt dina behov. Om det inte gjorde det, ta helt enkelt bort projektkatalogen (i den lokala &CVS;-roten också, om du använder en) och börja om. </para> + +<warning id="defaultbuild-warning"> <!-- ### remove this when "default" works again --> <indexterm zone="defaultbuild-warning"> - <primary ->förvald bygginställning</primary> - <secondary ->varning</secondary -></indexterm> + <primary>förvald bygginställning</primary> + <secondary>varning</secondary></indexterm> <indexterm zone="defaultbuild-warning"> - <primary ->bygginställningar</primary> - <secondary ->varning om förvald bygginställning</secondary -></indexterm> + <primary>bygginställningar</primary> + <secondary>varning om förvald bygginställning</secondary></indexterm> <indexterm zone="defaultbuild-warning"> - <primary ->varning</primary> - <secondary ->förvald bygginställning</secondary -></indexterm> - - <para ->Innan du kompilerar det nya projektet för första gången, ta en titt på <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Bygginställning</guimenuitem -></menuchoice ->. Om det finns tre alternativ som visas: <guimenuitem ->default</guimenuitem ->, <guimenuitem ->optimized</guimenuitem -> och <guimenuitem ->debug</guimenuitem ->, med <guimenuitem ->debug</guimenuitem -> markerat, behåll det för all del, eller använd <guimenuitem ->optimized</guimenuitem -> istället. </para> - <para ->På grund av vissa begränsningar i den nuvarande inställningen av autoconf och automake, ska du <emphasis ->under inga omständigheter</emphasis -> bygga med inställningen <guimenuitem ->default</guimenuitem ->. Det förstör vissa interna kataloginställningar, och gör att <command ->configure</command -> klagar när du senare försöker använda det med bygginställningarna <guimenuitem ->optimized</guimenuitem -> eller <guimenuitem ->debug</guimenuitem ->. </para> - <para ->(Det här gäller bara för dessa flervalsmöjligheter. Om programtypen du valde bara tillhandahåller bygginställningen <guimenuitem ->default</guimenuitem ->, ska du förstås använda den.) </para> + <primary>varning</primary> + <secondary>förvald bygginställning</secondary></indexterm> + + <para>Innan du kompilerar det nya projektet för första gången, ta en titt på <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Bygginställning</guimenuitem></menuchoice>. Om det finns tre alternativ som visas: <guimenuitem>default</guimenuitem>, <guimenuitem>optimized</guimenuitem> och <guimenuitem>debug</guimenuitem>, med <guimenuitem>debug</guimenuitem> markerat, behåll det för all del, eller använd <guimenuitem>optimized</guimenuitem> istället. </para> + <para>På grund av vissa begränsningar i den nuvarande inställningen av autoconf och automake, ska du <emphasis>under inga omständigheter</emphasis> bygga med inställningen <guimenuitem>default</guimenuitem>. Det förstör vissa interna kataloginställningar, och gör att <command>configure</command> klagar när du senare försöker använda det med bygginställningarna <guimenuitem>optimized</guimenuitem> eller <guimenuitem>debug</guimenuitem>. </para> + <para>(Det här gäller bara för dessa flervalsmöjligheter. Om programtypen du valde bara tillhandahåller bygginställningen <guimenuitem>default</guimenuitem>, ska du förstås använda den.) </para> </warning> -</sect2 -> <!-- new-projects-start-build --> +</sect2> <!-- new-projects-start-build --> -</sect1 -> <!-- new-projects --> +</sect1> <!-- new-projects --> <sect1 id="projects-configure"> -<title ->Konfigurera projekt</title> +<title>Konfigurera projekt</title> -<para ->(Ännu inte skrivet ...)</para> +<para>(Ännu inte skrivet ...)</para> </sect1> -</chapter -> <!-- applicationwizard --> +</chapter> <!-- applicationwizard --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/class-browsers.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/class-browsers.docbook index d9521e3e78b..cf582a6f04a 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/class-browsers.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/class-browsers.docbook @@ -1,89 +1,47 @@ <chapter id="class-browsers"> -<title ->Klassbläddrarna</title> -<indexterm zone="class-browsers" -><primary ->klassbläddrare</primary -></indexterm> +<title>Klassbläddrarna</title> +<indexterm zone="class-browsers"><primary>klassbläddrare</primary></indexterm> -<para ->Vid arbete med ett projekt i ett objektorienterat språk, läggs inte tonvikten på källkodsfilerna och deras namn, utan på klasserna och deras samband. För att hjälpa dig navigera bland definierade klasser och symboler, innehåller &tdevelop; diverse klassbläddrare som synliggör klasstrukturen på olika sätt. </para> +<para>Vid arbete med ett projekt i ett objektorienterat språk, läggs inte tonvikten på källkodsfilerna och deras namn, utan på klasserna och deras samband. För att hjälpa dig navigera bland definierade klasser och symboler, innehåller &tdevelop; diverse klassbläddrare som synliggör klasstrukturen på olika sätt. </para> <sect1 id="classview"> -<title ->Klassvy</title> +<title>Klassvy</title> -<para ->Den här vyn visas till vänster i huvudfönstret och innehåller en linjär lista av alla klasser, variabler och funktioner i projektet. Den är konstruerad som en trädvy. Om du öppnar en klassnod genom att klicka på den, visas en lista med alla metoder och egenskaper som respektive klass har. </para> +<para>Den här vyn visas till vänster i huvudfönstret och innehåller en linjär lista av alla klasser, variabler och funktioner i projektet. Den är konstruerad som en trädvy. Om du öppnar en klassnod genom att klicka på den, visas en lista med alla metoder och egenskaper som respektive klass har. </para> <figure id="screenshot-classview" float="1"> -<title ->En skärmbild av klassbläddraren</title> +<title>En skärmbild av klassbläddraren</title> <mediaobject> -<imageobject -><imagedata fileref="classview.png"/></imageobject> +<imageobject><imagedata fileref="classview.png"/></imageobject> </mediaobject> </figure> -<para ->Klassvyn arbetar i två olika lägen. Normalt grupperas alla symboler i <quote ->Klasser</quote ->, <quote ->Struct:ar</quote ->, <quote ->Funktioner</quote ->, <quote ->Variabler</quote -> och <quote ->Namnrymder</quote ->. I den sammanhangsberoende menyn, kan du välja <guimenuitem ->Lista enligt namnrymder</guimenuitem ->. Med detta läge, visas namnrymdshierarkin, och symboler grupperas i respektive namnrymd där de definieras. Det här kan vara mer användbart i projekt som använder många (hierarkiska) namnrymder. Det är mindre användbart i projekt utan namnrymder. </para> - -<para ->Du kan också ändra sättet som klassnamn visas. Normalt visas klassernas namn, utan namnrymden där de definieras. Det betyder att du inte omedelbart kan skilja på klasser med samma namn i olika namnrymder. Om du håller musen still ett ögonblick över ett namn, visas dock det fullständiga namnet som ett verktygstips. Du kan välja att alltid visa det fullständiga klassnamnet genom att välja <guimenuitem ->Fullständig räckvidd för identifierare</guimenuitem -> i den sammanhangsberoende menyn. </para> - -<para ->Genom att klicka på en klass eller metod i en klassvy kommer du till dess definition. Du kan också hoppa till en metods deklaration genom att välja <guimenuitem ->Gå till deklaration</guimenuitem -> i den sammanhangsberoende menyn. I den sammanhangsberoende menyn för klasser finns också alternativen <guimenuitem ->Lägg till metod...</guimenuitem -> och <guimenuitem ->Lägg till egenskap...</guimenuitem -> De öppnar dialogrutor där du kan skapa nya metoder och variabeldeklarationer för den relevanta klassen, tillsammans med en tom implementering. </para> - -</sect1 -> <!-- classview --> +<para>Klassvyn arbetar i två olika lägen. Normalt grupperas alla symboler i <quote>Klasser</quote>, <quote>Struct:ar</quote>, <quote>Funktioner</quote>, <quote>Variabler</quote> och <quote>Namnrymder</quote>. I den sammanhangsberoende menyn, kan du välja <guimenuitem>Lista enligt namnrymder</guimenuitem>. Med detta läge, visas namnrymdshierarkin, och symboler grupperas i respektive namnrymd där de definieras. Det här kan vara mer användbart i projekt som använder många (hierarkiska) namnrymder. Det är mindre användbart i projekt utan namnrymder. </para> + +<para>Du kan också ändra sättet som klassnamn visas. Normalt visas klassernas namn, utan namnrymden där de definieras. Det betyder att du inte omedelbart kan skilja på klasser med samma namn i olika namnrymder. Om du håller musen still ett ögonblick över ett namn, visas dock det fullständiga namnet som ett verktygstips. Du kan välja att alltid visa det fullständiga klassnamnet genom att välja <guimenuitem>Fullständig räckvidd för identifierare</guimenuitem> i den sammanhangsberoende menyn. </para> + +<para>Genom att klicka på en klass eller metod i en klassvy kommer du till dess definition. Du kan också hoppa till en metods deklaration genom att välja <guimenuitem>Gå till deklaration</guimenuitem> i den sammanhangsberoende menyn. I den sammanhangsberoende menyn för klasser finns också alternativen <guimenuitem>Lägg till metod...</guimenuitem> och <guimenuitem>Lägg till egenskap...</guimenuitem> De öppnar dialogrutor där du kan skapa nya metoder och variabeldeklarationer för den relevanta klassen, tillsammans med en tom implementering. </para> + +</sect1> <!-- classview --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="classtools"> -<title ->Klassverktyg</title> +<title>Klassverktyg</title> -<para ->Klassverktygsdialogrutan aktiveras genom att högerklicka på en klass i klassvyn och välja <guimenuitem ->Klassverktyg...</guimenuitem ->. </para> +<para>Klassverktygsdialogrutan aktiveras genom att högerklicka på en klass i klassvyn och välja <guimenuitem>Klassverktyg...</guimenuitem>. </para> -</sect1 -> <!-- classtools --> +</sect1> <!-- classtools --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="classhierarchy"> -<title ->Klasshierarki</title> +<title>Klasshierarki</title> -<para ->(...ännu inte skrivet...) </para> +<para>(...ännu inte skrivet...) </para> -</sect1 -> <!-- classhierarchy --> +</sect1> <!-- classhierarchy --> -</chapter -> <!-- class-browsers --> +</chapter> <!-- class-browsers --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/commands.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/commands.docbook index 0b7d1315c84..888426f517e 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/commands.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/commands.docbook @@ -9,50 +9,21 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Volker</firstname -> <surname ->Paul</surname -></author> - <othercredit role="translator" -><firstname ->Stefan</firstname -> <surname ->Asserhäll</surname -><affiliation -><address -><email ->stefan.asserhall@comhem.se</email -></address -></affiliation -><contrib ->Översättare</contrib -></othercredit -> + <author><firstname>Volker</firstname> <surname>Paul</surname></author> + <othercredit role="translator"><firstname>Stefan</firstname> <surname>Asserhäll</surname><affiliation><address><email>stefan.asserhall@comhem.se</email></address></affiliation><contrib>Översättare</contrib></othercredit> </authorgroup> - <date ->2005-04-03</date> + <date>2005-04-03</date> </chapterinfo> -<title ->Kommandoreferens</title> +<title>Kommandoreferens</title> -<note -><para ->Snabbtangenterna som visas i det här kapitlet är de förvalda. De kan ändras. </para -></note> +<note><para>Snabbtangenterna som visas i det här kapitlet är de förvalda. De kan ändras. </para></note> <sect1 id="menubar"> -<title ->Menyraden</title -> <para ->Observera att vissa menyalternativ bara visas när de passar in. I synnerhet är vissa alternativ kopplade till funktioner i <link linkend="plugin-tools" ->insticksprogram</link -> som bara är tillgängliga när insticksprogrammet är aktiverat.</para> +<title>Menyraden</title> <para>Observera att vissa menyalternativ bara visas när de passar in. I synnerhet är vissa alternativ kopplade till funktioner i <link linkend="plugin-tools">insticksprogram</link> som bara är tillgängliga när insticksprogrammet är aktiverat.</para> @@ -62,304 +33,90 @@ <!-- ======================= F I L E ============================= --> <sect2 id="menu-file"> -<title ->Menyn <guimenu ->Arkiv</guimenu -></title> +<title>Menyn <guimenu>Arkiv</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->N</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Ny</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Skapa en ny fil. Användaren blir tillfrågad om att välja katalog (förval är nuvarande projekts källkodskatalog) och skriva in ett filnamn. Filtypen kan väljas i en lista. Dessutom kan användaren välja om filen ska läggas till i projektet. Därefter frågar Hantering av automake vilket mål som den nya filen ska läggas till i. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->O</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Öppna</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Öppnar en befintlig fil med en enkel dialogruta.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->O</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Öppna senaste</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visar en undermeny med filer som senast öppnades. Att välja en av dem gör att KDevelop öppnar filen. </para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->O</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Snabböppna</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visar en lista med filer i det nuvarande projektets källkodskatalog. Användaren kan välja från listan eller skriva in ett filnamn. Filen öppnas därefter. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->S</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Spara</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sparar nuvarande fil.</para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->S</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Spara som...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Använder dialogrutan <guilabel ->Spara som...</guilabel -> för att låta dig spara en kopia med ett annat namn.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Spara alla</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sparar alla öppna filer.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -><keycap ->F5</keycap -></shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Återställ</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Laddar om nuvarande fil för att visa ändringar gjorda av andra program. (Observera att sådana ändringar normalt detekteras automatiskt och användaren blir tillfrågad om filen ska laddas om.)</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Återställ alla</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Återställer alla ändringar i öppnade filer. Frågar om du vill spara ändringar så att återställningen kan avbrytas för varje ändrad fil. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->P</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Skriv ut...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Skriv ut.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Exportera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Exportera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->F4</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Stäng</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stänger nuvarande fil. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Stäng alla</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stänger alla öppna filer. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Stäng alla andra</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stänger alla filer utom den nuvarande. Mycket användbart om du öppnade många filer och vill koncentrera dig på den nuvarande. Utan det här skulle du behöva stänga alla och därefter öppna den nuvarande igen. </para> -<para ->Observera att det finns ett liknande kommando i menyn Fönster. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->Q</keycap -></keycombo -> </shortcut -> <guimenu ->Arkiv</guimenu -> <guimenuitem ->Avsluta</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng KDevelop.</para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Ny</guimenuitem> </menuchoice></term> +<listitem><para>Skapa en ny fil. Användaren blir tillfrågad om att välja katalog (förval är nuvarande projekts källkodskatalog) och skriva in ett filnamn. Filtypen kan väljas i en lista. Dessutom kan användaren välja om filen ska läggas till i projektet. Därefter frågar Hantering av automake vilket mål som den nya filen ska läggas till i. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Öppna</guimenuitem> </menuchoice></term> +<listitem><para>Öppnar en befintlig fil med en enkel dialogruta.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Öppna senaste</guimenuitem> </menuchoice></term> +<listitem><para>Visar en undermeny med filer som senast öppnades. Att välja en av dem gör att KDevelop öppnar filen. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>O</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Snabböppna</guimenuitem> </menuchoice></term> +<listitem><para>Visar en lista med filer i det nuvarande projektets källkodskatalog. Användaren kan välja från listan eller skriva in ett filnamn. Filen öppnas därefter. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Spara</guimenuitem> </menuchoice></term> +<listitem><para>Sparar nuvarande fil.</para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Spara som...</guimenuitem> </menuchoice></term> +<listitem><para>Använder dialogrutan <guilabel>Spara som...</guilabel> för att låta dig spara en kopia med ett annat namn.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Spara alla</guimenuitem> </menuchoice></term> +<listitem><para>Sparar alla öppna filer.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut><keycap>F5</keycap></shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Återställ</guimenuitem> </menuchoice></term> +<listitem><para>Laddar om nuvarande fil för att visa ändringar gjorda av andra program. (Observera att sådana ändringar normalt detekteras automatiskt och användaren blir tillfrågad om filen ska laddas om.)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Återställ alla</guimenuitem> </menuchoice></term> +<listitem><para>Återställer alla ändringar i öppnade filer. Frågar om du vill spara ändringar så att återställningen kan avbrytas för varje ändrad fil. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Skriv ut...</guimenuitem> </menuchoice></term> +<listitem><para>Skriv ut.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Exportera</guimenuitem> </menuchoice></term> +<listitem><para>Exportera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>F4</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Stäng</guimenuitem> </menuchoice></term> +<listitem><para>Stänger nuvarande fil. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Stäng alla</guimenuitem> </menuchoice></term> +<listitem><para>Stänger alla öppna filer. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Stäng alla andra</guimenuitem> </menuchoice></term> +<listitem><para>Stänger alla filer utom den nuvarande. Mycket användbart om du öppnade många filer och vill koncentrera dig på den nuvarande. Utan det här skulle du behöva stänga alla och därefter öppna den nuvarande igen. </para> +<para>Observera att det finns ett liknande kommando i menyn Fönster. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> </shortcut> <guimenu>Arkiv</guimenu> <guimenuitem>Avsluta</guimenuitem> </menuchoice></term> +<listitem><para>Stäng KDevelop.</para></listitem> </varlistentry> </variablelist> @@ -372,468 +129,135 @@ <sect2 id="menu-edit"> -<title ->Menyn <guimenu ->Redigera</guimenu -></title> +<title>Menyn <guimenu>Redigera</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->Z</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Ångra</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Ångra </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->Z</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Gör om</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Gör om </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->X</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Klipp ut</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Klipp ut </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->C</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Kopiera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kopiera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->V</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Klistra in</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Klistra in </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->A</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Markera alla</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Markera alla </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -><keycombo action="simul" -> &Ctrl;&Shift;<keycap ->A</keycap -></keycombo -></shortcut -><guimenu ->Redigera</guimenu -> <guimenuitem ->Avmarkera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Avmarkera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->B</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Blockmarkeringsläge</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Blockmarkeringsläge </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->Insert</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Överskrivningsläge</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Överskrivningsläge </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->F</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Sök</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F3</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Sök igen</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök igen </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->F3</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Sök föregående</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök föregående </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->R</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Ersätt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Ersätt </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->G</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Gå till rad</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Gå till rad </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->F</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Sök i filer</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök i filer </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->R</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Sök-välj-ersätt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök-välj-ersätt </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Formatera om källkod</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Formatera om källkod </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->J</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Expandera text</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Expandera text </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->L</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Expandera förkortningar</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Expandera förkortningar </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->Mellanslag</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Komplettera text</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Komplettera text </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F2</keycap -></keycombo -> </shortcut -> <guimenu ->Redigera</guimenu -> <guimenuitem ->Skapa medlem</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Skapa medlem </para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Ångra</guimenuitem> </menuchoice></term> +<listitem><para>Ångra </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Gör om</guimenuitem> </menuchoice></term> +<listitem><para>Gör om </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Klipp ut</guimenuitem> </menuchoice></term> +<listitem><para>Klipp ut </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Kopiera</guimenuitem> </menuchoice></term> +<listitem><para>Kopiera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Klistra in</guimenuitem> </menuchoice></term> +<listitem><para>Klistra in </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Markera alla</guimenuitem> </menuchoice></term> +<listitem><para>Markera alla </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut><keycombo action="simul"> &Ctrl;&Shift;<keycap>A</keycap></keycombo></shortcut><guimenu>Redigera</guimenu> <guimenuitem>Avmarkera</guimenuitem> </menuchoice></term> +<listitem><para>Avmarkera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>B</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Blockmarkeringsläge</guimenuitem> </menuchoice></term> +<listitem><para>Blockmarkeringsläge </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>Insert</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Överskrivningsläge</guimenuitem> </menuchoice></term> +<listitem><para>Överskrivningsläge </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Sök</guimenuitem> </menuchoice></term> +<listitem><para>Sök </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F3</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Sök igen</guimenuitem> </menuchoice></term> +<listitem><para>Sök igen </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Sök föregående</guimenuitem> </menuchoice></term> +<listitem><para>Sök föregående </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Ersätt</guimenuitem> </menuchoice></term> +<listitem><para>Ersätt </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Gå till rad</guimenuitem> </menuchoice></term> +<listitem><para>Gå till rad </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Sök i filer</guimenuitem> </menuchoice></term> +<listitem><para>Sök i filer </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>R</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Sök-välj-ersätt</guimenuitem> </menuchoice></term> +<listitem><para>Sök-välj-ersätt </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Formatera om källkod</guimenuitem> </menuchoice></term> +<listitem><para>Formatera om källkod </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Expandera text</guimenuitem> </menuchoice></term> +<listitem><para>Expandera text </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Expandera förkortningar</guimenuitem> </menuchoice></term> +<listitem><para>Expandera förkortningar </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>Mellanslag</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Komplettera text</guimenuitem> </menuchoice></term> +<listitem><para>Komplettera text </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F2</keycap></keycombo> </shortcut> <guimenu>Redigera</guimenu> <guimenuitem>Skapa medlem</guimenuitem> </menuchoice></term> +<listitem><para>Skapa medlem </para></listitem> </varlistentry> @@ -848,411 +272,132 @@ <sect2 id="menu-view"> -<title ->Menyn <guimenu ->Visa</guimenu -></title> +<title>Menyn <guimenu>Visa</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Tillbaka</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Tillbaka </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Framåt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Framåt </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->/</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Byt till...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Byt till... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;<keycap ->C</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Höj editor</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Höj editor </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F4</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Nästa fel</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Nästa fel </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->F4</keycap -></keycombo -> </shortcut -> <guimenu ->View</guimenu -> <guimenuitem ->Föregående fel</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Föregående fel </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->F</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Fullskärmsläge</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Fullskärmsläge </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->F12</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Byt till deklaration/implementering</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Byt till deklaration/implementering </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Verktygsvyer</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Verktygsvyer </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Dockning av verktyg</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dockning av verktyg </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F7</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Byt till kommandorad</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Byt till kommandorad </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Schema</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Schema </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F10</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Dynamisk radbrytning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dynamisk radbrytning </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Dynamiska radbrytningsmarkörer</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dynamiska radbrytningsmarkörer </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Visa/Dölj statisk radbrytningsmarkör</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj statisk radbrytningsmarkör </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F6</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Visa/Dölj ikonkant</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj ikonkant </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F11</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Visa/Dölj radnummer</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj radnummer </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Visa/Dölj rullningslistmarkeringar</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj rullningslistmarkeringar </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F9</keycap -></keycombo -> </shortcut -> <guimenu ->Visa</guimenu -> <guimenuitem ->Visa/Dölj vikmarkörer</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj vikmarkörer </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Kodvikning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kodvikning </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Ange kodning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Ange kodning </para -></listitem> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Tillbaka</guimenuitem> </menuchoice></term> +<listitem><para>Tillbaka </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Framåt</guimenuitem> </menuchoice></term> +<listitem><para>Framåt </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>/</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Byt till...</guimenuitem> </menuchoice></term> +<listitem><para>Byt till... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Höj editor</guimenuitem> </menuchoice></term> +<listitem><para>Höj editor </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F4</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Nästa fel</guimenuitem> </menuchoice></term> +<listitem><para>Nästa fel </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>F4</keycap></keycombo> </shortcut> <guimenu>View</guimenu> <guimenuitem>Föregående fel</guimenuitem> </menuchoice></term> +<listitem><para>Föregående fel </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>F</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Fullskärmsläge</guimenuitem> </menuchoice></term> +<listitem><para>Fullskärmsläge </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>F12</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Byt till deklaration/implementering</guimenuitem> </menuchoice></term> +<listitem><para>Byt till deklaration/implementering </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Verktygsvyer</guimenuitem> </menuchoice></term> +<listitem><para>Verktygsvyer </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Dockning av verktyg</guimenuitem> </menuchoice></term> +<listitem><para>Dockning av verktyg </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F7</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Byt till kommandorad</guimenuitem> </menuchoice></term> +<listitem><para>Byt till kommandorad </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Schema</guimenuitem> </menuchoice></term> +<listitem><para>Schema </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F10</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Dynamisk radbrytning</guimenuitem> </menuchoice></term> +<listitem><para>Dynamisk radbrytning </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Dynamiska radbrytningsmarkörer</guimenuitem> </menuchoice></term> +<listitem><para>Dynamiska radbrytningsmarkörer </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Visa/Dölj statisk radbrytningsmarkör</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj statisk radbrytningsmarkör </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F6</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Visa/Dölj ikonkant</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj ikonkant </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F11</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Visa/Dölj radnummer</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj radnummer </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Visa/Dölj rullningslistmarkeringar</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj rullningslistmarkeringar </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F9</keycap></keycombo> </shortcut> <guimenu>Visa</guimenu> <guimenuitem>Visa/Dölj vikmarkörer</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj vikmarkörer </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Kodvikning</guimenuitem> </menuchoice></term> +<listitem><para>Kodvikning </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Visa</guimenu> <guimenuitem>Ange kodning</guimenuitem> </menuchoice></term> +<listitem><para>Ange kodning </para></listitem> </varlistentry> @@ -1268,202 +413,79 @@ <sect2 id="menu-project"> -<title ->Menyn <guimenu ->Projekt</guimenu -></title> +<title>Menyn <guimenu>Projekt</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Nytt projekt... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt...</guimenuitem> </menuchoice></term> +<listitem><para>Nytt projekt... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Öppna projekt...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Öppna projekt... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Öppna projekt...</guimenuitem> </menuchoice></term> +<listitem><para>Öppna projekt... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Öppna senaste projekt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Öppna senaste projekt </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Öppna senaste projekt</guimenuitem> </menuchoice></term> +<listitem><para>Öppna senaste projekt </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Aktivt språk</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Aktivt språk </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Aktivt språk</guimenuitem> </menuchoice></term> +<listitem><para>Aktivt språk </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Importera befintligt projekt...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Importera befintligt projekt... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Importera befintligt projekt...</guimenuitem> </menuchoice></term> +<listitem><para>Importera befintligt projekt... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Ny klass...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Ny klass... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Ny klass...</guimenuitem> </menuchoice></term> +<listitem><para>Ny klass... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Arvdiagram för klasser</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Arvdiagram för klasser </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Arvdiagram för klasser</guimenuitem> </menuchoice></term> +<listitem><para>Arvdiagram för klasser </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Lägg till översättning...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Lägg till översättning... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Lägg till översättning...</guimenuitem> </menuchoice></term> +<listitem><para>Lägg till översättning... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Bygginställning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bygginställning </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Bygginställning</guimenuitem> </menuchoice></term> +<listitem><para>Bygginställning </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Distribution och publicering</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Distribution och publicering </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Distribution och publicering</guimenuitem> </menuchoice></term> +<listitem><para>Distribution och publicering </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Projektinställningar... </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar...</guimenuitem> </menuchoice></term> +<listitem><para>Projektinställningar... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Stäng projekt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng projekt </para -></listitem> +<term><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Stäng projekt</guimenuitem> </menuchoice></term> +<listitem><para>Stäng projekt </para></listitem> </varlistentry> @@ -1478,258 +500,91 @@ <sect2 id="menu-build"> -<title ->Menyn <guimenu ->Projekt</guimenu -></title> +<title>Menyn <guimenu>Projekt</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F8</keycap -></keycombo -> </shortcut -> <guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg projekt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bygg projekt </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->F7</keycap -></keycombo -> </shortcut -> <guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg aktivt mål</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bygg aktivt mål </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kompilera fil</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kompilera fil </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör configure</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kör configure </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör automake och besläktade program</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kör automake och besläktade program </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Installera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Installera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Installera (som systemadministratör)</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Installera (som systemadministratör) </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Rensa projekt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Rensa projekt </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Dist-rensning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dist-rensning </para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F8</keycap></keycombo> </shortcut> <guimenu>Bygg</guimenu> <guimenuitem>Bygg projekt</guimenuitem> </menuchoice></term> +<listitem><para>Bygg projekt </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>F7</keycap></keycombo> </shortcut> <guimenu>Bygg</guimenu> <guimenuitem>Bygg aktivt mål</guimenuitem> </menuchoice></term> +<listitem><para>Bygg aktivt mål </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kompilera fil</guimenuitem> </menuchoice></term> +<listitem><para>Kompilera fil </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör configure</guimenuitem> </menuchoice></term> +<listitem><para>Kör configure </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör automake och besläktade program</guimenuitem> </menuchoice></term> +<listitem><para>Kör automake och besläktade program </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Installera</guimenuitem> </menuchoice></term> +<listitem><para>Installera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Installera (som systemadministratör)</guimenuitem> </menuchoice></term> +<listitem><para>Installera (som systemadministratör) </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Rensa projekt</guimenuitem> </menuchoice></term> +<listitem><para>Rensa projekt </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->F9</keycap -></keycombo -> </shortcut -> <guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg meddelanden och samsortera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bygg meddelanden och samsortera </para -></listitem> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Dist-rensning</guimenuitem> </menuchoice></term> +<listitem><para>Dist-rensning </para></listitem> </varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör program</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kör program </para -></listitem> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>F9</keycap></keycombo> </shortcut> <guimenu>Bygg</guimenu> <guimenuitem>Bygg meddelanden och samsortera</guimenuitem> </menuchoice></term> +<listitem><para>Bygg meddelanden och samsortera </para></listitem> </varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg dokumentation av programgränssnitt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bygg dokumentation av programgränssnitt </para -></listitem> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör program</guimenuitem> </menuchoice></term> +<listitem><para>Kör program </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Bygg dokumentation av programgränssnitt</guimenuitem> </menuchoice></term> +<listitem><para>Bygg dokumentation av programgränssnitt </para></listitem> </varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Rensa dokumentation av programgränssnitt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Rensa dokumentation av programgränssnitt </para -></listitem> + + +<varlistentry> +<term><menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Rensa dokumentation av programgränssnitt</guimenuitem> </menuchoice></term> +<listitem><para>Rensa dokumentation av programgränssnitt </para></listitem> </varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" -><keycap ->Escape</keycap -></keycombo -> </shortcut -> <guimenu ->Bygg</guimenu -> <guimenuitem ->Stoppa</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stoppa </para -></listitem> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul"><keycap>Escape</keycap></keycombo> </shortcut> <guimenu>Bygg</guimenu> <guimenuitem>Stoppa</guimenuitem> </menuchoice></term> +<listitem><para>Stoppa </para></listitem> </varlistentry> @@ -1745,250 +600,97 @@ <sect2 id="menu-debug"> -<title ->Menyn <guimenu ->Projekt</guimenu -></title> +<title>Menyn <guimenu>Projekt</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Starta</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Starta </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Starta</guimenuitem> </menuchoice></term> +<listitem><para>Starta </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Stoppa</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stoppa </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Stoppa</guimenuitem> </menuchoice></term> +<listitem><para>Stoppa </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Avbryt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Avbryt </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Avbryt</guimenuitem> </menuchoice></term> +<listitem><para>Avbryt </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Kör till markör</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kör till markör </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Kör till markör</guimenuitem> </menuchoice></term> +<listitem><para>Kör till markör </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Stega förbi</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stega förbi </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Stega förbi</guimenuitem> </menuchoice></term> +<listitem><para>Stega förbi </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Stega förbi instruktion</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stega förbi instruktion </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Stega förbi instruktion</guimenuitem> </menuchoice></term> +<listitem><para>Stega förbi instruktion </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->stega in i</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stega in i </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>stega in i</guimenuitem> </menuchoice></term> +<listitem><para>Stega in i </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Stega in i instruktion</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stega in i instruktion </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Stega in i instruktion</guimenuitem> </menuchoice></term> +<listitem><para>Stega in i instruktion </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Stega ur</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stega ur </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Stega ur</guimenuitem> </menuchoice></term> +<listitem><para>Stega ur </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Växla brytpunkt</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Växla brytpunkt </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Växla brytpunkt</guimenuitem> </menuchoice></term> +<listitem><para>Växla brytpunkt </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Visare</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visare </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Visare</guimenuitem> </menuchoice></term> +<listitem><para>Visare </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Undersök minnesdump...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Undersök minnesdump... </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Undersök minnesdump...</guimenuitem> </menuchoice></term> +<listitem><para>Undersök minnesdump... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Anslut till process</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anslut till process </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Anslut till process</guimenuitem> </menuchoice></term> +<listitem><para>Anslut till process </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Valgrind kontroll av minnesläckor</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Valgrind kontroll av minnesläckor </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Valgrind kontroll av minnesläckor</guimenuitem> </menuchoice></term> +<listitem><para>Valgrind kontroll av minnesläckor </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Profilera med Kcachegrind</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Profilera med Kcachegrind </para -></listitem> +<term><menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Profilera med Kcachegrind</guimenuitem> </menuchoice></term> +<listitem><para>Profilera med Kcachegrind </para></listitem> </varlistentry> @@ -2007,48 +709,19 @@ <sect2 id="menu-bookmarks"> -<title ->Menyn <guimenu ->Bokmärken</guimenu -></title> +<title>Menyn <guimenu>Bokmärken</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->B</keycap -></keycombo -> </shortcut -> <guimenu ->Bokmärken</guimenu -> <guimenuitem ->Nytt bokmärke</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Lägg till nuvarande markering i dina bokmärken.</para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Bokmärke</guimenu -> <guimenuitem ->Rensa alla bokmärken</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Rensa alla bokmärken.</para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo> </shortcut> <guimenu>Bokmärken</guimenu> <guimenuitem>Nytt bokmärke</guimenuitem> </menuchoice></term> +<listitem><para>Lägg till nuvarande markering i dina bokmärken.</para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Bokmärke</guimenu> <guimenuitem>Rensa alla bokmärken</guimenuitem> </menuchoice></term> +<listitem><para>Rensa alla bokmärken.</para></listitem> </varlistentry> </variablelist> @@ -2061,83 +734,28 @@ <sect2 id="menu-window"> -<title ->Menyn <guimenu ->Fönster</guimenu -></title> +<title>Menyn <guimenu>Fönster</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;<keycap ->W</keycap -></keycombo -></shortcut -> <guimenu ->Fönster</guimenu -> <guimenuitem ->Stäng markerade fönster...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng markerade fönster...</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->F4</keycap -></keycombo -></shortcut -> <guimenu ->Fönster</guimenu -> <guimenuitem ->Stäng</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Fönster</guimenu -> <guimenuitem ->Stäng alla</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng alla</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Fönster</guimenu -> <guimenuitem ->Stäng alla andra</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stäng alla andra</para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;<keycap>W</keycap></keycombo></shortcut> <guimenu>Fönster</guimenu> <guimenuitem>Stäng markerade fönster...</guimenuitem> </menuchoice></term> +<listitem><para>Stäng markerade fönster...</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>F4</keycap></keycombo></shortcut> <guimenu>Fönster</guimenu> <guimenuitem>Stäng</guimenuitem> </menuchoice></term> +<listitem><para>Stäng</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Fönster</guimenu> <guimenuitem>Stäng alla</guimenuitem> </menuchoice></term> +<listitem><para>Stäng alla</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Fönster</guimenu> <guimenuitem>Stäng alla andra</guimenuitem> </menuchoice></term> +<listitem><para>Stäng alla andra</para></listitem> </varlistentry> @@ -2154,489 +772,156 @@ <sect2 id="menu-tools"> -<title ->Menyn <guimenu ->Verktyg</guimenu -></title> +<title>Menyn <guimenu>Verktyg</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Skrivskyddat läge</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Skrivskyddat läge </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Filtyp</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Filtyp </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Färgläggning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Färgläggning </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Radslut</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Radslut </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Stavning</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stavning </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->I</keycap -></keycombo -> </shortcut -> <guimenu ->verktyg</guimenu -> <guimenuitem ->Indentera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Indentera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->I</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Avindentera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Avindentera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Rensa indentering</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Rensa indentering </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->Tab</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Justera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Justera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->D</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Kommentera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kommentera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->D</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Avkommentera</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Avkommentera </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->U</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Stora bokstäver</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Stora bokstäver </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->U</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Små bokstäver</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Små bokstäver </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->U</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Inledande stor bokstav</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Inledande stor bokstav </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->J</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Kombinera rader</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kombinera rader </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Bryt rader mellan ord i dokumentet</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Bryt rader mellan ord i dokumentet </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->verktyg</guimenu -> <guimenuitem ->Visning av skillnader...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visning av skillnader... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Kör kommando...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Kör kommando... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Filtrera markering genom kommando...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Filtrerar markeringen genom ett externt kommando genom att använda <link linkend="KDevFilter" ->filterinsticksprogrammet</link ->. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Avlusa reguljärt uttryck...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Avlusa reguljärt uttryck... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Delutforskare</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Delutforskare </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->C</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Snabböppna klass...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Snabböppna klass... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->M</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Snabböppna metod...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Snabböppna metod... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->P</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Förhandsgranska utmatning från Doxygen</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Förhandsgranska utmatning från Doxygen </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;&Shift;<keycap ->S</keycap -></keycombo -> </shortcut -> <guimenu ->Verktyg</guimenu -> <guimenuitem ->Dokumentera nuvarande funktion</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dokumentera nuvarande funktion </para -></listitem> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Skrivskyddat läge</guimenuitem> </menuchoice></term> +<listitem><para>Skrivskyddat läge </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Filtyp</guimenuitem> </menuchoice></term> +<listitem><para>Filtyp </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Färgläggning</guimenuitem> </menuchoice></term> +<listitem><para>Färgläggning </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Radslut</guimenuitem> </menuchoice></term> +<listitem><para>Radslut </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Stavning</guimenuitem> </menuchoice></term> +<listitem><para>Stavning </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo> </shortcut> <guimenu>verktyg</guimenu> <guimenuitem>Indentera</guimenuitem> </menuchoice></term> +<listitem><para>Indentera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>I</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Avindentera</guimenuitem> </menuchoice></term> +<listitem><para>Avindentera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Rensa indentering</guimenuitem> </menuchoice></term> +<listitem><para>Rensa indentering </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>Tab</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Justera</guimenuitem> </menuchoice></term> +<listitem><para>Justera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Kommentera</guimenuitem> </menuchoice></term> +<listitem><para>Kommentera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>D</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Avkommentera</guimenuitem> </menuchoice></term> +<listitem><para>Avkommentera </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>U</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Stora bokstäver</guimenuitem> </menuchoice></term> +<listitem><para>Stora bokstäver </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>U</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Små bokstäver</guimenuitem> </menuchoice></term> +<listitem><para>Små bokstäver </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>U</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Inledande stor bokstav</guimenuitem> </menuchoice></term> +<listitem><para>Inledande stor bokstav </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Kombinera rader</guimenuitem> </menuchoice></term> +<listitem><para>Kombinera rader </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Bryt rader mellan ord i dokumentet</guimenuitem> </menuchoice></term> +<listitem><para>Bryt rader mellan ord i dokumentet </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>verktyg</guimenu> <guimenuitem>Visning av skillnader...</guimenuitem> </menuchoice></term> +<listitem><para>Visning av skillnader... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Kör kommando...</guimenuitem> </menuchoice></term> +<listitem><para>Kör kommando... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Filtrera markering genom kommando...</guimenuitem> </menuchoice></term> +<listitem><para>Filtrerar markeringen genom ett externt kommando genom att använda <link linkend="KDevFilter">filterinsticksprogrammet</link>. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Avlusa reguljärt uttryck...</guimenuitem> </menuchoice></term> +<listitem><para>Avlusa reguljärt uttryck... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Delutforskare</guimenuitem> </menuchoice></term> +<listitem><para>Delutforskare </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>C</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Snabböppna klass...</guimenuitem> </menuchoice></term> +<listitem><para>Snabböppna klass... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>M</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Snabböppna metod...</guimenuitem> </menuchoice></term> +<listitem><para>Snabböppna metod... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Förhandsgranska utmatning från Doxygen</guimenuitem> </menuchoice></term> +<listitem><para>Förhandsgranska utmatning från Doxygen </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;&Shift;<keycap>S</keycap></keycombo> </shortcut> <guimenu>Verktyg</guimenu> <guimenuitem>Dokumentera nuvarande funktion</guimenuitem> </menuchoice></term> +<listitem><para>Dokumentera nuvarande funktion </para></listitem> </varlistentry> @@ -2652,142 +937,53 @@ <sect2 id="menu-settings"> -<title ->Menyn <guimenu ->Inställningar</guimenu -></title> +<title>Menyn <guimenu>Inställningar</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Ctrl;<keycap ->M</keycap -></keycombo -></shortcut -> <guimenu ->Inställningar</guimenu -> <guimenuitem ->Visa/Dölj menyrad</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa/Dölj menyraden.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Verktygsrader</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Öppnar en undermeny där du kan välja att visa eller dölja de olika verktygsraderna.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Visa statusrad</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa statusraden.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa genvägar...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anpassa genvägar... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa verktygsrader...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anpassa verktygsrader... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa meddelanden...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anpassa meddelanden... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa editor...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anpassa editor... </para -></listitem> +<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo></shortcut> <guimenu>Inställningar</guimenu> <guimenuitem>Visa/Dölj menyrad</guimenuitem> </menuchoice></term> +<listitem><para>Visa/Dölj menyraden.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Verktygsrader</guimenuitem> </menuchoice></term> +<listitem><para>Öppnar en undermeny där du kan välja att visa eller dölja de olika verktygsraderna.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Visa statusrad</guimenuitem> </menuchoice></term> +<listitem><para>Visa statusraden.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa genvägar...</guimenuitem> </menuchoice></term> +<listitem><para>Anpassa genvägar... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa verktygsrader...</guimenuitem> </menuchoice></term> +<listitem><para>Anpassa verktygsrader... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa meddelanden...</guimenuitem> </menuchoice></term> +<listitem><para>Anpassa meddelanden... </para></listitem> </varlistentry> <varlistentry> -<term -><menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Anpassa KDevelop... </para -></listitem> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa editor...</guimenuitem> </menuchoice></term> +<listitem><para>Anpassa editor... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem> </menuchoice></term> +<listitem><para>Anpassa KDevelop... </para></listitem> </varlistentry> @@ -2802,187 +998,64 @@ <sect2 id="menu-help"> -<title ->Menyn <guimenu ->Hjälp</guimenu -></title> +<title>Menyn <guimenu>Hjälp</guimenu></title> <variablelist> <varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Handbok KDevelop</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa det här dokumentet.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Shift;<keycap ->F1</keycap -></keycombo -></shortcut -> <guimenu ->Hjälp</guimenu -> <guimenuitem ->Vad är det här?</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Ritar ett frågetecken (?) intill muspekaren. Att klicka på ett objekt i ett fönster som knappen <guiicon ->Stoppa</guiicon -> visar då en kortfattad förklaring. </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Dagens tips</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Dagens tips </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->I</keycap -></keycombo -> </shortcut -> <guimenu ->Hjälp</guimenu -> <guimenuitem ->Titta i dokumentationsindex...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Titta i dokumentationsindex... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><shortcut -> <keycombo action="simul" ->&Alt;&Ctrl;<keycap ->S</keycap -></keycombo -> </shortcut -> <guimenu ->Hjälp</guimenu -> <guimenuitem ->Sök i dokumentationen...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Sök i dokumentationen... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Manualsida...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Manualsida... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Infosida...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Infosida... </para -></listitem> -</varlistentry> - - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Rapportera fel...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Rapportera fel.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Om KDevelop...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa en del kortfattad information om KDevelops versionsnummer, upphovsmän och licensavtal.</para -></listitem> -</varlistentry> - -<varlistentry> -<term -><menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Om KDE...</guimenuitem -> </menuchoice -></term> -<listitem -><para ->Visa en del information om versionen av &kde; som du kör.</para -></listitem> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Handbok KDevelop</guimenuitem> </menuchoice></term> +<listitem><para>Visa det här dokumentet.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Shift;<keycap>F1</keycap></keycombo></shortcut> <guimenu>Hjälp</guimenu> <guimenuitem>Vad är det här?</guimenuitem> </menuchoice></term> +<listitem><para>Ritar ett frågetecken (?) intill muspekaren. Att klicka på ett objekt i ett fönster som knappen <guiicon>Stoppa</guiicon> visar då en kortfattad förklaring. </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Dagens tips</guimenuitem> </menuchoice></term> +<listitem><para>Dagens tips </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>I</keycap></keycombo> </shortcut> <guimenu>Hjälp</guimenu> <guimenuitem>Titta i dokumentationsindex...</guimenuitem> </menuchoice></term> +<listitem><para>Titta i dokumentationsindex... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><shortcut> <keycombo action="simul">&Alt;&Ctrl;<keycap>S</keycap></keycombo> </shortcut> <guimenu>Hjälp</guimenu> <guimenuitem>Sök i dokumentationen...</guimenuitem> </menuchoice></term> +<listitem><para>Sök i dokumentationen... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Manualsida...</guimenuitem> </menuchoice></term> +<listitem><para>Manualsida... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Infosida...</guimenuitem> </menuchoice></term> +<listitem><para>Infosida... </para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Rapportera fel...</guimenuitem> </menuchoice></term> +<listitem><para>Rapportera fel.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Om KDevelop...</guimenuitem> </menuchoice></term> +<listitem><para>Visa en del kortfattad information om KDevelops versionsnummer, upphovsmän och licensavtal.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Om KDE...</guimenuitem> </menuchoice></term> +<listitem><para>Visa en del information om versionen av &kde; som du kör.</para></listitem> </varlistentry> </variablelist> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/credits.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/credits.docbook index afa7998b781..7ca4de2aa1e 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/credits.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/credits.docbook @@ -1,40 +1,20 @@ <chapter id="credits"> -<title ->Tack till</title> +<title>Tack till</title> <sect1 id="credits-contributions"> -<title ->Bidragsgivare</title> +<title>Bidragsgivare</title> <para> <itemizedlist> - <listitem -><para ->Det ursprungliga innehållet i den här handboken är skrivet av Bernd Gehrmann <email ->bernd@kdevelop.org</email -> och Caleb Tennis <email ->caleb@aei-tech.com</email ->. </para -></listitem> - <listitem -><para ->Kapitlen <link linkend="automake-manager-summary" ->Sammanfattning av Hantering av automake</link -> och <link linkend="automake-manager-operation" ->Användning av Hantering av automake</link -> är skrivna av Ian Wadham, <email ->ianw@netspace.net.au</email ->). </para -></listitem> + <listitem><para>Det ursprungliga innehållet i den här handboken är skrivet av Bernd Gehrmann <email>bernd@kdevelop.org</email> och Caleb Tennis <email>caleb@aei-tech.com</email>. </para></listitem> + <listitem><para>Kapitlen <link linkend="automake-manager-summary">Sammanfattning av Hantering av automake</link> och <link linkend="automake-manager-operation">Användning av Hantering av automake</link> är skrivna av Ian Wadham, <email>ianw@netspace.net.au</email>). </para></listitem> </itemizedlist> </para> -</sect1 -> <!-- credits-contributions --> +</sect1> <!-- credits-contributions --> <!--CREDITS_FOR_TRANSLATORS--> -</chapter -> <!-- credits --> +</chapter> <!-- credits --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/cvs.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/cvs.docbook index 6b9c6e8f259..77b4d4969a8 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/cvs.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/cvs.docbook @@ -1,133 +1,75 @@ <chapter id="cvs"> -<title ->Använda &CVS;</title> -<indexterm zone="cvs" -><primary ->CVS</primary -></indexterm> -<indexterm zone="cvs" -><primary ->versionskontroll</primary -></indexterm> +<title>Använda &CVS;</title> +<indexterm zone="cvs"><primary>CVS</primary></indexterm> +<indexterm zone="cvs"><primary>versionskontroll</primary></indexterm> <sect1 id="cvs-basics"> -<title ->&CVS; grunder</title> - -<para ->&CVS; är versionshanteringssystemet som många projekt med öppen källkod, inklusive &kde;, använder. Det lagrar all källkod på en centralt plats, som kallas <emphasis ->arkivet</emphasis ->. Utvecklare hämtar en aktuell version av projektet eller versioner av det vid godtyckliga tidpunkter, från arkivet. I motsats till vissa andra versionshanteringssystem, är det inte nödvändigt att <emphasis ->låsa</emphasis -> filer som man ska arbeta med. Alltså kan utveckling ske parallellt i stor utsträckning. </para> - -<para ->Så fort en utvecklare är klar med en uppgift, <emphasis ->arkiverar</emphasis -> han sin kod (tillsammans med ett loggmeddelande). &CVS; tar hand om arbetet att sammanfoga ändringar som görs av flera utvecklare. Det kan förstås hända att utvecklare arbetar med samma kodavsnitt, vilket ger upphov till ändringar med konflikter (i praktiken inträffar detta sällan, och är ofta ett tecken på bristande kommunikation). I detta fall, förkastar &CVS; arkiveringen. En fil kan bara arkiveras efter alla konflikter har lösts upp. </para> - -<para ->Hittills har de grundläggande funktionerna i &CVS;, som man oftast måste hantera, beskrivits. Men &CVS; erbjuder mycket mer: Man kan hantera flera grenar av ett projekt (t.ex. var &kde; 1.1.2 och &kde; 2 grenar i &kde;:s utvecklingsträd), sammanfoga ändringar från en gren till en annan, fråga efter skillnader mellan versioner och filers versionshistorik, etc. </para> - -<para ->&CVS; implementeras som ett klient-serversystem. Som användare, sker all kommunikation med arkivet via kommandoradsprogrammet &cvs;. Gränssnitt på högre nivå är tillgängligt via program som <application ->Cervisia</application -> (<ulink url="http://cervisia.sf.net" -> </ulink ->) eller <application ->TkCVS</application -> (<ulink url="http://tkcvs.sf.net" -></ulink ->). Bara en liten del av &cvs; funktioner, som är viktiga under det dagliga arbetet, kan användas direkt i &tdevelop;. </para> - -<para ->Grundläggande kunskap om användning av &CVS; förutsätts. I synnerhet bör du veta hur ett givet projekt hämtas från arkivet. Vi rekommenderar boken <citetitle pubwork="book" ->Open Source Development With CVS</citetitle -> av Karl Fogel, som kan spridas fritt (utom de icke-tekniska kapitlen). Se <ulink url="http://cvsbook.red-bean.com/cvsbook.html" -></ulink ->. </para> - -</sect1 -> <!-- cvs-basics --> +<title>&CVS; grunder</title> + +<para>&CVS; är versionshanteringssystemet som många projekt med öppen källkod, inklusive &kde;, använder. Det lagrar all källkod på en centralt plats, som kallas <emphasis>arkivet</emphasis>. Utvecklare hämtar en aktuell version av projektet eller versioner av det vid godtyckliga tidpunkter, från arkivet. I motsats till vissa andra versionshanteringssystem, är det inte nödvändigt att <emphasis>låsa</emphasis> filer som man ska arbeta med. Alltså kan utveckling ske parallellt i stor utsträckning. </para> + +<para>Så fort en utvecklare är klar med en uppgift, <emphasis>arkiverar</emphasis> han sin kod (tillsammans med ett loggmeddelande). &CVS; tar hand om arbetet att sammanfoga ändringar som görs av flera utvecklare. Det kan förstås hända att utvecklare arbetar med samma kodavsnitt, vilket ger upphov till ändringar med konflikter (i praktiken inträffar detta sällan, och är ofta ett tecken på bristande kommunikation). I detta fall, förkastar &CVS; arkiveringen. En fil kan bara arkiveras efter alla konflikter har lösts upp. </para> + +<para>Hittills har de grundläggande funktionerna i &CVS;, som man oftast måste hantera, beskrivits. Men &CVS; erbjuder mycket mer: Man kan hantera flera grenar av ett projekt (t.ex. var &kde; 1.1.2 och &kde; 2 grenar i &kde;:s utvecklingsträd), sammanfoga ändringar från en gren till en annan, fråga efter skillnader mellan versioner och filers versionshistorik, etc. </para> + +<para>&CVS; implementeras som ett klient-serversystem. Som användare, sker all kommunikation med arkivet via kommandoradsprogrammet &cvs;. Gränssnitt på högre nivå är tillgängligt via program som <application>Cervisia</application> (<ulink url="http://cervisia.sf.net"> </ulink>) eller <application>TkCVS</application> (<ulink url="http://tkcvs.sf.net"></ulink>). Bara en liten del av &cvs; funktioner, som är viktiga under det dagliga arbetet, kan användas direkt i &tdevelop;. </para> + +<para>Grundläggande kunskap om användning av &CVS; förutsätts. I synnerhet bör du veta hur ett givet projekt hämtas från arkivet. Vi rekommenderar boken <citetitle pubwork="book">Open Source Development With CVS</citetitle> av Karl Fogel, som kan spridas fritt (utom de icke-tekniska kapitlen). Se <ulink url="http://cvsbook.red-bean.com/cvsbook.html"></ulink>. </para> + +</sect1> <!-- cvs-basics --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="cvs-commands"> -<title ->&CVS;-kommandon i &tdevelop;</title> +<title>&CVS;-kommandon i &tdevelop;</title> -<para ->Följande alternativ är tillgängliga i filvyernas sammanhangsberoende menyer: </para> +<para>Följande alternativ är tillgängliga i filvyernas sammanhangsberoende menyer: </para> <variablelist> <varlistentry> -<term ->Lägg till i arkivet</term> +<term>Lägg till i arkivet</term> <listitem> -<para ->Förbereder en fil för att läggas till i arkivet. Filen överförs till arkivet när du arkiverar den (eller katalogen som den finns i) nästa gång. </para> +<para>Förbereder en fil för att läggas till i arkivet. Filen överförs till arkivet när du arkiverar den (eller katalogen som den finns i) nästa gång. </para> </listitem> </varlistentry> <varlistentry> -<term ->Ta bort från arkivet</term> +<term>Ta bort från arkivet</term> <listitem> -<para ->Förbereder en fil för att tas bort från arkivet. Det här tar också bort filen från det lokala filsystemet, så använd funktionen med försiktighet! </para> +<para>Förbereder en fil för att tas bort från arkivet. Det här tar också bort filen från det lokala filsystemet, så använd funktionen med försiktighet! </para> </listitem> </varlistentry> <varlistentry> -<term ->Uppdatera</term> +<term>Uppdatera</term> <listitem> -<para ->Kör kommandot <command ->cvs update</command -> för att sammanfoga eventuella ändringar från andra användare till din arbetskatalog. När du använder menyalternativet för en katalog, sker uppdateringen normalt rekursivt, utom om du har stängt av det i inställningsfilen <filename ->.cvsrc</filename ->. </para> +<para>Kör kommandot <command>cvs update</command> för att sammanfoga eventuella ändringar från andra användare till din arbetskatalog. När du använder menyalternativet för en katalog, sker uppdateringen normalt rekursivt, utom om du har stängt av det i inställningsfilen <filename>.cvsrc</filename>. </para> </listitem> </varlistentry> <varlistentry> -<term ->Arkivera</term> +<term>Arkivera</term> <listitem> -<para ->Kör <command ->cvs commit</command -> för att arkivera alla lokala ändringar i arkivet. Observera att du bör uppdatera innan du gör detta. Om en annan användare tidigare har arkiverat sina ändringar, kan &CVS; annars ge ett felmeddelande. </para> +<para>Kör <command>cvs commit</command> för att arkivera alla lokala ändringar i arkivet. Observera att du bör uppdatera innan du gör detta. Om en annan användare tidigare har arkiverat sina ändringar, kan &CVS; annars ge ett felmeddelande. </para> </listitem> </varlistentry> </variablelist> -<para ->Alla kommandon startas som underprocesser av &tdevelop;, utan ytterligare kommandoradsväljare eller miljövariabler. Det här kan vara ett problem om anslutningen till &CVS;-servern går via en &ssh;-anslutning, och kräver att du skriver in ett lösenord varje gång du arkiverar eller uppdaterar. Det här är till exempel nödvändigt om projektets värd är <filename ->sourceforge.net</filename ->. Ett sätt att gå runt problemet beskrivs i vanliga frågor om CVS/SSH, som du hittar i SourceForge-dokumentationen. </para> +<para>Alla kommandon startas som underprocesser av &tdevelop;, utan ytterligare kommandoradsväljare eller miljövariabler. Det här kan vara ett problem om anslutningen till &CVS;-servern går via en &ssh;-anslutning, och kräver att du skriver in ett lösenord varje gång du arkiverar eller uppdaterar. Det här är till exempel nödvändigt om projektets värd är <filename>sourceforge.net</filename>. Ett sätt att gå runt problemet beskrivs i vanliga frågor om CVS/SSH, som du hittar i SourceForge-dokumentationen. </para> -</sect1 -> <!-- cvs-basics --> +</sect1> <!-- cvs-basics --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="cvs-behind"> -<title ->Bakom ridån</title> +<title>Bakom ridån</title> <sect2 id="cvs-behind-workdir"> -<title ->Vad &CVS; sparar i arbetskatalogen</title> +<title>Vad &CVS; sparar i arbetskatalogen</title> -<para ->(...ännu inte skrivet...) </para> -</sect2 -> <!-- cvs-behind-workdir --> +<para>(...ännu inte skrivet...) </para> +</sect2> <!-- cvs-behind-workdir --> -</sect1 -> <!-- cvs-behind --> +</sect1> <!-- cvs-behind --> -</chapter -> <!-- cvs --> +</chapter> <!-- cvs --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/debugger.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/debugger.docbook index 1bab415a692..106a5c9685b 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/debugger.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/debugger.docbook @@ -1,224 +1,85 @@ <chapter id="debugger"> -<title ->Avlusargränssnittet</title> -<indexterm zone="debugger" -><primary ->avlusare</primary -></indexterm> - -<para ->&tdevelop; innehåller en intern avlusare för C och C++, som är direkt integrerad med editorn. Tekniskt sett är den implementerad som ett gränssnitt som använder den flyttbara &GNU;-avlusaren <application ->gdb</application -> via en rörledning. Avlusaren kan startas på flera sätt: </para> +<title>Avlusargränssnittet</title> +<indexterm zone="debugger"><primary>avlusare</primary></indexterm> + +<para>&tdevelop; innehåller en intern avlusare för C och C++, som är direkt integrerad med editorn. Tekniskt sett är den implementerad som ett gränssnitt som använder den flyttbara &GNU;-avlusaren <application>gdb</application> via en rörledning. Avlusaren kan startas på flera sätt: </para> <itemizedlist> <listitem> -<para ->Huvudprogrammet i projektet laddas i avlusaren med <menuchoice -><guimenu ->Avlusa</guimenu -><guimenuitem ->Starta</guimenuitem -></menuchoice ->. </para> +<para>Huvudprogrammet i projektet laddas i avlusaren med <menuchoice><guimenu>Avlusa</guimenu><guimenuitem>Starta</guimenuitem></menuchoice>. </para> </listitem> <listitem> -<para ->Genom att använda <menuchoice -><guimenu ->Avlusa</guimenu -> <guimenuitem ->Starta (annan)</guimenuitem -> <guimenuitem ->Undersök minnesdump</guimenuitem -></menuchoice ->, laddar du en minnesdump till minnet, som skapats av operativsystemets kärna när programmet kraschade. (Att skapa minnesdumpar kan vara avstängt på systemet, se <application ->ulimit(1)</application ->). Det här är användbart för en post-mortem analys av ett program. </para> +<para>Genom att använda <menuchoice><guimenu>Avlusa</guimenu> <guimenuitem>Starta (annan)</guimenuitem> <guimenuitem>Undersök minnesdump</guimenuitem></menuchoice>, laddar du en minnesdump till minnet, som skapats av operativsystemets kärna när programmet kraschade. (Att skapa minnesdumpar kan vara avstängt på systemet, se <application>ulimit(1)</application>). Det här är användbart för en post-mortem analys av ett program. </para> </listitem> <listitem> -<para ->Du startar avlusaren för ett program som redan kör med <menuchoice -><guimenu ->Avlusa</guimenu -><guimenuitem ->Starta (annan)</guimenuitem -> <guimenuitem ->Anslut till process</guimenuitem -></menuchoice ->. En processlista visas där du kan välja processen som avlusaren ska överta. </para> +<para>Du startar avlusaren för ett program som redan kör med <menuchoice><guimenu>Avlusa</guimenu><guimenuitem>Starta (annan)</guimenuitem> <guimenuitem>Anslut till process</guimenuitem></menuchoice>. En processlista visas där du kan välja processen som avlusaren ska överta. </para> </listitem> <listitem> -<para ->Observera att avlusning bara är möjlig om projektet har kompilerats med avlusningsinformation aktiverad. Den kan aktiveras i dialogrutan <guibutton ->Kompilatorinställningar</guibutton ->. När alternativet är aktiverat, skapar kompilatorn ytterligare information som låter avlusaren associera filnamn och radnummer med adresser i det körbara programmet. </para> +<para>Observera att avlusning bara är möjlig om projektet har kompilerats med avlusningsinformation aktiverad. Den kan aktiveras i dialogrutan <guibutton>Kompilatorinställningar</guibutton>. När alternativet är aktiverat, skapar kompilatorn ytterligare information som låter avlusaren associera filnamn och radnummer med adresser i det körbara programmet. </para> </listitem> </itemizedlist> -<para ->Gränssnittet till avlusaren erbjuder flera vyer <quote ->in i</quote -> processen: </para> +<para>Gränssnittet till avlusaren erbjuder flera vyer <quote>in i</quote> processen: </para> -<para ->Om du försöker avlusa ett projekt utan avlusningsinformation, får du meddelandet <computeroutput ->Ingen källkod...</computeroutput -> i statusraden. Om du försöker sätta brytpunkter, visas de som <computeroutput ->Vilande (lägg till)</computeroutput -> i brytpunktsfönstret (se nedan). </para> +<para>Om du försöker avlusa ett projekt utan avlusningsinformation, får du meddelandet <computeroutput>Ingen källkod...</computeroutput> i statusraden. Om du försöker sätta brytpunkter, visas de som <computeroutput>Vilande (lägg till)</computeroutput> i brytpunktsfönstret (se nedan). </para> <variablelist> <varlistentry> -<term ->Variabler</term> +<term>Variabler</term> <listitem> -<indexterm zone="debugger" -><primary ->bevakningsvariabler</primary -></indexterm> -<para ->Det här fönstret visar värden för alla lokala variabler vid det nuvarande stället i programmet. Det täcker variablerna i kompilatorns anropsstack, dvs. funktionen där processen bröts, funktionen som anropade den här funktionen, och så vidare hela vägen till funktionen <function ->main()</function ->. </para> - -<para ->En annan gren i variabelfönstret innehåller bevakningsvariabler. Du kan själv ställa in vilka variabler som syns här. Både lokala och globala variabler kan bevakas. Du kan antingen lägga till en variabel genom att klicka på knappen <guibutton ->Lägg till</guibutton -> eller trycka på returtangenten när posten <keycap ->Bevaka</keycap -> är markerad. Variablerna kan tas bort igen med den sammanhangsberoende menyn. </para> +<indexterm zone="debugger"><primary>bevakningsvariabler</primary></indexterm> +<para>Det här fönstret visar värden för alla lokala variabler vid det nuvarande stället i programmet. Det täcker variablerna i kompilatorns anropsstack, dvs. funktionen där processen bröts, funktionen som anropade den här funktionen, och så vidare hela vägen till funktionen <function>main()</function>. </para> + +<para>En annan gren i variabelfönstret innehåller bevakningsvariabler. Du kan själv ställa in vilka variabler som syns här. Både lokala och globala variabler kan bevakas. Du kan antingen lägga till en variabel genom att klicka på knappen <guibutton>Lägg till</guibutton> eller trycka på returtangenten när posten <keycap>Bevaka</keycap> är markerad. Variablerna kan tas bort igen med den sammanhangsberoende menyn. </para> </listitem> </varlistentry> <varlistentry> -<term ->Aktiveringspoststack</term> +<term>Aktiveringspoststack</term> <listitem> -<indexterm zone="debugger" -><primary ->aktiveringspost-stack</primary -></indexterm> -<para ->(...ännu inte skrivet...) </para> +<indexterm zone="debugger"><primary>aktiveringspost-stack</primary></indexterm> +<para>(...ännu inte skrivet...) </para> </listitem> </varlistentry> <varlistentry> -<term ->Brytpunkter</term> +<term>Brytpunkter</term> <listitem> -<indexterm zone="debugger" -><primary ->brytpunkter</primary -></indexterm> -<para ->Fönstret låter dig se och behandla brytpunkterna. Kom ihåg att &tdevelop; använder <application ->GDB</application ->, så för att förstå &tdevelop;s avlusningsfunktioner fullständigt, måste du veta lite grand om <ulink url="http://www.gnu.org/software/gdb" ->GDB</ulink ->. </para> - -<para ->Om du vill titta på källkoden, definieras brytpunkter i <filename ->tdevelop/languages/cpp/debugger/breakpoint.h</filename ->. </para> - -<para ->I vänsterkanten har fönstret knappar för att:</para> +<indexterm zone="debugger"><primary>brytpunkter</primary></indexterm> +<para>Fönstret låter dig se och behandla brytpunkterna. Kom ihåg att &tdevelop; använder <application>GDB</application>, så för att förstå &tdevelop;s avlusningsfunktioner fullständigt, måste du veta lite grand om <ulink url="http://www.gnu.org/software/gdb">GDB</ulink>. </para> + +<para>Om du vill titta på källkoden, definieras brytpunkter i <filename>tdevelop/languages/cpp/debugger/breakpoint.h</filename>. </para> + +<para>I vänsterkanten har fönstret knappar för att:</para> <itemizedlist> -<listitem -><para ->Lägga till en tom brytpunkt</para -></listitem> -<listitem -><para ->Redigera den markerade brytpunkten</para -></listitem> - <listitem -><para ->Ta bort den markerade brytpunkten</para -></listitem> -<listitem -><para ->Ta bort alla brytpunkter</para -></listitem> +<listitem><para>Lägga till en tom brytpunkt</para></listitem> +<listitem><para>Redigera den markerade brytpunkten</para></listitem> + <listitem><para>Ta bort den markerade brytpunkten</para></listitem> +<listitem><para>Ta bort alla brytpunkter</para></listitem> </itemizedlist> -<para ->Huvuddelen av fönstret är en tabell med sju kolumner. Varje rad i tabellen är en brytpunkt. Kolumnerna är:</para> +<para>Huvuddelen av fönstret är en tabell med sju kolumner. Varje rad i tabellen är en brytpunkt. Kolumnerna är:</para> <orderedlist> -<listitem -><para ->Markeringskryssruta</para -></listitem> -<listitem -><para ->Typ: en av: Ogiltig, Fil:Rad, Bevakningspunkt, Adress, Funktion</para -></listitem> -<listitem -><para ->Status. Värdena är:</para> +<listitem><para>Markeringskryssruta</para></listitem> +<listitem><para>Typ: en av: Ogiltig, Fil:Rad, Bevakningspunkt, Adress, Funktion</para></listitem> +<listitem><para>Status. Värdena är:</para> <itemizedlist> - <listitem -><para ->Aktiv</para -></listitem> - <listitem -><para ->Inaktiverad: Varje brytpunkt kan <quote ->aktiveras</quote -> eller <quote ->inaktiveras</quote ->. Om den är inaktiverad har den ingen effekt på programmet till den aktiveras igen.</para -></listitem> - <listitem -><para ->Vilande (lägg till): En brytpunkt är markerad så här om ingen avlusningsinformation är tillgänglig. Från GDB:s informationssida: <blockquote -><para ->Om en specificerad brytpunktsplats inte kan hittas, kan det bero på det faktum att platsen är i ett delat bibliotek som ännu inte har laddats. I ett sådant fall, kan du vilja att GDB skapar en speciell brytpunkt (känd som en <quote ->vilande brytpunkt</quote ->) som försöker lösa upp sig själv i framtiden när ett lämpligt delat bibliotek laddas.</para -></blockquote -> </para -></listitem> + <listitem><para>Aktiv</para></listitem> + <listitem><para>Inaktiverad: Varje brytpunkt kan <quote>aktiveras</quote> eller <quote>inaktiveras</quote>. Om den är inaktiverad har den ingen effekt på programmet till den aktiveras igen.</para></listitem> + <listitem><para>Vilande (lägg till): En brytpunkt är markerad så här om ingen avlusningsinformation är tillgänglig. Från GDB:s informationssida: <blockquote><para>Om en specificerad brytpunktsplats inte kan hittas, kan det bero på det faktum att platsen är i ett delat bibliotek som ännu inte har laddats. I ett sådant fall, kan du vilja att GDB skapar en speciell brytpunkt (känd som en <quote>vilande brytpunkt</quote>) som försöker lösa upp sig själv i framtiden när ett lämpligt delat bibliotek laddas.</para></blockquote> </para></listitem> </itemizedlist> </listitem> -<listitem -><para ->Vilande (rensa)</para -></listitem> -<listitem -><para ->Vilande (ändra)</para -></listitem> -<listitem -><para ->Plats på formatet filnamn:radnummer</para -></listitem> -<listitem -><para ->Villkor</para -></listitem> -<listitem -><para ->Ignorera antal: Om det är ett tal <varname ->ANTAL</varname -> större än noll, stoppas inte programmets körning följande <varname ->ANTAL</varname -> gånger som brytpunkten nås, förutom att minska antalet att ignorera, utför <application ->gdb</application -> ingen åtgärd.</para -></listitem> -<listitem -><para ->Träffar: Räknar hur många gånger en brytpunkt har träffats.</para -></listitem> +<listitem><para>Vilande (rensa)</para></listitem> +<listitem><para>Vilande (ändra)</para></listitem> +<listitem><para>Plats på formatet filnamn:radnummer</para></listitem> +<listitem><para>Villkor</para></listitem> +<listitem><para>Ignorera antal: Om det är ett tal <varname>ANTAL</varname> större än noll, stoppas inte programmets körning följande <varname>ANTAL</varname> gånger som brytpunkten nås, förutom att minska antalet att ignorera, utför <application>gdb</application> ingen åtgärd.</para></listitem> +<listitem><para>Träffar: Räknar hur många gånger en brytpunkt har träffats.</para></listitem> </orderedlist> @@ -226,15 +87,10 @@ </varlistentry> <varlistentry> -<term ->Visa assemblerkod</term> +<term>Visa assemblerkod</term> <listitem> -<indexterm zone="debugger" -><primary ->visa assemblerkod</primary -></indexterm> -<para ->(...ännu inte skrivet...)</para> +<indexterm zone="debugger"><primary>visa assemblerkod</primary></indexterm> +<para>(...ännu inte skrivet...)</para> </listitem> </varlistentry> @@ -242,96 +98,51 @@ <sect1 id="settingbreakpoints"> -<title ->Ange brytpunkter</title> +<title>Ange brytpunkter</title> -<para ->(...ännu inte skrivet...) </para> +<para>(...ännu inte skrivet...) </para> -</sect1 -> <!-- settingbreakpoints --> +</sect1> <!-- settingbreakpoints --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id ="debuggeroptions"> -<title ->Alternativ</title> +<title>Alternativ</title> <variablelist> <varlistentry> -<term ->Visa behandlade namn</term> +<term>Visa behandlade namn</term> <listitem> -<indexterm zone="debugger" -><primary ->namnbehandling</primary -></indexterm> -<indexterm zone="debugger" -><primary ->behandling</primary -><secondary ->namn</secondary -></indexterm> - -<para ->Funktionsnamn i det körbara programmet är <quote ->behandlade</quote -> för C++, dvs. funktionsnamnet innehåller information om argumentens typer. Detta är nödvändigt för att stödja överlastade funktioner. Behandlingsalgoritmen är inte standardiserad, och skiljer sig till och med mellan olika versioner av &GNU;:s C++ kompilator. </para> - -<para ->I assemblerkodfönstret visas normalt obehandlade namn, så funktionssignaturer liknar utseendet i källkoden, och är lätt läsbara. Alternativt, kan du välja att se behandlade namn. </para> +<indexterm zone="debugger"><primary>namnbehandling</primary></indexterm> +<indexterm zone="debugger"><primary>behandling</primary><secondary>namn</secondary></indexterm> + +<para>Funktionsnamn i det körbara programmet är <quote>behandlade</quote> för C++, dvs. funktionsnamnet innehåller information om argumentens typer. Detta är nödvändigt för att stödja överlastade funktioner. Behandlingsalgoritmen är inte standardiserad, och skiljer sig till och med mellan olika versioner av &GNU;:s C++ kompilator. </para> + +<para>I assemblerkodfönstret visas normalt obehandlade namn, så funktionssignaturer liknar utseendet i källkoden, och är lätt läsbara. Alternativt, kan du välja att se behandlade namn. </para> </listitem> </varlistentry> <varlistentry> -<term ->Försök sätta brytpunkter när bibliotek laddas</term> +<term>Försök sätta brytpunkter när bibliotek laddas</term> <listitem> -<indexterm zone="debugger" -><primary ->lata brytpunkter</primary -></indexterm> -<indexterm zone="debugger" -><primary ->brytpunkter</primary -><secondary ->lat</secondary -></indexterm> - -<para ->Avlusarens bakgrundsprogram <application ->gdb</application -> tillåter inte att brytpunkter sätts i kod som inte för närvarande är laddad. I ett riktigt modulärt program, där kod ofta bara laddas vid behov som insticksprogram (med användning av C-bibliotekets funktion <function ->dlopen(3)</function ->), kan detta vara besvärande. Därför hanterar &tdevelop; själv stöd för brytpunkter i delade bibliotek. Om du aktiverar det här alternativet, kan du sätta brytpunkter i bibliotek som inte laddats. Därefter, så fort <application ->gdb</application -> talar om att ett bibliotek har laddats, försöker &tdevelop; sätta de vilande brytpunkterna. </para> +<indexterm zone="debugger"><primary>lata brytpunkter</primary></indexterm> +<indexterm zone="debugger"><primary>brytpunkter</primary><secondary>lat</secondary></indexterm> + +<para>Avlusarens bakgrundsprogram <application>gdb</application> tillåter inte att brytpunkter sätts i kod som inte för närvarande är laddad. I ett riktigt modulärt program, där kod ofta bara laddas vid behov som insticksprogram (med användning av C-bibliotekets funktion <function>dlopen(3)</function>), kan detta vara besvärande. Därför hanterar &tdevelop; själv stöd för brytpunkter i delade bibliotek. Om du aktiverar det här alternativet, kan du sätta brytpunkter i bibliotek som inte laddats. Därefter, så fort <application>gdb</application> talar om att ett bibliotek har laddats, försöker &tdevelop; sätta de vilande brytpunkterna. </para> </listitem> </varlistentry> <varlistentry> -<term ->Aktivera flytande verktygsrad</term> +<term>Aktivera flytande verktygsrad</term> <listitem> -<indexterm zone="debugger" -><primary ->avlusningsverktygsrad</primary -></indexterm> -<indexterm zone="debugger" -><primary ->verktygsrad</primary -><secondary ->avlusare</secondary -></indexterm> - -<para ->(...ännu inte skrivet...) </para> +<indexterm zone="debugger"><primary>avlusningsverktygsrad</primary></indexterm> +<indexterm zone="debugger"><primary>verktygsrad</primary><secondary>avlusare</secondary></indexterm> + +<para>(...ännu inte skrivet...) </para> </listitem> </varlistentry> </variablelist> -</sect1 -> <!-- debuggeroptions --> +</sect1> <!-- debuggeroptions --> -</chapter -> <!-- debugger --> +</chapter> <!-- debugger --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/documentation.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/documentation.docbook index 01f9d21c4e9..55426a89d9b 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/documentation.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/documentation.docbook @@ -1,73 +1,36 @@ <chapter id="documentation"> -<title ->Dokumentation</title> +<title>Dokumentation</title> -<para ->Dokumentation är tyvärr en av de mest förbisedda delarna av programmering. Ändå så erbjuder riktigt upprättad och underhållen intern och extern dokumentation ytterst värdefull hjälp. </para> +<para>Dokumentation är tyvärr en av de mest förbisedda delarna av programmering. Ändå så erbjuder riktigt upprättad och underhållen intern och extern dokumentation ytterst värdefull hjälp. </para> -<para ->Dokumentation har flera aspekter. Det finns <itemizedlist> - <listitem -><para -><emphasis ->intern projektdokumentation</emphasis ->, som i huvudsak består av <itemizedlist> - <listitem -><para -><emphasis ->kommentarer</emphasis -> i deklarationsfiler och källkodsfiler </para -></listitem> - <listitem -><para -><emphasis ->Intern dokumentation av programmeringsgränssnittet</emphasis -> för projektet, som har skapats från programfilerna av särskilda verktyg, t.ex. &doxygen; </para -></listitem> +<para>Dokumentation har flera aspekter. Det finns <itemizedlist> + <listitem><para><emphasis>intern projektdokumentation</emphasis>, som i huvudsak består av <itemizedlist> + <listitem><para><emphasis>kommentarer</emphasis> i deklarationsfiler och källkodsfiler </para></listitem> + <listitem><para><emphasis>Intern dokumentation av programmeringsgränssnittet</emphasis> för projektet, som har skapats från programfilerna av särskilda verktyg, t.ex. &doxygen; </para></listitem> </itemizedlist> - </para -></listitem> - <listitem -><para -><emphasis ->extern projektdokumentation</emphasis ->, som bland annat består av <itemizedlist> - <listitem -><para -><emphasis ->extern dokumentation av programmeringsgränssnitt</emphasis ->, till exempel för gemensamma systembibliotek (&kde;, &Qt;, etc.) </para -></listitem> - <listitem -><para ->all övrig dokumentation (manualer för programspråk, allmän systeminformation, handledningar och liknande) </para -></listitem> + </para></listitem> + <listitem><para><emphasis>extern projektdokumentation</emphasis>, som bland annat består av <itemizedlist> + <listitem><para><emphasis>extern dokumentation av programmeringsgränssnitt</emphasis>, till exempel för gemensamma systembibliotek (&kde;, &Qt;, etc.) </para></listitem> + <listitem><para>all övrig dokumentation (manualer för programspråk, allmän systeminformation, handledningar och liknande) </para></listitem> </itemizedlist> - </para -></listitem> + </para></listitem> </itemizedlist> </para> -<para ->All denna dokumentation ska vara enkel att underhålla och lätt tillgänglig så fort du behöver den. &tdevelop; har stöd för just detta. </para> +<para>All denna dokumentation ska vara enkel att underhålla och lätt tillgänglig så fort du behöver den. &tdevelop; har stöd för just detta. </para> <!-- ### doc browser, notes on internal documentation, how to profit from Doxygen --> <sect1 id="docbrowser"> -<title ->Dokumentationsbläddraren</title> +<title>Dokumentationsbläddraren</title> <figure id="screenshot-doctreeview" float="1"> -<title ->En skärmbild av dokumentationsträdet</title> +<title>En skärmbild av dokumentationsträdet</title> <mediaobject> -<imageobject -><imagedata fileref="doctreeview.png"/></imageobject> +<imageobject><imagedata fileref="doctreeview.png"/></imageobject> </mediaobject> </figure> -</sect1 -> <!-- docbrowser --> +</sect1> <!-- docbrowser --> -</chapter -> <!-- documentation --> +</chapter> <!-- documentation --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/editing.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/editing.docbook index fd82900c9a2..9c1e3752dba 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/editing.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/editing.docbook @@ -1,612 +1,224 @@ <chapter id="editing"> -<title ->Redigeringsverktyg</title> +<title>Redigeringsverktyg</title> <sect1 id="editing-snippets"> -<title ->Kodsnuttar</title> +<title>Kodsnuttar</title> <itemizedlist> - <title ->Funktioner (inledande översikt)</title> - <listitem -><para ->Delprogrammet för kodsnuttar lägger till en verktygsvy som normalt dockas till höger </para -></listitem> - <listitem -><para ->Tillägg, redigering och borttagning av kodsnuttar är tillgängligt via en sammanhangsberoende meny. </para -></listitem> - <listitem -><para ->Ett dubbelklick på en kodsnutt i listan infogar den i den aktiva vyn på markörens plats </para -></listitem> - <listitem -><para ->Verktygstips visar innehållet i en kodsnutt </para -></listitem> - <listitem -><para ->Kodsnuttar lagras i användarens hemkatalog, så varje användare kan ha sina egna kodsnuttar </para -></listitem> - <listitem -><para ->Kodsnuttar kan innehålla variabler på formen $<varname ->VARNAMN</varname ->$. När kodsnutten används, frågas användaren efter ersättningsvärden för variablerna </para -></listitem> + <title>Funktioner (inledande översikt)</title> + <listitem><para>Delprogrammet för kodsnuttar lägger till en verktygsvy som normalt dockas till höger </para></listitem> + <listitem><para>Tillägg, redigering och borttagning av kodsnuttar är tillgängligt via en sammanhangsberoende meny. </para></listitem> + <listitem><para>Ett dubbelklick på en kodsnutt i listan infogar den i den aktiva vyn på markörens plats </para></listitem> + <listitem><para>Verktygstips visar innehållet i en kodsnutt </para></listitem> + <listitem><para>Kodsnuttar lagras i användarens hemkatalog, så varje användare kan ha sina egna kodsnuttar </para></listitem> + <listitem><para>Kodsnuttar kan innehålla variabler på formen $<varname>VARNAMN</varname>$. När kodsnutten används, frågas användaren efter ersättningsvärden för variablerna </para></listitem> </itemizedlist> -</sect1 -> <!-- editing-snippets --> +</sect1> <!-- editing-snippets --> <sect1 id="keyboardmapping"> -<title ->Tangentanvändning</title> -<indexterm zone="keyboardmapping" -><primary ->tangentbindningar</primary -></indexterm> +<title>Tangentanvändning</title> +<indexterm zone="keyboardmapping"><primary>tangentbindningar</primary></indexterm> -<para ->I det följande listar vi normala tangentbindningar för standardeditorn. Du kan anpassa dem som du vill (hur då?). </para> +<para>I det följande listar vi normala tangentbindningar för standardeditorn. Du kan anpassa dem som du vill (hur då?). </para> <informaltable> <tgroup cols="2"> <tbody> -<row -><entry -><para -><keycap ->Vänster </keycap -></para -></entry> -<entry -><para ->Flyttar ett tecken åt vänster </para -></entry -></row> - -<row -><entry -><para -><keycap ->Höger </keycap -></para -></entry> -<entry -><para ->Flyttar ett tecken åt höger </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> Vänster </keycap -></keycombo -></para -></entry> -<entry -><para ->Flyttar ett ord åt vänster </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> Höger </keycap -></keycombo -></para -></entry> -<entry -><para ->Flyttar ett ord åt höger </para -></entry -></row> - -<row -><entry -><para -><keycap ->Upp </keycap -></para -></entry> -<entry -><para ->Flyttar upp en rad </para -></entry -></row> - -<row -><entry -><para -><keycap ->Ner </keycap -></para -></entry> -<entry -><para ->Flyttar ner en rad </para -></entry -></row> - -<row -><entry -><para -><keycap ->Page Up </keycap -></para -></entry> -<entry -><para ->Flyttar upp en sida </para -></entry -></row> - -<row -><entry -><para -><keycap ->Page Down </keycap -></para -></entry> -<entry -><para ->Flyttar ner en sida </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> Page Up </keycap -></keycombo -></para -></entry> -<entry -><para ->Går till början av filen </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> Page Down </keycap -></keycombo -></para -></entry> -<entry -><para ->Går till slutet av filen </para -></entry -></row> - -<row -><entry -><para -><keycap ->Home </keycap -></para -></entry> -<entry -><para ->Går till början av raden </para -></entry -></row> - -<row -><entry -><para -><keycap ->End </keycap -></para -></entry> -<entry -><para ->Går till slutet av raden </para -></entry -></row> +<row><entry><para><keycap>Vänster </keycap></para></entry> +<entry><para>Flyttar ett tecken åt vänster </para></entry></row> + +<row><entry><para><keycap>Höger </keycap></para></entry> +<entry><para>Flyttar ett tecken åt höger </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> Vänster </keycap></keycombo></para></entry> +<entry><para>Flyttar ett ord åt vänster </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> Höger </keycap></keycombo></para></entry> +<entry><para>Flyttar ett ord åt höger </para></entry></row> + +<row><entry><para><keycap>Upp </keycap></para></entry> +<entry><para>Flyttar upp en rad </para></entry></row> + +<row><entry><para><keycap>Ner </keycap></para></entry> +<entry><para>Flyttar ner en rad </para></entry></row> + +<row><entry><para><keycap>Page Up </keycap></para></entry> +<entry><para>Flyttar upp en sida </para></entry></row> + +<row><entry><para><keycap>Page Down </keycap></para></entry> +<entry><para>Flyttar ner en sida </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> Page Up </keycap></keycombo></para></entry> +<entry><para>Går till början av filen </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> Page Down </keycap></keycombo></para></entry> +<entry><para>Går till slutet av filen </para></entry></row> + +<row><entry><para><keycap>Home </keycap></para></entry> +<entry><para>Går till början av raden </para></entry></row> + +<row><entry><para><keycap>End </keycap></para></entry> +<entry><para>Går till slutet av raden </para></entry></row> </tbody> </tgroup> </informaltable> -<para ->För alla tangenter ovan, kan dessutom skifttangenten tryckas ner, för att markera text från markörens nuvarande position till den nya. </para> +<para>För alla tangenter ovan, kan dessutom skifttangenten tryckas ner, för att markera text från markörens nuvarande position till den nya. </para> <informaltable> <tgroup cols="2"> <tbody> -<row -><entry -><para -><keycap ->Backsteg </keycap -></para -></entry> -<entry -><para ->Tar bort ett tecken åt vänster </para -></entry -></row> - -<row -><entry -><para -><keycap ->Delete </keycap -></para -></entry> -<entry -><para ->Tar bort tecknet under markören </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> C </keycap -></keycombo -></para -></entry> -<entry -><para ->Kopierar den markerade texten till klippbordet </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> V </keycap -></keycombo -></para -></entry> -<entry -><para ->Klistrar in den markerade texten från klippbordet </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> X </keycap -></keycombo -></para -></entry> -<entry -><para ->Tar bort den markerade texten och lägger den på klippbordet </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Ctrl;<keycap -> Z </keycap -></keycombo -></para -></entry> -<entry -><para ->Ångra </para -></entry -></row> - -<row -><entry -><para -><keycombo ->&Shift;&Ctrl;<keycap -> Z </keycap -></keycombo -></para -></entry> -<entry -><para ->Gör om </para -></entry -></row> +<row><entry><para><keycap>Backsteg </keycap></para></entry> +<entry><para>Tar bort ett tecken åt vänster </para></entry></row> + +<row><entry><para><keycap>Delete </keycap></para></entry> +<entry><para>Tar bort tecknet under markören </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> C </keycap></keycombo></para></entry> +<entry><para>Kopierar den markerade texten till klippbordet </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> V </keycap></keycombo></para></entry> +<entry><para>Klistrar in den markerade texten från klippbordet </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> X </keycap></keycombo></para></entry> +<entry><para>Tar bort den markerade texten och lägger den på klippbordet </para></entry></row> + +<row><entry><para><keycombo>&Ctrl;<keycap> Z </keycap></keycombo></para></entry> +<entry><para>Ångra </para></entry></row> + +<row><entry><para><keycombo>&Shift;&Ctrl;<keycap> Z </keycap></keycombo></para></entry> +<entry><para>Gör om </para></entry></row> </tbody> </tgroup> </informaltable> -</sect1 -> <!-- keyboardmapping --> +</sect1> <!-- keyboardmapping --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="editing-reporter"> -<title ->Problemrapporter</title> +<title>Problemrapporter</title> -<para ->(...ännu inte skrivet...) </para> -</sect1 -> <!-- editing-reporter --> +<para>(...ännu inte skrivet...) </para> +</sect1> <!-- editing-reporter --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="searchinggrepping"> -<title ->Sökning och flerfilssökning</title> -<indexterm zone="searchinggrepping" -><primary ->sökning</primary -></indexterm> -<indexterm zone="searchinggrepping" -><primary ->hitta</primary -></indexterm> +<title>Sökning och flerfilssökning</title> +<indexterm zone="searchinggrepping"><primary>sökning</primary></indexterm> +<indexterm zone="searchinggrepping"><primary>hitta</primary></indexterm> <sect2 id="searching"> -<title ->Söka efter text</title> - -<para -><keycombo -><keycap ->Ctrl</keycap -><keycap ->F</keycap -></keycombo ->- Sök, <keycombo -><keycap ->Ctrl</keycap -><keycap ->R</keycap -></keycombo ->- Ersätt </para> - -</sect2 -> <!-- searching --> +<title>Söka efter text</title> + +<para><keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>- Sök, <keycombo><keycap>Ctrl</keycap><keycap>R</keycap></keycombo>- Ersätt </para> + +</sect2> <!-- searching --> <sect2 id="isearch"> -<title ->I-sök</title> -<indexterm zone="isearch" -><primary ->i-sök</primary -></indexterm> -<indexterm zone="isearch" -><primary ->inkrementell sökning</primary -></indexterm> -<indexterm zone="isearch" -><primary ->sök</primary -><secondary ->inkrementell</secondary -></indexterm> - -<para ->Den vanliga sökningen med <menuchoice -><guimenu ->Redigera</guimenu -><guimenuitem ->Sök</guimenuitem -></menuchoice -> kräver att du anger hela sökbegreppet innan du startar. Oftast är det mycket snabbare att söka inkrementellt. Om du klickar på sökfältet som heter <guilabel ->I-sök</guilabel -> i verktygsraden, sker sökningen medan du skriver. Du kommer att märka att det önskade resultatet ofta redan hittas när du har skrivit in 3 eller 4 tecken. </para> - -</sect2 -> <!-- isearch --> +<title>I-sök</title> +<indexterm zone="isearch"><primary>i-sök</primary></indexterm> +<indexterm zone="isearch"><primary>inkrementell sökning</primary></indexterm> +<indexterm zone="isearch"><primary>sök</primary><secondary>inkrementell</secondary></indexterm> + +<para>Den vanliga sökningen med <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Sök</guimenuitem></menuchoice> kräver att du anger hela sökbegreppet innan du startar. Oftast är det mycket snabbare att söka inkrementellt. Om du klickar på sökfältet som heter <guilabel>I-sök</guilabel> i verktygsraden, sker sökningen medan du skriver. Du kommer att märka att det önskade resultatet ofta redan hittas när du har skrivit in 3 eller 4 tecken. </para> + +</sect2> <!-- isearch --> <sect2 id="grep"> -<title ->Flerfilsökning</title> -<indexterm zone="grep" -><primary ->sök</primary -><secondary ->i filer</secondary -></indexterm> - -<para ->Båda sökmekanismerna som beskrivs ovan är begränsade till sökning i en källkodsfil. Ett ytterligare verktyg som låter dig söka igenom ett (möjligtvis stort) antal filer är tillgängligt via alternativet <guimenuitem ->Sök i filer...</guimenuitem -> i menyn <guimenu ->Redigera</guimenu ->. Det är i grunden ett gränssnitt för programmet &grep;(1). </para> - -<para ->I dialogrutan kan du ange vilka filer som ska sökas i. Det finns ett antal jokertecken tillgängliga i en kombinationsruta. Genom att använda dem kan du enkelt begränsa sökmekanismen till exempel för deklarationsfiler. Dessutom kan du också ange en katalog där sökningen startas. Om du markerar rutan <guibutton ->Rekursiv</guibutton ->, går sökningen igenom alla kataloger i hierarkin under den angivna. </para> - -<para ->Sökbegreppet är i grunden ett reguljärt uttryck som följer POSIX-syntax. Du kan till exempel använda begreppet <literal ->"\<K.*"</literal ->, om du vill hitta alla ord som börjar med bokstaven K. Följande tecken tolkas på ett särskilt sätt: </para> +<title>Flerfilsökning</title> +<indexterm zone="grep"><primary>sök</primary><secondary>i filer</secondary></indexterm> + +<para>Båda sökmekanismerna som beskrivs ovan är begränsade till sökning i en källkodsfil. Ett ytterligare verktyg som låter dig söka igenom ett (möjligtvis stort) antal filer är tillgängligt via alternativet <guimenuitem>Sök i filer...</guimenuitem> i menyn <guimenu>Redigera</guimenu>. Det är i grunden ett gränssnitt för programmet &grep;(1). </para> + +<para>I dialogrutan kan du ange vilka filer som ska sökas i. Det finns ett antal jokertecken tillgängliga i en kombinationsruta. Genom att använda dem kan du enkelt begränsa sökmekanismen till exempel för deklarationsfiler. Dessutom kan du också ange en katalog där sökningen startas. Om du markerar rutan <guibutton>Rekursiv</guibutton>, går sökningen igenom alla kataloger i hierarkin under den angivna. </para> + +<para>Sökbegreppet är i grunden ett reguljärt uttryck som följer POSIX-syntax. Du kan till exempel använda begreppet <literal>"\<K.*"</literal>, om du vill hitta alla ord som börjar med bokstaven K. Följande tecken tolkas på ett särskilt sätt: </para> <informaltable> <tgroup cols="2"> <tbody> -<row -><entry> - <literal ->.</literal> -</entry -><entry ->Matchar alla tecken </entry -></row> -<row -><entry> - <literal ->^</literal> -</entry -><entry ->Matchar början av en rad </entry -></row> -<row -><entry> - <literal ->$</literal> -</entry -><entry ->Matchar slutet av en rad </entry -></row> -<row -><entry> - <literal ->\<</literal> -</entry -><entry ->Matchar början av ett ord </entry -></row> -<row -><entry> - <literal ->\></literal> -</entry -><entry ->Matchar slutet av ett ord </entry -></row> -<row -><entry> - <literal ->?</literal> -</entry -><entry ->Föregående objekt matchas mindre än en gång </entry -></row> -<row -><entry> - <literal ->*</literal> -</entry -><entry ->Föregående objekt matchas noll eller flera gånger </entry -></row> -<row -><entry> - <literal ->+</literal> -</entry -><entry ->Föregående objekt matchas en eller flera gånger </entry -></row> -<row -><entry> - <literal ->{n}</literal> -</entry -><entry ->Föregående objekt matchas exakt n gånger </entry -></row> -<row -><entry> - <literal ->{n,}</literal> -</entry -><entry ->Föregående objekt matchas n eller flera gånger </entry -></row> -<row -><entry> - <literal ->{,n}</literal> -</entry -><entry ->Föregående objekt matchas mindre än n gånger </entry -></row> -<row -><entry> - <literal ->{n,m}</literal> -</entry -><entry ->Föregående objekt matchas minst <literal ->n</literal -> gånger, men mindre än <literal ->m</literal -> gånger </entry -></row> +<row><entry> + <literal>.</literal> +</entry><entry>Matchar alla tecken </entry></row> +<row><entry> + <literal>^</literal> +</entry><entry>Matchar början av en rad </entry></row> +<row><entry> + <literal>$</literal> +</entry><entry>Matchar slutet av en rad </entry></row> +<row><entry> + <literal>\<</literal> +</entry><entry>Matchar början av ett ord </entry></row> +<row><entry> + <literal>\></literal> +</entry><entry>Matchar slutet av ett ord </entry></row> +<row><entry> + <literal>?</literal> +</entry><entry>Föregående objekt matchas mindre än en gång </entry></row> +<row><entry> + <literal>*</literal> +</entry><entry>Föregående objekt matchas noll eller flera gånger </entry></row> +<row><entry> + <literal>+</literal> +</entry><entry>Föregående objekt matchas en eller flera gånger </entry></row> +<row><entry> + <literal>{n}</literal> +</entry><entry>Föregående objekt matchas exakt n gånger </entry></row> +<row><entry> + <literal>{n,}</literal> +</entry><entry>Föregående objekt matchas n eller flera gånger </entry></row> +<row><entry> + <literal>{,n}</literal> +</entry><entry>Föregående objekt matchas mindre än n gånger </entry></row> +<row><entry> + <literal>{n,m}</literal> +</entry><entry>Föregående objekt matchas minst <literal>n</literal> gånger, men mindre än <literal>m</literal> gånger </entry></row> </tbody> </tgroup> </informaltable> -<para ->Bakåtreferenser till deluttryck inom parenteser är också tillgängliga med notationen <literal ->\n</literal ->. </para> +<para>Bakåtreferenser till deluttryck inom parenteser är också tillgängliga med notationen <literal>\n</literal>. </para> -<para ->Som en särskild bonus för C++ programmerare, finns några sökmallar tillgängliga för typiska mönster. De låter dig till exempel söka efter alla anrop av medlemsfunktioner för ett visst objekt. </para> +<para>Som en särskild bonus för C++ programmerare, finns några sökmallar tillgängliga för typiska mönster. De låter dig till exempel söka efter alla anrop av medlemsfunktioner för ett visst objekt. </para> -<para ->När du väl har startat sökningen genom att klicka på knappen <guibutton ->Sök</guibutton ->, utförs den av en yttre, asynkron process. Alla objekt som hittas syns i vyn som heter <guilabel ->Flerfilsökning</guilabel ->. Därefter kan du hoppa till objekt som hittas genom att klicka på dem. Observera att grep söker igenom filerna som är lagrade i filsystemet. Om du har ändrade versioner av dem i editorn, kan du få felaktiga radnummer, eller vissa ogiltiga hittade objekt. Du kan undvika detta genom att spara alla filer innan. </para> +<para>När du väl har startat sökningen genom att klicka på knappen <guibutton>Sök</guibutton>, utförs den av en yttre, asynkron process. Alla objekt som hittas syns i vyn som heter <guilabel>Flerfilsökning</guilabel>. Därefter kan du hoppa till objekt som hittas genom att klicka på dem. Observera att grep söker igenom filerna som är lagrade i filsystemet. Om du har ändrade versioner av dem i editorn, kan du få felaktiga radnummer, eller vissa ogiltiga hittade objekt. Du kan undvika detta genom att spara alla filer innan. </para> -</sect2 -> <!-- grep --> +</sect2> <!-- grep --> -</sect1 -> <!-- searchinggrepping --> +</sect1> <!-- searchinggrepping --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="code-completion"> -<title ->Kodkomplettering</title> +<title>Kodkomplettering</title> -<para ->(...ännu inte skrivet...) </para> -</sect1 -> <!-- code-completion --> +<para>(...ännu inte skrivet...) </para> +</sect1> <!-- code-completion --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="newfiles"> -<title ->Skapa nya filer och klasser</title> +<title>Skapa nya filer och klasser</title> -<para ->(...ännu inte skrivet...) </para> +<para>(...ännu inte skrivet...) </para> <sect2 id="newfiles-edittemplates"> -<title ->Redigera mallarna</title> +<title>Redigera mallarna</title> -<para ->(...ännu inte skrivet...) </para> -</sect2 -> <!-- newfiles-edittemplates --> +<para>(...ännu inte skrivet...) </para> +</sect2> <!-- newfiles-edittemplates --> -</sect1 -> <!-- newfiles --> +</sect1> <!-- newfiles --> -</chapter -> <!-- editing --> +</chapter> <!-- editing --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/file-browsers.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/file-browsers.docbook index 4f223226be1..8379d6b6667 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/file-browsers.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/file-browsers.docbook @@ -1,67 +1,41 @@ <chapter id="file-browsers"> -<title ->Filbläddrarna</title> +<title>Filbläddrarna</title> -<para ->På vänstra sidan i huvudfönstret, kan &tdevelop; visa olika sorters listor och träd för att välja filer: </para> +<para>På vänstra sidan i huvudfönstret, kan &tdevelop; visa olika sorters listor och träd för att välja filer: </para> <variablelist> <varlistentry> -<term ->Filträd</term> +<term>Filträd</term> <listitem> -<para ->Det visar en trädvy av filhierarkin under projektkatalogen. Om du klickar på en fil, laddas den i editorn. För filer som inte innehåller text, startar KDevelop ett program som kan hantera motsvarande MIME-typ. </para> +<para>Det visar en trädvy av filhierarkin under projektkatalogen. Om du klickar på en fil, laddas den i editorn. För filer som inte innehåller text, startar KDevelop ett program som kan hantera motsvarande MIME-typ. </para> -<para ->Filträdet uppdateras regelbundet så fort någonting ändras i filsystemet. Om du till exempel skapar nya filer eller kataloger (till och med utanför &tdevelop;), syns det omedelbart i fillistan. På Linux använder den här funktionen FAM-biblioteket. På andra operativsystem, eller via NFS, kontrolleras katalogerna som visas med korta intervall. </para> +<para>Filträdet uppdateras regelbundet så fort någonting ändras i filsystemet. Om du till exempel skapar nya filer eller kataloger (till och med utanför &tdevelop;), syns det omedelbart i fillistan. På Linux använder den här funktionen FAM-biblioteket. På andra operativsystem, eller via NFS, kontrolleras katalogerna som visas med korta intervall. </para> -<para ->Filträdet döljer filer som oftast inte är intressanta, som objektfiler. I <guimenuitem ->Projektalternativ</guimenuitem -> under <guibutton ->Filvyer</guibutton ->, kan du anpassa vilka mönster som används för att filtrera bort ointressanta filer (som en lista med jokertecken, åtskilda med kommatecken). </para> +<para>Filträdet döljer filer som oftast inte är intressanta, som objektfiler. I <guimenuitem>Projektalternativ</guimenuitem> under <guibutton>Filvyer</guibutton>, kan du anpassa vilka mönster som används för att filtrera bort ointressanta filer (som en lista med jokertecken, åtskilda med kommatecken). </para> -<para ->Du kan dessutom välja att begränsa filträdet så att det bara visar filer som hör till projektet som för närvarande är laddat. Det kan ändras genom att klicka med höger musknapp på trädets rot. </para> +<para>Du kan dessutom välja att begränsa filträdet så att det bara visar filer som hör till projektet som för närvarande är laddat. Det kan ändras genom att klicka med höger musknapp på trädets rot. </para> <figure id="screenshot-filetree" float="1"> -<title ->En skärmbild av filträdet</title> +<title>En skärmbild av filträdet</title> <mediaobject> -<imageobject -><imagedata fileref="filetree.png"/></imageobject> -<textobject -><phrase ->En skärmbild av filträdet</phrase -></textobject> +<imageobject><imagedata fileref="filetree.png"/></imageobject> +<textobject><phrase>En skärmbild av filträdet</phrase></textobject> </mediaobject> </figure> </listitem> </varlistentry> <varlistentry> -<term ->Filgrupper</term> +<term>Filgrupper</term> <listitem> -<para ->Det här visar filerna som tillhör projektet, grupperade enligt filändelsen. Som i filträdet, kan du redigera en fil genom att klicka på den med vänster musknapp. </para> +<para>Det här visar filerna som tillhör projektet, grupperade enligt filändelsen. Som i filträdet, kan du redigera en fil genom att klicka på den med vänster musknapp. </para> -<para ->Grupperna som visas i vyn kan ställas in under <guibutton ->Filvyer</guibutton -> i dialogrutan <guimenuitem ->Projektinställningar</guimenuitem ->. För att anpassa vyn enligt dina behov, är det viktigt att förstå hur filer tilldelas till grupperna. För varje fil, går &tdevelop; igenom grupperna uppifrån och ner. I varje grupp kontrolleras om filnamnet matchar ett av mönstren. Vid en träff, visas filen i gruppen och upprepningen avbryts. Detta klargör att mer generella mönster ska placeras under mer specifika. Till exempel ska en asterisk för gruppen <guilabel ->Övriga</guilabel -> vara det sista mönstret. </para> +<para>Grupperna som visas i vyn kan ställas in under <guibutton>Filvyer</guibutton> i dialogrutan <guimenuitem>Projektinställningar</guimenuitem>. För att anpassa vyn enligt dina behov, är det viktigt att förstå hur filer tilldelas till grupperna. För varje fil, går &tdevelop; igenom grupperna uppifrån och ner. I varje grupp kontrolleras om filnamnet matchar ett av mönstren. Vid en träff, visas filen i gruppen och upprepningen avbryts. Detta klargör att mer generella mönster ska placeras under mer specifika. Till exempel ska en asterisk för gruppen <guilabel>Övriga</guilabel> vara det sista mönstret. </para> </listitem> </varlistentry> </variablelist> -</chapter -> <!-- file-browsers --> +</chapter> <!-- file-browsers --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/getting-started.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/getting-started.docbook index 9dc622518f2..d88127c1519 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/getting-started.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/getting-started.docbook @@ -9,147 +9,61 @@ Keep lines at 80 characters length maximum. <chapterinfo> <authorgroup> -<author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> -<othercredit role="translator" -> <firstname ->Stefan</firstname -> <surname ->Asserhäll</surname -> <affiliation -><address -><email ->stefan.asserhall@comhem.se</email -></address -></affiliation -> <contrib ->Översättare</contrib -></othercredit -> +<author><firstname>Bernd</firstname><surname>Pol</surname></author> +<othercredit role="translator"> <firstname>Stefan</firstname> <surname>Asserhäll</surname> <affiliation><address><email>stefan.asserhall@comhem.se</email></address></affiliation> <contrib>Översättare</contrib></othercredit> </authorgroup> </chapterinfo> -<title ->Komma igång med &tdevelop;: En guidad tur</title> +<title>Komma igång med &tdevelop;: En guidad tur</title> -<para ->När du nu har installerat &tdevelop;s integrerade utvecklingsmiljö, hur ska du använda den på ett bra sätt? Eftersom det här är ett komplext program, kan inlärningskurvan vara något brant, särskilt om du inte redan är van vid den här sortens integrerade utvecklingsmiljö.</para> +<para>När du nu har installerat &tdevelop;s integrerade utvecklingsmiljö, hur ska du använda den på ett bra sätt? Eftersom det här är ett komplext program, kan inlärningskurvan vara något brant, särskilt om du inte redan är van vid den här sortens integrerade utvecklingsmiljö.</para> -<para ->Vi försöker att göra inlärningskurvan mindre brant genom att stegvis gå igenom hur ett enkelt KDE C++ program skapas. Därigenom tar vi en (översiktlig) titt på:</para> +<para>Vi försöker att göra inlärningskurvan mindre brant genom att stegvis gå igenom hur ett enkelt KDE C++ program skapas. Därigenom tar vi en (översiktlig) titt på:</para> <simplelist> -<member -><link linkend="gettingstarted-overview" ->En första titt: Elementen i användargränssnittet hos den integrerade utvecklingsmiljön &tdevelop;.</link -></member> -<member -><link linkend="gettingstarted-configure" ->Utföra vissa inledande inställningar.</link -></member> -<member -><link linkend="gettingstarted-new" ->Hur man skapar ett nytt projekt.</link> +<member><link linkend="gettingstarted-overview">En första titt: Elementen i användargränssnittet hos den integrerade utvecklingsmiljön &tdevelop;.</link></member> +<member><link linkend="gettingstarted-configure">Utföra vissa inledande inställningar.</link></member> +<member><link linkend="gettingstarted-new">Hur man skapar ett nytt projekt.</link> </member> -<member -><link linkend="gettingstarted-edit" ->Några tips om hur man hanterar dokument.</link -></member> -<member -><link linkend="gettingstarted-compile" ->Hur man kompilerar programmet i projektet.</link -></member> -<member -><link linkend="gettingstarted-extend" ->Hur man lägger till klasser och andra saker i projektet.</link -></member> -<member -><link linkend="gettingstarted-debug" ->Vad man ska göra för att avlusa programmet.</link -></member> -<member -><link linkend="gettingstarted-doc" ->Några grundläggande verktyg för att bygga program eller användardokumentation.</link -></member> -<member -><link linkend="gettingstarted-keys" ->Sist men inte minst, snabbtangenter</link -></member> +<member><link linkend="gettingstarted-edit">Några tips om hur man hanterar dokument.</link></member> +<member><link linkend="gettingstarted-compile">Hur man kompilerar programmet i projektet.</link></member> +<member><link linkend="gettingstarted-extend">Hur man lägger till klasser och andra saker i projektet.</link></member> +<member><link linkend="gettingstarted-debug">Vad man ska göra för att avlusa programmet.</link></member> +<member><link linkend="gettingstarted-doc">Några grundläggande verktyg för att bygga program eller användardokumentation.</link></member> +<member><link linkend="gettingstarted-keys">Sist men inte minst, snabbtangenter</link></member> </simplelist> -<para ->Innan vi börjar, måste ett viktigt begrepp klargöras.</para> +<para>Innan vi börjar, måste ett viktigt begrepp klargöras.</para> <formalpara> -<title ->Vad kan man förvänta sig?</title> -<para ->Som sagt är &tdevelop; en <emphasis ->integrerad utvecklingsmiljö</emphasis ->. Det betyder väsentligen att &tdevelop; inte själv är ett utvecklingsverktyg, utan snarare ett grafiskt gränssnitt för att enkelt komma åt ett omfattande antal utvecklingsverktyg, där många i själva verket skulle kräva komplicerade tangentbordskommandon om de kördes i en textterminal.</para> +<title>Vad kan man förvänta sig?</title> +<para>Som sagt är &tdevelop; en <emphasis>integrerad utvecklingsmiljö</emphasis>. Det betyder väsentligen att &tdevelop; inte själv är ett utvecklingsverktyg, utan snarare ett grafiskt gränssnitt för att enkelt komma åt ett omfattande antal utvecklingsverktyg, där många i själva verket skulle kräva komplicerade tangentbordskommandon om de kördes i en textterminal.</para> </formalpara> -<para ->Även om &tdevelop; förenklar många av dessa programmeringsuppgifter, återstår ändå mycket av komplexiteten i denna uppsättning verktyg, vilket betyder att för en fullständig förståelse av den integrerade utvecklingsmiljön &tdevelop; måste du ändå begripa dig på verktygen som verkligen körs i bakgrunden.</para> +<para>Även om &tdevelop; förenklar många av dessa programmeringsuppgifter, återstår ändå mycket av komplexiteten i denna uppsättning verktyg, vilket betyder att för en fullständig förståelse av den integrerade utvecklingsmiljön &tdevelop; måste du ändå begripa dig på verktygen som verkligen körs i bakgrunden.</para> -<para ->Därför kan vi inte lära dig hur man skapar programvara, utan snarare introducera några av de sätt &tdevelop; konstruerats för att förenkla denna process. Om du vill lära dig mer om vad en integrerad utvecklingsmiljö är avsedd för, kan du ta en titt på den historiska översikten <link linkend="unixdev" ->Utveckling på &UNIX;</link ->, i synnerhet kapitlet <link linkend="unixdev-ide" ->Integration av koncept och verktyg</link ->.</para> +<para>Därför kan vi inte lära dig hur man skapar programvara, utan snarare introducera några av de sätt &tdevelop; konstruerats för att förenkla denna process. Om du vill lära dig mer om vad en integrerad utvecklingsmiljö är avsedd för, kan du ta en titt på den historiska översikten <link linkend="unixdev">Utveckling på &UNIX;</link>, i synnerhet kapitlet <link linkend="unixdev-ide">Integration av koncept och verktyg</link>.</para> <note> -<para ->Följande beskrivning gäller normalfallet, där &tdevelop; startar med <guilabel ->Förenklat IDEA-fönsterläge</guilabel ->. Om du redan har bytt till ett annat användargränssnitt, kanske inte vissa objekt finns enligt beskrivningen, eller beter sig något annorlunda. Om du inte är säker på vilket användargränssnitt som &tdevelop; för närvarande använder, kontrollera i dialogrutan <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -> <guimenuitem ->Användargränssnitt</guimenuitem -></menuchoice ->.</para> +<para>Följande beskrivning gäller normalfallet, där &tdevelop; startar med <guilabel>Förenklat IDEA-fönsterläge</guilabel>. Om du redan har bytt till ett annat användargränssnitt, kanske inte vissa objekt finns enligt beskrivningen, eller beter sig något annorlunda. Om du inte är säker på vilket användargränssnitt som &tdevelop; för närvarande använder, kontrollera i dialogrutan <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem> <guimenuitem>Användargränssnitt</guimenuitem></menuchoice>.</para> </note> <sect1 id="gettingstarted-overview"> -<title ->Den allra första titten på &tdevelop;</title> +<title>Den allra första titten på &tdevelop;</title> -<para ->Här handlar det enbart om vad du ser när du först startar &tdevelop;. Du finner preliminär information om:</para> +<para>Här handlar det enbart om vad du ser när du först startar &tdevelop;. Du finner preliminär information om:</para> <simplelist> -<member -><link linkend="gettingstarted-overview-basic" ->Vad är det som syns på ytan?</link -></member> -<member -><link linkend="gettingstarted-overview-help" ->Hur man får hjälp.</link -></member> -<member -><link linkend="gettingstarted-overview-menu" ->Vad finns i menyerna?</link -></member> -<member -><link linkend="gettingstarted-overview-tools" ->Vad är verktygsvyerna till för?</link -></member> +<member><link linkend="gettingstarted-overview-basic">Vad är det som syns på ytan?</link></member> +<member><link linkend="gettingstarted-overview-help">Hur man får hjälp.</link></member> +<member><link linkend="gettingstarted-overview-menu">Vad finns i menyerna?</link></member> +<member><link linkend="gettingstarted-overview-tools">Vad är verktygsvyerna till för?</link></member> </simplelist> <sect2 id="gettingstarted-overview-basic"> -<title ->På ytan</title> +<title>På ytan</title> -<para ->När du startar &tdevelop; allra första gången ser du en skärm som liknar den här:</para> +<para>När du startar &tdevelop; allra första gången ser du en skärm som liknar den här:</para> <screenshot> <mediaobject> @@ -157,633 +71,361 @@ Keep lines at 80 characters length maximum. <imagedata fileref="empty-ide.png" format="PNG"/> </imageobject> <caption> -<para ->Ursprunglig layout i &tdevelop;</para> -<para ->(I själva verket är &tdevelop;s ursprungliga fönster större, men elementen du ser är samma.)</para> +<para>Ursprunglig layout i &tdevelop;</para> +<para>(I själva verket är &tdevelop;s ursprungliga fönster större, men elementen du ser är samma.)</para> </caption> </mediaobject> </screenshot> <formalpara> -<title ->Arbetsområde och verktygsflikar</title> -<para ->I det här ursprungliga fallet använder &tdevelop; det så kallade <link linkend="uimodes-survey" ->IDEA-användargränssnittet</link ->. Ett maximalt stort arbetsområde omges till vänster, under, och till höger av en serie knappar som fungerar på liknande sätt som flikarna på en skärm med flikar. Om du klickar på en av flikarna visas ett så kallat <emphasis ->verktygsvyfönster</emphasis ->, som låter dig arbeta med en speciell aktivitet.</para> +<title>Arbetsområde och verktygsflikar</title> +<para>I det här ursprungliga fallet använder &tdevelop; det så kallade <link linkend="uimodes-survey">IDEA-användargränssnittet</link>. Ett maximalt stort arbetsområde omges till vänster, under, och till höger av en serie knappar som fungerar på liknande sätt som flikarna på en skärm med flikar. Om du klickar på en av flikarna visas ett så kallat <emphasis>verktygsvyfönster</emphasis>, som låter dig arbeta med en speciell aktivitet.</para> </formalpara> <formalpara> -<title ->Menyer och verktygsrader</title> -<para ->Längst upp finns den vanliga menyraden, följd av flera rader med verktygsrader, där vissa är tomma från början. De förses med knappar så fort ett projekt har öppnats för verkligt arbete.</para> +<title>Menyer och verktygsrader</title> +<para>Längst upp finns den vanliga menyraden, följd av flera rader med verktygsrader, där vissa är tomma från början. De förses med knappar så fort ett projekt har öppnats för verkligt arbete.</para> </formalpara> <formalpara> -<title ->Statusrad</title> -<para ->Till sist finns en statusrad längst ner i fönstret, som visar kortfattad information om flera aktiviteter.</para> +<title>Statusrad</title> +<para>Till sist finns en statusrad längst ner i fönstret, som visar kortfattad information om flera aktiviteter.</para> </formalpara> </sect2> <sect2 id="gettingstarted-overview-help"> -<title ->Hur man får hjälp</title> +<title>Hur man får hjälp</title> -<para ->Förutom menyn <guimenu ->Hjälp</guimenu ->, som erbjuder svar på specifika frågor, tillhandahåller statusraden och två olika sorters verktygstips en del snabbinformation.</para> +<para>Förutom menyn <guimenu>Hjälp</guimenu>, som erbjuder svar på specifika frågor, tillhandahåller statusraden och två olika sorters verktygstips en del snabbinformation.</para> <formalpara> -<title ->Vad gör det här menyalternativet?</title> -<para ->När du placerar muspekaren över ett menyalternativ, visas oftast kortfattad information i statusraden. Även om det i de flesta fall bara upprepar alternativets namn, tillhandahålls ibland ytterligare information om menyalternativets syfte.</para> +<title>Vad gör det här menyalternativet?</title> +<para>När du placerar muspekaren över ett menyalternativ, visas oftast kortfattad information i statusraden. Även om det i de flesta fall bara upprepar alternativets namn, tillhandahålls ibland ytterligare information om menyalternativets syfte.</para> </formalpara> <formalpara> -<title ->Vad är det här objektets namn?</title> -<para ->För många objekt visas ett kort verktygstips med funktionsnamnet när du håller markören över det några sekunder. Det är användbart för snabb orientering i verktygsrader eller verktygsvyflikar i IDEA-läge, när den integrerade utvecklingsmiljön har ställts in att bara visa ikoner på dessa knappar.</para> +<title>Vad är det här objektets namn?</title> +<para>För många objekt visas ett kort verktygstips med funktionsnamnet när du håller markören över det några sekunder. Det är användbart för snabb orientering i verktygsrader eller verktygsvyflikar i IDEA-läge, när den integrerade utvecklingsmiljön har ställts in att bara visa ikoner på dessa knappar.</para> </formalpara> <formalpara> -<title ->Vad gör det här objektet?</title> -<para ->Mer information är tillgänglig genom utökad hjälp med verktygstips för många objekt i den integrerade utvecklingsmiljön. Välj <menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Vad är det här?</guimenuitem -></menuchoice -> eller tryck på <keycombo -><keycap ->&Shift;</keycap -><keycap ->F1</keycap -></keycombo ->, välj därefter objektet som du vill veta mer om med markören i form av ett frågetecken. Du kan också visa vilken meny som helst på detta sätt, och klicka på ett visst menyalternativ (både aktiva och inaktiva) för att se om mer information finns tillgänglig.</para> +<title>Vad gör det här objektet?</title> +<para>Mer information är tillgänglig genom utökad hjälp med verktygstips för många objekt i den integrerade utvecklingsmiljön. Välj <menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Vad är det här?</guimenuitem></menuchoice> eller tryck på <keycombo><keycap>&Shift;</keycap><keycap>F1</keycap></keycombo>, välj därefter objektet som du vill veta mer om med markören i form av ett frågetecken. Du kan också visa vilken meny som helst på detta sätt, och klicka på ett visst menyalternativ (både aktiva och inaktiva) för att se om mer information finns tillgänglig.</para> </formalpara> </sect2> <sect2 id="gettingstarted-overview-menu"> -<title ->Vad finns i menyerna?</title> +<title>Vad finns i menyerna?</title> -<para ->Det finns tio menyer som kan väljas i menyraden. De flesta förses med alla alternativ när ett projekt väl har öppnats för verkligt arbete, medan andra kräver att att minst ett dokument är öppnat. I korthet tillåter de följande sorters åtgärder.</para> +<para>Det finns tio menyer som kan väljas i menyraden. De flesta förses med alla alternativ när ett projekt väl har öppnats för verkligt arbete, medan andra kräver att att minst ett dokument är öppnat. I korthet tillåter de följande sorters åtgärder.</para> <note> -<para ->Det här är bara en översikt. För en detaljerad beskrivning av menyerna, se <link linkend="commands" ->Kommandoreferensen</link ->.</para> +<para>Det här är bara en översikt. För en detaljerad beskrivning av menyerna, se <link linkend="commands">Kommandoreferensen</link>.</para> </note> <variablelist> <varlistentry> -<term -><guimenu ->Arkiv</guimenu -></term> +<term><guimenu>Arkiv</guimenu></term> <listitem> <formalpara> -<title ->Vanliga åtgärder</title> -<para ->Detta är ganska standardmässigt. Det tillåter att dokumentfiler skapas, öppnas, sparas, skrivs ut och stängs, samt att avsluta programmet &tdevelop; som vanligt.</para> +<title>Vanliga åtgärder</title> +<para>Detta är ganska standardmässigt. Det tillåter att dokumentfiler skapas, öppnas, sparas, skrivs ut och stängs, samt att avsluta programmet &tdevelop; som vanligt.</para> </formalpara> <formalpara> -<title ->Återställ alla</title> -<para ->Låter dig återställa alla senaste ändringar som ännu inte sparats, genom att ladda filen igen från disk. Det fungerar för alla filer du redigerar, inte bara de som ingår i ett projekt.</para> +<title>Återställ alla</title> +<para>Låter dig återställa alla senaste ändringar som ännu inte sparats, genom att ladda filen igen från disk. Det fungerar för alla filer du redigerar, inte bara de som ingår i ett projekt.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Redigera</guimenu -></term> +<term><guimenu>Redigera</guimenu></term> <listitem> -<para ->Den här menyn är bara användbar om ett dokument är öppnat.</para> +<para>Den här menyn är bara användbar om ett dokument är öppnat.</para> <formalpara> -<title ->Vanliga åtgärder</title> -<para ->Tillhandahåller de vanliga åtgärderna för att ångra, göra om och klippa ut, kopiera eller klistra in. Dessutom tillåter den att markera textblock på olika sätt.</para> +<title>Vanliga åtgärder</title> +<para>Tillhandahåller de vanliga åtgärderna för att ångra, göra om och klippa ut, kopiera eller klistra in. Dessutom tillåter den att markera textblock på olika sätt.</para> </formalpara> <formalpara> -<title ->Sök och ersätt</title> -<para ->Det finns två mycket kraftfull sökfunktioner tillgängliga, <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök i filer</guimenuitem -></menuchoice -> och <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök-välj-ersätt...</guimenuitem -></menuchoice ->. Förutom de vanliga sök- och ersättningsfunktionerna begränsade till det nuvarande dokumentet, kan du dessutom utföra globala sök- och ersättningsåtgärder på en gång.</para> +<title>Sök och ersätt</title> +<para>Det finns två mycket kraftfull sökfunktioner tillgängliga, <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök i filer</guimenuitem></menuchoice> och <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök-välj-ersätt...</guimenuitem></menuchoice>. Förutom de vanliga sök- och ersättningsfunktionerna begränsade till det nuvarande dokumentet, kan du dessutom utföra globala sök- och ersättningsåtgärder på en gång.</para> </formalpara> <formalpara> -<title ->Avancerad textredigering</title> -<para ->Det finns möjlighet att formatera om nuvarande dokument och att automatiskt komplettera delvis inskriven text på olika sätt.</para> +<title>Avancerad textredigering</title> +<para>Det finns möjlighet att formatera om nuvarande dokument och att automatiskt komplettera delvis inskriven text på olika sätt.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Visa</guimenu -></term> +<term><guimenu>Visa</guimenu></term> <listitem> -<para ->Som menyn <guimenu ->Redigera</guimenu ->, är den här menyn bara användbar om ett projekt är öppet. I detta fall är (bland annat) följande alternativ tillgängliga:</para> +<para>Som menyn <guimenu>Redigera</guimenu>, är den här menyn bara användbar om ett projekt är öppet. I detta fall är (bland annat) följande alternativ tillgängliga:</para> <formalpara> -<title ->Navigeringshistorik</title> -<para ->Byt fram och tillbaka mellan dokumenten du tittat på, etc.</para> +<title>Navigeringshistorik</title> +<para>Byt fram och tillbaka mellan dokumenten du tittat på, etc.</para> </formalpara> <formalpara> -<title ->Felspårning</title> -<para ->Navigera till källkodsraderna för fel som stöttes på i den senaste kompilerings- eller byggprocessen.</para> +<title>Felspårning</title> +<para>Navigera till källkodsraderna för fel som stöttes på i den senaste kompilerings- eller byggprocessen.</para> </formalpara> <formalpara> -<title ->Åtgärder som hör ihop med editorn</title> -<para ->Visa alternativ i menyn <guimenu ->Visa</guimenu -> styr utseendet och vyn för editorn du använder. När det gäller &kate;-programdelen (den inbäddade avancerade texteditorn) finns följande alternativ tillgängliga:</para> +<title>Åtgärder som hör ihop med editorn</title> +<para>Visa alternativ i menyn <guimenu>Visa</guimenu> styr utseendet och vyn för editorn du använder. När det gäller &kate;-programdelen (den inbäddade avancerade texteditorn) finns följande alternativ tillgängliga:</para> </formalpara> <itemizedlist> <listitem> -<para ->Styr radbrytningsbeteendet i dokumentfönstret.</para> +<para>Styr radbrytningsbeteendet i dokumentfönstret.</para> </listitem> <listitem> -<para ->Visa eller dölj olika kolumner längs dokumentfönsterkanter: radnummer, ikoner och dessutom bokmärken i rullningslisten.</para> +<para>Visa eller dölj olika kolumner längs dokumentfönsterkanter: radnummer, ikoner och dessutom bokmärken i rullningslisten.</para> </listitem> <listitem> -<para ->Styr visning av ihopdragna (tillfälligt dolda) avsnitt i en källkodstext.</para> +<para>Styr visning av ihopdragna (tillfälligt dolda) avsnitt i en källkodstext.</para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Projekt</guimenu -></term> +<term><guimenu>Projekt</guimenu></term> <listitem> -<para ->Allt arbete i &tdevelop; är baserat på <emphasis ->projekt</emphasis ->, som i grunden samlar källkodsfiler, bygghanteringsfiler och annan information i en projektkatalog. Med den här menyn bestämmer du vilket projekt som används, vilka egenskaper det har och några andra hanteringsalternativ. I synnerhet:</para> +<para>Allt arbete i &tdevelop; är baserat på <emphasis>projekt</emphasis>, som i grunden samlar källkodsfiler, bygghanteringsfiler och annan information i en projektkatalog. Med den här menyn bestämmer du vilket projekt som används, vilka egenskaper det har och några andra hanteringsalternativ. I synnerhet:</para> <formalpara> -<title ->Öppna ett projekt</title> -<para ->Tillåter att nya projekt skapas, befintliga öppnas och import av projekt från andra miljöer.</para> +<title>Öppna ett projekt</title> +<para>Tillåter att nya projekt skapas, befintliga öppnas och import av projekt från andra miljöer.</para> </formalpara> <formalpara> -<title ->Projektalternativ</title> -<para ->Gör det möjligt att definiera en hel mängd olika projektegenskaper.</para> +<title>Projektalternativ</title> +<para>Gör det möjligt att definiera en hel mängd olika projektegenskaper.</para> </formalpara> <formalpara> -<title ->Klasshantering</title> -<para ->Lägg till nya klasser i projektet och gå igenom arvträdet för en klass.</para> +<title>Klasshantering</title> +<para>Lägg till nya klasser i projektet och gå igenom arvträdet för en klass.</para> </formalpara> <formalpara> -<title ->Distribuera projekt</title> -<para ->Hjälper till att bygga paket för distribution av projektet.</para> +<title>Distribuera projekt</title> +<para>Hjälper till att bygga paket för distribution av projektet.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Bygg</guimenu -></term> +<term><guimenu>Bygg</guimenu></term> <listitem> -<para ->Den här menyn handlar helt och hållet om att kompilera och dokumentera projektet. Sålunda är den bara användbar när ett projekt verkligen är öppet. I detta fall tillhandahåller den följande alternativ:</para> +<para>Den här menyn handlar helt och hållet om att kompilera och dokumentera projektet. Sålunda är den bara användbar när ett projekt verkligen är öppet. I detta fall tillhandahåller den följande alternativ:</para> <formalpara> -<title ->Kompilera, länka och köra</title> -<para ->Tillåter att hela projektet eller delar av det kompileras och länkas, samt kör programmet inifrån den integrerade utvecklingsmiljön.</para> +<title>Kompilera, länka och köra</title> +<para>Tillåter att hela projektet eller delar av det kompileras och länkas, samt kör programmet inifrån den integrerade utvecklingsmiljön.</para> </formalpara> <formalpara> -<title ->Förberedande byggåtgärder</title> -<para ->Det här beror i själva verket på byggsystemet som du använder för projektet. I fallet med automake-projekt tillåter de att köra <filename ->Makefile.cvs</filename -> och <filename ->configure</filename -> enskilt. Det finns också möjlighet att ta bort skapade filer från projektet, på olika nivåer.</para> +<title>Förberedande byggåtgärder</title> +<para>Det här beror i själva verket på byggsystemet som du använder för projektet. I fallet med automake-projekt tillåter de att köra <filename>Makefile.cvs</filename> och <filename>configure</filename> enskilt. Det finns också möjlighet att ta bort skapade filer från projektet, på olika nivåer.</para> </formalpara> <formalpara> -<title ->Installera programmet</title> -<para ->Tillåter att programmet installeras, både i lokala kataloger och i systemkataloger som bara är tillgängliga för systemadministratören.</para> +<title>Installera programmet</title> +<para>Tillåter att programmet installeras, både i lokala kataloger och i systemkataloger som bara är tillgängliga för systemadministratören.</para> </formalpara> <formalpara> -<title ->Dokumentation av programmeringsgränssnittet</title> -<para ->Bygg eller ta bort dokumentation av projektets programmeringsgränssnitt baserad på doxygen, enligt definitionen i projektalternativen.</para> +<title>Dokumentation av programmeringsgränssnittet</title> +<para>Bygg eller ta bort dokumentation av projektets programmeringsgränssnitt baserad på doxygen, enligt definitionen i projektalternativen.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Avlusa</guimenu -></term> +<term><guimenu>Avlusa</guimenu></term> <listitem> -<para ->Även om menyn fylls i så fort ett projekt är aktivt, är den förstås bara användbar om själva projektet tidigare har kompilerats med avlusningsinformation (det ställs i huvudsak in under <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar...</guimenuitem -></menuchoice ->). I detta fall finns följande alternativ tillgängliga:</para> +<para>Även om menyn fylls i så fort ett projekt är aktivt, är den förstås bara användbar om själva projektet tidigare har kompilerats med avlusningsinformation (det ställs i huvudsak in under <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar...</guimenuitem></menuchoice>). I detta fall finns följande alternativ tillgängliga:</para> <formalpara> -<title ->Vanliga avlusningsåtgärder</title> -<para ->Den första delen i menyn <guimenu ->Avlusa</guimenu -> tillhandahåller ett grafiskt gränssnitt till GDB, &GNU;:s symboliska avlusare. Den gör det möjligt att starta och stoppa programmet i avlusaren och stega igenom det på olika sätt.</para> +<title>Vanliga avlusningsåtgärder</title> +<para>Den första delen i menyn <guimenu>Avlusa</guimenu> tillhandahåller ett grafiskt gränssnitt till GDB, &GNU;:s symboliska avlusare. Den gör det möjligt att starta och stoppa programmet i avlusaren och stega igenom det på olika sätt.</para> </formalpara> <formalpara> -<title ->Brytpunkter</title> -<para ->&tdevelop; tillhandahåller flera möjligheter att ange brytpunkter i programmets källkod. Ett är genom användning av menyalternativet <guimenuitem ->Växla brytpunkt</guimenuitem ->.</para> +<title>Brytpunkter</title> +<para>&tdevelop; tillhandahåller flera möjligheter att ange brytpunkter i programmets källkod. Ett är genom användning av menyalternativet <guimenuitem>Växla brytpunkt</guimenuitem>.</para> </formalpara> <formalpara> -<title ->Avancerad avlusning</title> -<para ->Andra alternativ i menyn <guimenu ->Avlusa</guimenu -> tillåter mer avancerad analys av programmet. Använd <keycombo ->&Shift; <keycap ->F1</keycap -></keycombo -> för att få mer information om deras syfte.</para> +<title>Avancerad avlusning</title> +<para>Andra alternativ i menyn <guimenu>Avlusa</guimenu> tillåter mer avancerad analys av programmet. Använd <keycombo>&Shift; <keycap>F1</keycap></keycombo> för att få mer information om deras syfte.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Skript</guimenu -></term> +<term><guimenu>Skript</guimenu></term> <listitem> -<para ->Du kan anropa diverse skript från menyn för att enklare åstadkomma långtråkiga ändringar av texten i editorfönstret som för närvarande används. Tillgängliga åtgärder beror dock på skriptet som väljes. </para> +<para>Du kan anropa diverse skript från menyn för att enklare åstadkomma långtråkiga ändringar av texten i editorfönstret som för närvarande används. Tillgängliga åtgärder beror dock på skriptet som väljes. </para> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Fönster</guimenu -></term> +<term><guimenu>Fönster</guimenu></term> <listitem> -<para ->Det här är ganska standardmässigt. Du kan välja alla öppna dokumentfönster samt stänga ett eller flera dokumentfönster här. Du kan till och med välja en uppsättning dokumentfönster som ska stängas på en gång.</para> +<para>Det här är ganska standardmässigt. Du kan välja alla öppna dokumentfönster samt stänga ett eller flera dokumentfönster här. Du kan till och med välja en uppsättning dokumentfönster som ska stängas på en gång.</para> -<para ->Beroende på editorinsticksprogrammet du använder, kanske det också finns andra menyalternativ. Kate, det förvalda editorinsticksprogrammet, tillåter exempelvis också att editorfönstret delas horisontellt eller vertikalt.</para> +<para>Beroende på editorinsticksprogrammet du använder, kanske det också finns andra menyalternativ. Kate, det förvalda editorinsticksprogrammet, tillåter exempelvis också att editorfönstret delas horisontellt eller vertikalt.</para> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Verktyg</guimenu -></term> +<term><guimenu>Verktyg</guimenu></term> <listitem> -<para ->&tdevelop; är mycket anpassningsbart. Du kan välja din favoriteditor för dokument samt tillhandahålla externa och insticksverktyg för att utöka funktionerna i den grundläggande integrerade utvecklingsmiljön. Menyn <guimenu ->Verktyg</guimenu -> avspeglar de flesta av dessa inställningar.</para> +<para>&tdevelop; är mycket anpassningsbart. Du kan välja din favoriteditor för dokument samt tillhandahålla externa och insticksverktyg för att utöka funktionerna i den grundläggande integrerade utvecklingsmiljön. Menyn <guimenu>Verktyg</guimenu> avspeglar de flesta av dessa inställningar.</para> <formalpara> -<title ->Avancerad redigering</title> -<para ->Den övre delen av menyalternativ i <guimenu ->Verktyg</guimenu -> tillhandahålls av editorinsticksprogrammet som används. Du kan välja din favoriteditor via <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -> <guilabel ->Editor</guilabel -></menuchoice ->. Så fort en redigerbar dokumentfil väljes, tillhandahåller den övre delen av menyn <guimenu ->Verktyg</guimenu -> avancerade redigeringskommandon, specifika för editorn som används.</para> +<title>Avancerad redigering</title> +<para>Den övre delen av menyalternativ i <guimenu>Verktyg</guimenu> tillhandahålls av editorinsticksprogrammet som används. Du kan välja din favoriteditor via <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem> <guilabel>Editor</guilabel></menuchoice>. Så fort en redigerbar dokumentfil väljes, tillhandahåller den övre delen av menyn <guimenu>Verktyg</guimenu> avancerade redigeringskommandon, specifika för editorn som används.</para> </formalpara> <formalpara> -<title ->Hantering av webbsidor</title> -<para ->Om det aktiva dokumentfönstret innehåller en HTML-sida (som t.ex. visas från <guilabel ->Dokumentation</guilabel ->), visar <guimenu ->Verktyg</guimenu -> ytterligare menyalternativ som tillhandahåller olika sätt att hantera webbsidor.</para> +<title>Hantering av webbsidor</title> +<para>Om det aktiva dokumentfönstret innehåller en HTML-sida (som t.ex. visas från <guilabel>Dokumentation</guilabel>), visar <guimenu>Verktyg</guimenu> ytterligare menyalternativ som tillhandahåller olika sätt att hantera webbsidor.</para> </formalpara> <formalpara> -<title ->Övriga verktyg</title> -<para ->Oftast finns det en mängd andra alternativ enligt de verktyg som för närvarande är tillgängliga. Använd <keycombo ->&Shift;<keycap ->F1</keycap -></keycombo -> för att få mer information om deras syfte.</para> +<title>Övriga verktyg</title> +<para>Oftast finns det en mängd andra alternativ enligt de verktyg som för närvarande är tillgängliga. Använd <keycombo>&Shift;<keycap>F1</keycap></keycombo> för att få mer information om deras syfte.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Inställningar</guimenu -></term> +<term><guimenu>Inställningar</guimenu></term> <listitem> -<para ->Den här menyn låter dig visa och dölja menyraden, verktygsrader och statusraden. Dessutom kan du anpassa genvägar, verktygsrader, underrättelser, editorn och &tdevelop;s allmänna beteende.</para> +<para>Den här menyn låter dig visa och dölja menyraden, verktygsrader och statusraden. Dessutom kan du anpassa genvägar, verktygsrader, underrättelser, editorn och &tdevelop;s allmänna beteende.</para> </listitem> </varlistentry> <varlistentry> -<term -><guimenu ->Hjälp</guimenu -></term> +<term><guimenu>Hjälp</guimenu></term> <listitem> -<para ->Här kan du visa KDevelops handbok, slå upp begrepp i diverse dokumentationsfiler, visa manualsidor (det traditionella Unix manualformatet) och infosidor (GNU manualformatet). Dessutom kan du rapportera fel och få viss information om den nuvarande versionen av KDevelop och dess upphovsmän.</para> +<para>Här kan du visa KDevelops handbok, slå upp begrepp i diverse dokumentationsfiler, visa manualsidor (det traditionella Unix manualformatet) och infosidor (GNU manualformatet). Dessutom kan du rapportera fel och få viss information om den nuvarande versionen av KDevelop och dess upphovsmän.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="gettingstarted-overview-tools"> -<title ->Vad är verktygsvyerna till för?</title> +<title>Vad är verktygsvyerna till för?</title> -<para ->Med användargränssnittet IDEA-fönsterläge omges arbetsytan av tre rader med knappar, så kallade <emphasis ->verktygsvyflikar</emphasis ->. De gör att man kan komma åt <emphasis ->verktygsvyfönster</emphasis -> som åstadkommer viktiga uppgifter under programvaruutvecklingen. Var och en av dessa tre rader verktygsvyer tjänar olika huvudsyften.</para> +<para>Med användargränssnittet IDEA-fönsterläge omges arbetsytan av tre rader med knappar, så kallade <emphasis>verktygsvyflikar</emphasis>. De gör att man kan komma åt <emphasis>verktygsvyfönster</emphasis> som åstadkommer viktiga uppgifter under programvaruutvecklingen. Var och en av dessa tre rader verktygsvyer tjänar olika huvudsyften.</para> <itemizedlist> <listitem> <formalpara> -<title ->Vänster sida</title> -<para ->Ger möjlighet att komma åt verktyg för navigering och urval.</para> +<title>Vänster sida</title> +<para>Ger möjlighet att komma åt verktyg för navigering och urval.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Underkanten</title> -<para ->Vyerna visar meddelanden som skapas av olika verktyg.</para> +<title>Underkanten</title> +<para>Vyerna visar meddelanden som skapas av olika verktyg.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Höger sida</title> -<para ->Ger möjlighet att komma åt dokumentation och verktyg för källkodshantering.</para> +<title>Höger sida</title> +<para>Ger möjlighet att komma åt dokumentation och verktyg för källkodshantering.</para> </formalpara> </listitem> </itemizedlist> -<para ->Antal verktygsvyflikar som visas kommer att ändras när ett projekt väl har öppnats att arbeta med. Fler verktyg för att arbeta med projektet kommer då att vara tillgängliga. Det verkliga antalet verktygsvyer beror på de <link linkend="plugin-tools" ->insticksverktyg</link -> som för närvarande är tillgängliga i &tdevelop;. Du hittar mer om detta ämne i kapitlet <link linkend="setup" ->Anpassa KDevelop</link ->.</para> +<para>Antal verktygsvyflikar som visas kommer att ändras när ett projekt väl har öppnats att arbeta med. Fler verktyg för att arbeta med projektet kommer då att vara tillgängliga. Det verkliga antalet verktygsvyer beror på de <link linkend="plugin-tools">insticksverktyg</link> som för närvarande är tillgängliga i &tdevelop;. Du hittar mer om detta ämne i kapitlet <link linkend="setup">Anpassa KDevelop</link>.</para> -<para ->För närvarande, när inget projekt är öppet, och det normala antalet insticksverktyg är laddade, finns följande verktygsvyer. Genom att klicka på en flik öppnas eller stängs verktygsvyns fönster.</para> +<para>För närvarande, när inget projekt är öppet, och det normala antalet insticksverktyg är laddade, finns följande verktygsvyer. Genom att klicka på en flik öppnas eller stängs verktygsvyns fönster.</para> <variablelist> <varlistentry> -<term ->Navigering och urval</term> +<term>Navigering och urval</term> <listitem> <formalpara> -<title ->Filväljare</title> -<para ->Tillhandahåller en ruta för att navigera i katalogträdet och välja filer att arbeta med precis som du gör i &konqueror;. Att klicka på en fil öppnar den i ett lämpligt redigeringsfönster på arbetsytan. Ett högerklick i filväljarens område gör att en meny för navigering och filhantering visas.</para> +<title>Filväljare</title> +<para>Tillhandahåller en ruta för att navigera i katalogträdet och välja filer att arbeta med precis som du gör i &konqueror;. Att klicka på en fil öppnar den i ett lämpligt redigeringsfönster på arbetsytan. Ett högerklick i filväljarens område gör att en meny för navigering och filhantering visas.</para> </formalpara> <formalpara> -<title ->Fillista</title> -<para ->Listar filer som för närvarande är öppna. Att klicka på en fil väljer oftast dess redigeringsfönster på arbetsytan. Använd det för att snabbt navigera bland ett stort antal öppna filer. Dessutom ger vyn ett sätt att organisera öppna filer i olika <emphasis ->sessioner</emphasis ->. Det är särskilt användbart i mycket stora och komplexa projekt, för att hjälpa utvecklaren att koncentrera sig på olika uppgifter. Att högerklicka på en fil gör att en filhanteringsmeny dyker upp.</para> +<title>Fillista</title> +<para>Listar filer som för närvarande är öppna. Att klicka på en fil väljer oftast dess redigeringsfönster på arbetsytan. Använd det för att snabbt navigera bland ett stort antal öppna filer. Dessutom ger vyn ett sätt att organisera öppna filer i olika <emphasis>sessioner</emphasis>. Det är särskilt användbart i mycket stora och komplexa projekt, för att hjälpa utvecklaren att koncentrera sig på olika uppgifter. Att högerklicka på en fil gör att en filhanteringsmeny dyker upp.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term ->Visning av meddelanden</term> +<term>Visning av meddelanden</term> <listitem> <formalpara> -<title ->Program</title> -<para ->Visar utmatningen från ett program som startas inifrån &tdevelop;.</para> +<title>Program</title> +<para>Visar utmatningen från ett program som startas inifrån &tdevelop;.</para> </formalpara> <formalpara> -<title ->Jämförelse</title> -<para ->Används för att visa innehållet i filer med programfixar. Visar utmatningen från verktyget för visning av skillnader, som startas från menyn <menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Visning av skillnader...</guimenuitem -></menuchoice ->.</para> +<title>Jämförelse</title> +<para>Används för att visa innehållet i filer med programfixar. Visar utmatningen från verktyget för visning av skillnader, som startas från menyn <menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Visning av skillnader...</guimenuitem></menuchoice>.</para> </formalpara> <formalpara> -<title ->Meddelanden</title> -<para ->Visar meddelanden som skapas av byggverktygen som anropas inifrån &tdevelop;, oftast från menyn <guimenu ->Bygg</guimenu ->.</para> +<title>Meddelanden</title> +<para>Visar meddelanden som skapas av byggverktygen som anropas inifrån &tdevelop;, oftast från menyn <guimenu>Bygg</guimenu>.</para> </formalpara> <formalpara> -<title ->Sök i filer</title> -<para ->Visar listan med objekt som hittas av den allmänna sökfunktionen som startas från menyn <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök i filer...</guimenuitem -></menuchoice ->. Genom att klicka på en rad här, öppnar automatiskt filen på angiven position i ett redigeringsfönster.</para> +<title>Sök i filer</title> +<para>Visar listan med objekt som hittas av den allmänna sökfunktionen som startas från menyn <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök i filer...</guimenuitem></menuchoice>. Genom att klicka på en rad här, öppnar automatiskt filen på angiven position i ett redigeringsfönster.</para> </formalpara> <formalpara> -<title ->Ersätt</title> -<para ->Listar resultat av den allmänna sök- och ersättningsfunktionen som startas från menyn <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök-välj-ersätt...</guimenuitem -></menuchoice ->. I den vyn kan du för varje hittat objekt bestämma dig för om du verkligen vill ersätta det eller inte.</para> +<title>Ersätt</title> +<para>Listar resultat av den allmänna sök- och ersättningsfunktionen som startas från menyn <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök-välj-ersätt...</guimenuitem></menuchoice>. I den vyn kan du för varje hittat objekt bestämma dig för om du verkligen vill ersätta det eller inte.</para> </formalpara> <note> -<para ->Den allmänna sök- och ersättningsfunktionen är i själva verket bara tillgänglig efter ett projekt har laddats i &tdevelop;. Annars är verktyget i menyn <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök-välj-ersätt</guimenuitem -></menuchoice -> inte aktiverat.</para> +<para>Den allmänna sök- och ersättningsfunktionen är i själva verket bara tillgänglig efter ett projekt har laddats i &tdevelop;. Annars är verktyget i menyn <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök-välj-ersätt</guimenuitem></menuchoice> inte aktiverat.</para> </note> <formalpara> -<title ->Konsol</title> -<para ->Öppnar ett terminalemuleringsfönster som liknar <application ->Konsole</application -> i &kde; där du kan använda tangentbordskommandon med ett traditionellt &UNIX; kommandoradsgränssnitt.</para> +<title>Konsol</title> +<para>Öppnar ett terminalemuleringsfönster som liknar <application>Konsole</application> i &kde; där du kan använda tangentbordskommandon med ett traditionellt &UNIX; kommandoradsgränssnitt.</para> </formalpara> </listitem> </varlistentry> <varlistentry> -<term ->Dokumentation och källkodshantering</term> +<term>Dokumentation och källkodshantering</term> <listitem> <formalpara> -<title ->Dokumentation</title> -<para ->&tdevelop; ger tillgång till en mängd dokumentation via det här verktyget. Här kan du komma åt dokumentfiler, oftast direkt från en annan dator, på ett strukturerat sätt. Det finns flera sätt att direkt komma åt värdefull information från handböcker om &kde; och &Qt;.</para> +<title>Dokumentation</title> +<para>&tdevelop; ger tillgång till en mängd dokumentation via det här verktyget. Här kan du komma åt dokumentfiler, oftast direkt från en annan dator, på ett strukturerat sätt. Det finns flera sätt att direkt komma åt värdefull information från handböcker om &kde; och &Qt;.</para> </formalpara> -<para ->Se kapitlen <link linkend="documentation" ->Dokumentation</link -> och <link linkend="setup-docu" ->Anpassa dokumentationen</link -> för mer information.</para> +<para>Se kapitlen <link linkend="documentation">Dokumentation</link> och <link linkend="setup-docu">Anpassa dokumentationen</link> för mer information.</para> <formalpara> -<title ->Kodsnuttar</title> -<para ->Verktyget låter dig lagra utvald text permanent för senare användning vid andra redigeringsomgångar. Det är ett mycket flexibelt verktyg, eftersom alla textsnuttar som lagras här kan innehålla en uppsättning variabler, som får sina verkliga värden när en sådan textsnutt infogas i någon annan text.</para> +<title>Kodsnuttar</title> +<para>Verktyget låter dig lagra utvald text permanent för senare användning vid andra redigeringsomgångar. Det är ett mycket flexibelt verktyg, eftersom alla textsnuttar som lagras här kan innehålla en uppsättning variabler, som får sina verkliga värden när en sådan textsnutt infogas i någon annan text.</para> </formalpara> -<para ->Mer information om detta är tillgänglig i kapitlen <link linkend="editing-snippets" ->Kodsnuttar</link -> och <link linkend="setup-snippets" ->Ställa in verktyget för kodsnuttar</link ->.</para> +<para>Mer information om detta är tillgänglig i kapitlen <link linkend="editing-snippets">Kodsnuttar</link> och <link linkend="setup-snippets">Ställa in verktyget för kodsnuttar</link>.</para> </listitem> </varlistentry> </variablelist> @@ -791,37 +433,18 @@ Keep lines at 80 characters length maximum. </sect1> <sect1 id="gettingstarted-configure"> -<title ->Några inställningar</title> +<title>Några inställningar</title> -<para ->Innan vi påbörjar det första exempelprojektet på riktigt, bör vi anpassa &tdevelop;s beteende efter våra behov. Även om de flesta standardinställningarna redan är lämpliga, finns det några ställen som det vore bra att ändra.</para> +<para>Innan vi påbörjar det första exempelprojektet på riktigt, bör vi anpassa &tdevelop;s beteende efter våra behov. Även om de flesta standardinställningarna redan är lämpliga, finns det några ställen som det vore bra att ändra.</para> <note> -<para ->Om du vill veta mer om inställning av &tdevelop;, ta en titt på kapitlet <link linkend="setup" ->Anpassa KDevelop</link ->.</para> +<para>Om du vill veta mer om inställning av &tdevelop;, ta en titt på kapitlet <link linkend="setup">Anpassa KDevelop</link>.</para> </note> <sect2 id="gettingstarted-configure-general"> -<title ->Några allmänna inställningar</title> - -<para ->Klicka på menyn <menuchoice -><guimenu ->Inställningar</guimenu -> </menuchoice -> för att anpassa &tdevelop; och välj <menuchoice -><guimenuitem ->Anpassa KDevelop...</guimenuitem -></menuchoice ->. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, och visar följande inställningssida, <guilabel ->Allmänt</guilabel ->, till höger.</para> +<title>Några allmänna inställningar</title> + +<para>Klicka på menyn <menuchoice><guimenu>Inställningar</guimenu> </menuchoice> för att anpassa &tdevelop; och välj <menuchoice><guimenuitem>Anpassa KDevelop...</guimenuitem></menuchoice>. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, och visar följande inställningssida, <guilabel>Allmänt</guilabel>, till höger.</para> <screenshot> <mediaobject> @@ -829,161 +452,74 @@ Keep lines at 80 characters length maximum. <imagedata fileref="configure-general.png" format="PNG"/> </imageobject> <caption> -<para ->Den allmänna inställningsdialogrutan i &tdevelop;</para> +<para>Den allmänna inställningsdialogrutan i &tdevelop;</para> </caption> </mediaobject> </screenshot> -<para ->De flesta standardinställningarna är ok, men två av inställningarna kanske du vill ändra.</para> +<para>De flesta standardinställningarna är ok, men två av inställningarna kanske du vill ändra.</para> <formalpara> -<title ->Standardprojektkatalog</title> -<para ->När &tdevelop; startas för första gången är den troligen förinställd till din hemkatalog. De flesta föredrar dock en särskild projektkatalog för programvaruutveckling. Ändra textrutan till huvudkatalogen för utveckling som du föredrar. Du kan välja det i katalogträdet om du klickar på knappen <guilabel ->Öppna fildialog</guilabel -> markerad med en katalogikon, till höger om textrutan.</para> +<title>Standardprojektkatalog</title> +<para>När &tdevelop; startas för första gången är den troligen förinställd till din hemkatalog. De flesta föredrar dock en särskild projektkatalog för programvaruutveckling. Ändra textrutan till huvudkatalogen för utveckling som du föredrar. Du kan välja det i katalogträdet om du klickar på knappen <guilabel>Öppna fildialog</guilabel> markerad med en katalogikon, till höger om textrutan.</para> </formalpara> -<para ->I vårt exempel antar vi (i brist på bättre) en användare som kallas <filename class="directory" ->utvecklare</filename ->. Ersätt därför alltid <quote ->utvecklare</quote -> med ditt användarnamn. Vår utvecklare utnyttjar huvudkatalogen <filename class="directory" ->/home/utvecklare/projekt</filename -> för själva utvecklingen. Återigen, ersätt <filename class="directory" ->projekt</filename -> med namnet på din utvecklingskatalog. </para> - -<para ->&tdevelop; skapar normalt en egen underkatalog under huvudkatalogen för varje nytt projekt du skapar. Alla filer i ett projekt som till exempel heter <quote ->Hello</quote -> kommer i vårt fall att placeras i katalogen <filename class="directory" ->/home/utvecklare/projekt/hello</filename ->.</para> - -<para ->Du kan förstås tillfälligt överskrida dessa kataloginställningar om du behöver det. Se kapitlet <link linkend="applicationwizard" ->Programguide</link -> för mer information om det.</para> +<para>I vårt exempel antar vi (i brist på bättre) en användare som kallas <filename class="directory">utvecklare</filename>. Ersätt därför alltid <quote>utvecklare</quote> med ditt användarnamn. Vår utvecklare utnyttjar huvudkatalogen <filename class="directory">/home/utvecklare/projekt</filename> för själva utvecklingen. Återigen, ersätt <filename class="directory">projekt</filename> med namnet på din utvecklingskatalog. </para> + +<para>&tdevelop; skapar normalt en egen underkatalog under huvudkatalogen för varje nytt projekt du skapar. Alla filer i ett projekt som till exempel heter <quote>Hello</quote> kommer i vårt fall att placeras i katalogen <filename class="directory">/home/utvecklare/projekt/hello</filename>.</para> + +<para>Du kan förstås tillfälligt överskrida dessa kataloginställningar om du behöver det. Se kapitlet <link linkend="applicationwizard">Programguide</link> för mer information om det.</para> <formalpara> -<title ->Kompilatorutmatning</title> -<para ->Så fort &tdevelop; kompilerar någon källkod, visas meddelanden från byggverktygen, som <application ->make</application ->, i fönstret <guilabel ->Meddelanden</guilabel -> längst ner på arbetsytan. Oftast är meddelandena överväldigande ordrika. För att få en bättre överblick av vad som händer, har &tdevelop; ett antal inbyggda sätt att förkorta meddelandena.</para> +<title>Kompilatorutmatning</title> +<para>Så fort &tdevelop; kompilerar någon källkod, visas meddelanden från byggverktygen, som <application>make</application>, i fönstret <guilabel>Meddelanden</guilabel> längst ner på arbetsytan. Oftast är meddelandena överväldigande ordrika. För att få en bättre överblick av vad som händer, har &tdevelop; ett antal inbyggda sätt att förkorta meddelandena.</para> </formalpara> -<para ->Beroende på vilken version av &tdevelop; du använder, kan inställningen <guilabel ->Kompilatorutmatning</guilabel -> vara förinställd till <quote ->fullständig</quote ->, vilket gör att allt innehåll i meddelanden visas i sin helhet. Du vill nog ändra det till den mycket mer praktiska inställningen <quote ->mycket kort</quote ->. Välj den helt enkelt i kombinationsrutan.</para> +<para>Beroende på vilken version av &tdevelop; du använder, kan inställningen <guilabel>Kompilatorutmatning</guilabel> vara förinställd till <quote>fullständig</quote>, vilket gör att allt innehåll i meddelanden visas i sin helhet. Du vill nog ändra det till den mycket mer praktiska inställningen <quote>mycket kort</quote>. Välj den helt enkelt i kombinationsrutan.</para> <caution> -<para ->Var medveten om att bara <emphasis ->den mest grundläggande</emphasis -> informationen visas i fönstret <guilabel ->Meddelanden</guilabel -> med denna inställning. Om fel skulle uppstå när du bygger, behöver du troligen se mer av, om inte hela, meddelandetexten. Meddelandena är dock inte borta. Högerklicka bara i fönstret <guilabel ->Meddelanden</guilabel -> och välj t.ex. <quote ->Fullständig kompilatorutmatning</quote -> i den sammanhangsberoende menyn.</para> +<para>Var medveten om att bara <emphasis>den mest grundläggande</emphasis> informationen visas i fönstret <guilabel>Meddelanden</guilabel> med denna inställning. Om fel skulle uppstå när du bygger, behöver du troligen se mer av, om inte hela, meddelandetexten. Meddelandena är dock inte borta. Högerklicka bara i fönstret <guilabel>Meddelanden</guilabel> och välj t.ex. <quote>Fullständig kompilatorutmatning</quote> i den sammanhangsberoende menyn.</para> </caution> </sect2> <sect2 id="gettingstarted-configure-search"> -<title ->Initiera sökindex för dokumentation</title> +<title>Initiera sökindex för dokumentation</title> -<para ->Det finns en annan, inte så uppenbar, inställning som helst ska göras innan själva utvecklingsarbetet påbörjas. Det beror på att du regelbundet kommer att vilja göra sökningar i dokumentationen under utvecklingen. &tdevelop; kräver att ett antal sökindex skapas innan en sådan sökåtgärd kan genomföras. Låt oss initiera dem innan vi utför de första stegen i det verkliga arbetet med &tdevelop;.</para> +<para>Det finns en annan, inte så uppenbar, inställning som helst ska göras innan själva utvecklingsarbetet påbörjas. Det beror på att du regelbundet kommer att vilja göra sökningar i dokumentationen under utvecklingen. &tdevelop; kräver att ett antal sökindex skapas innan en sådan sökåtgärd kan genomföras. Låt oss initiera dem innan vi utför de första stegen i det verkliga arbetet med &tdevelop;.</para> -<para ->Öppna verktygsvyn <guilabel ->Dokumentation</guilabel -> på höger sida i &tdevelop;s huvudfönster. Öppna där dialogsidan <guilabel ->Sök</guilabel ->.</para> +<para>Öppna verktygsvyn <guilabel>Dokumentation</guilabel> på höger sida i &tdevelop;s huvudfönster. Öppna där dialogsidan <guilabel>Sök</guilabel>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="documents-search.png" format="PNG"/> </imageobject> -<caption -><para ->Var sökindex ska skapas.</para -></caption> +<caption><para>Var sökindex ska skapas.</para></caption> </mediaobject> </screenshot> -<para ->Klicka nu på knappen <guibutton ->Uppdatera inställning</guibutton -> för att försäkra dig om att de grundläggande sökverktygen är riktigt inställda. En dialogruta ska dyka upp, som säger <quote ->Configuration file updated</quote ->. Klicka på <guibutton ->Ok</guibutton -> för att stänga den.</para> - -<para ->När det här är gjort, är &tdevelop; klar att tolka känd dokumentation och bygga några användbara sökindex från den. Klicka på knappen <guibutton ->Uppdatera index</guibutton -> till höger. Nu dyker dialogrutan <guilabel ->Skapar sökindex</guilabel -> upp, och visar förloppet när index skapas.</para> +<para>Klicka nu på knappen <guibutton>Uppdatera inställning</guibutton> för att försäkra dig om att de grundläggande sökverktygen är riktigt inställda. En dialogruta ska dyka upp, som säger <quote>Configuration file updated</quote>. Klicka på <guibutton>Ok</guibutton> för att stänga den.</para> + +<para>När det här är gjort, är &tdevelop; klar att tolka känd dokumentation och bygga några användbara sökindex från den. Klicka på knappen <guibutton>Uppdatera index</guibutton> till höger. Nu dyker dialogrutan <guilabel>Skapar sökindex</guilabel> upp, och visar förloppet när index skapas.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-indexgen.png" format="PNG"/> </imageobject> -<caption -><para ->&tdevelop; skapar sökindex för dokumentation.</para -></caption> +<caption><para>&tdevelop; skapar sökindex för dokumentation.</para></caption> </mediaobject> </screenshot> -<para ->Det tar en viss tid beroende på dokumentationens storlek och datorns prestanda. Men till sist ändras knappen <guibutton ->Cancel</guibutton -> till <guibutton ->Ok</guibutton ->. Klicka bara på knappen för att fortsätta.</para> +<para>Det tar en viss tid beroende på dokumentationens storlek och datorns prestanda. Men till sist ändras knappen <guibutton>Cancel</guibutton> till <guibutton>Ok</guibutton>. Klicka bara på knappen för att fortsätta.</para> <note> <itemizedlist> <listitem> -<para ->Det bör normalt fungera direkt, men i vissa fall kanske inte programmet <application ->htdig</application -> som &tdevelop; använder för att utföra fulltextsökning kanske inte är riktigt inställt. Titta i kapitlet <link linkend="setup-docu-textsearch" ->Inställning av index för textsökning</link -> för mer hjälp i detta fall.</para> +<para>Det bör normalt fungera direkt, men i vissa fall kanske inte programmet <application>htdig</application> som &tdevelop; använder för att utföra fulltextsökning kanske inte är riktigt inställt. Titta i kapitlet <link linkend="setup-docu-textsearch">Inställning av index för textsökning</link> för mer hjälp i detta fall.</para> </listitem> <listitem> -<para ->För att kunna slå upp specifik information om &kde;:s och &Qt;:s programmeringsgränssnitt, krävs att <emphasis ->KDELibs Apidocs</emphasis -> fanns när &tdevelop; installerades. Om du har problem med att skapa index eller utföra <link linkend="gettingstarted-edit-defs" ->exemplen med uppslagning av identifierare</link -> senare i kapitlet, försäkra dig om att dokumentationen finns och att &tdevelop; kan komma åt den. Se <link linkend="tdevelop-install" ->Installera KDevelop</link -> för mer information.</para> +<para>För att kunna slå upp specifik information om &kde;:s och &Qt;:s programmeringsgränssnitt, krävs att <emphasis>KDELibs Apidocs</emphasis> fanns när &tdevelop; installerades. Om du har problem med att skapa index eller utföra <link linkend="gettingstarted-edit-defs">exemplen med uppslagning av identifierare</link> senare i kapitlet, försäkra dig om att dokumentationen finns och att &tdevelop; kan komma åt den. Se <link linkend="tdevelop-install">Installera KDevelop</link> för mer information.</para> </listitem> </itemizedlist> </note> @@ -992,95 +528,46 @@ Keep lines at 80 characters length maximum. <sect1 id="gettingstarted-new"> -<title ->Starta ett nytt projekt</title> +<title>Starta ett nytt projekt</title> -<para ->Nästan alla program består av dussintals, hundratals eller till och med tusentals filer som måste hållas strukturerade och möjliga att underhålla. För att åstadkomma det, organiserar &tdevelop; utveckling av programvara i <emphasis ->projekt</emphasis ->. Därför är det första praktiska steget för att utvecklar programvara i &tdevelop; oftast att skapa ett nytt projekt.</para> +<para>Nästan alla program består av dussintals, hundratals eller till och med tusentals filer som måste hållas strukturerade och möjliga att underhålla. För att åstadkomma det, organiserar &tdevelop; utveckling av programvara i <emphasis>projekt</emphasis>. Därför är det första praktiska steget för att utvecklar programvara i &tdevelop; oftast att skapa ett nytt projekt.</para> -<para ->Tursamt nog är det ganska lätt att åstadkomma det. &tdevelop; tillhandahåller verktyget Programguide för att göra det. (Se kapitlet <link linkend="applicationwizard" ->Komma igång: Programguiden</link -> för mer information.)</para> +<para>Tursamt nog är det ganska lätt att åstadkomma det. &tdevelop; tillhandahåller verktyget Programguide för att göra det. (Se kapitlet <link linkend="applicationwizard">Komma igång: Programguiden</link> för mer information.)</para> -<para ->Nu skapar vi ett enkelt &kde;-programprojekt för att åskådliggöra hur enkelt det kan åstadkommas, och vilka filer och verktyg som &tdevelop; tillhandahåller. Därigenom tar vi en snabbtitt på:</para> +<para>Nu skapar vi ett enkelt &kde;-programprojekt för att åskådliggöra hur enkelt det kan åstadkommas, och vilka filer och verktyg som &tdevelop; tillhandahåller. Därigenom tar vi en snabbtitt på:</para> <simplelist> -<member -><link linkend="gettingstarted-new-setup" ->Hur man skapar ett nytt projekt med hjälp av programguiden.</link -></member> -<member -><link linkend="gettingstarted-new-files" ->Vilka filer som programguiden skapade från början.</link -></member> -<member -><link linkend="gettingstarted-new-toolviews" ->Vad som gäller för de ytterligare verktygsvyer som visas ihop med projektet?</link -></member> +<member><link linkend="gettingstarted-new-setup">Hur man skapar ett nytt projekt med hjälp av programguiden.</link></member> +<member><link linkend="gettingstarted-new-files">Vilka filer som programguiden skapade från början.</link></member> +<member><link linkend="gettingstarted-new-toolviews">Vad som gäller för de ytterligare verktygsvyer som visas ihop med projektet?</link></member> </simplelist> <sect2 id="gettingstarted-new-setup"> -<title ->Hur man skapar ett nytt projekt</title> +<title>Hur man skapar ett nytt projekt</title> -<para ->Låt oss skapa ett ganska enkelt &kde;-projekt, <quote ->Hello World</quote ->. Utför bara följande steg:</para> +<para>Låt oss skapa ett ganska enkelt &kde;-projekt, <quote>Hello World</quote>. Utför bara följande steg:</para> <procedure> <step> -<para ->Klicka på menyalternativet <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt...</guimenuitem -></menuchoice -> för att starta programguiden.</para> +<para>Klicka på menyalternativet <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt...</guimenuitem></menuchoice> för att starta programguiden.</para> </step> <step> -<para ->Dialogrutan <guilabel ->Skapa nytt projekt</guilabel -> dyker upp. I fönstret längst upp till vänster, <guilabel ->Alla projekt</guilabel ->, finns ett antal programspråk listade.</para> +<para>Dialogrutan <guilabel>Skapa nytt projekt</guilabel> dyker upp. I fönstret längst upp till vänster, <guilabel>Alla projekt</guilabel>, finns ett antal programspråk listade.</para> <substeps> <step> -<para ->Vi vill bygga ett vanligt &kde;-program i C++. Klicka därför på knappen <guilabel ->+</guilabel -> till vänster om <guilabel ->C++</guilabel -> för att visa innehållet.</para> +<para>Vi vill bygga ett vanligt &kde;-program i C++. Klicka därför på knappen <guilabel>+</guilabel> till vänster om <guilabel>C++</guilabel> för att visa innehållet.</para> </step> <step> -<para ->En uppsättning möjliga programtyper visas. Vi ska bygga ett &kde;-program, och visa därför nästa undernivå via knappen <guilabel ->+</guilabel -> intill <guilabel ->KDE</guilabel ->.</para> +<para>En uppsättning möjliga programtyper visas. Vi ska bygga ett &kde;-program, och visa därför nästa undernivå via knappen <guilabel>+</guilabel> intill <guilabel>KDE</guilabel>.</para> </step> <step> -<para ->Nu erbjuds du ett antal möjliga <emphasis ->projektmallar</emphasis ->. Gå till början av listan och klicka på <guilabel ->Enkelt KDE-program</guilabel ->.</para> +<para>Nu erbjuds du ett antal möjliga <emphasis>projektmallar</emphasis>. Gå till början av listan och klicka på <guilabel>Enkelt KDE-program</guilabel>.</para> -<para ->En förhandsgranskning och kort beskrivning av programmet som projektmallen kommer att skapa dyker upp i de två fönstren till höger.</para> +<para>En förhandsgranskning och kort beskrivning av programmet som projektmallen kommer att skapa dyker upp i de två fönstren till höger.</para> <screenshot> <mediaobject> @@ -1088,67 +575,31 @@ Keep lines at 80 characters length maximum. <imagedata fileref="tutorial-new-project.png" format="PNG"/> </imageobject> <caption> -<para ->Välja projektmallen <quote ->Hello World</quote -></para> +<para>Välja projektmallen <quote>Hello World</quote></para> </caption> -</mediaobject -></screenshot> +</mediaobject></screenshot> </step> <step> -<para ->Vårt program behöver ett namn. Hitta rutan <guilabel ->Egenskaper</guilabel -> längst ner i dialogrutan och skriv in ett lämpligt namn i inmatningsfältet <guilabel ->Programnamn</guilabel ->.</para> - -<para ->Vi använder <quote ->Hello</quote -> i vårt exempel, men du kan använda vad du vill, under förutsättning att namnet bara består av bokstäver, siffror och understreck. Du kommer att märka att programguiden inte accepterar några andra tecken.</para> +<para>Vårt program behöver ett namn. Hitta rutan <guilabel>Egenskaper</guilabel> längst ner i dialogrutan och skriv in ett lämpligt namn i inmatningsfältet <guilabel>Programnamn</guilabel>.</para> + +<para>Vi använder <quote>Hello</quote> i vårt exempel, men du kan använda vad du vill, under förutsättning att namnet bara består av bokstäver, siffror och understreck. Du kommer att märka att programguiden inte accepterar några andra tecken.</para> </step> <step> -<para ->Försäkra dig om att textrutan <guilabel ->Plats</guilabel -> under inmatningsfältet visar namnet på huvudkatalogen för projekt, som vi ställde in i kapitlet <link linkend="gettingstarted-configure" ->Några inställningar</link -> ovan. Om den inte gör det, skriv in ett lämpligt katalognamn eller välj ett i kataloglistan som tillhandahålls av knappen med katalogikonen till höger.</para> - -<para ->Om allt gick bra, visar raden <guilabel ->Slutgiltig plats</guilabel -> katalogsökvägen som det nya projektet kommer att använda. Om suffixet <quote ->(ogiltig)</quote -> är tillagt, prova med ett annat namn på projektet och/eller försäkra dig om att huvudkatalogen för projekt i textrutan <guilabel ->Plats</guilabel -> verkligen finns och är skrivbar.</para> +<para>Försäkra dig om att textrutan <guilabel>Plats</guilabel> under inmatningsfältet visar namnet på huvudkatalogen för projekt, som vi ställde in i kapitlet <link linkend="gettingstarted-configure">Några inställningar</link> ovan. Om den inte gör det, skriv in ett lämpligt katalognamn eller välj ett i kataloglistan som tillhandahålls av knappen med katalogikonen till höger.</para> + +<para>Om allt gick bra, visar raden <guilabel>Slutgiltig plats</guilabel> katalogsökvägen som det nya projektet kommer att använda. Om suffixet <quote>(ogiltig)</quote> är tillagt, prova med ett annat namn på projektet och/eller försäkra dig om att huvudkatalogen för projekt i textrutan <guilabel>Plats</guilabel> verkligen finns och är skrivbar.</para> </step> <step> -<para ->När allting väl är riktigt, aktiveras knappen <guibutton ->Nästa</guibutton -> på raden längst ner i dialogrutan. Klicka på den för att fortsätta.</para> +<para>När allting väl är riktigt, aktiveras knappen <guibutton>Nästa</guibutton> på raden längst ner i dialogrutan. Klicka på den för att fortsätta.</para> </step> </substeps> </step> <step> -<para ->Det för dig till dialogsidan <guilabel ->Projektinställningar</guilabel ->. Försäkra dig om att textrutorna <guilabel ->Upphovsman</guilabel -> och <guilabel ->E-post</guilabel -> är riktigt ifyllda. Oftast är de förinställda till de allmänna användarinställningarna i &kde; som anges i dialogrutan <guilabel ->Lösenord och användarkonto</guilabel -> i &kde;:s inställningscentral. Om de inte är det, ändra dem till värden som du föredrar för programmet.</para> +<para>Det för dig till dialogsidan <guilabel>Projektinställningar</guilabel>. Försäkra dig om att textrutorna <guilabel>Upphovsman</guilabel> och <guilabel>E-post</guilabel> är riktigt ifyllda. Oftast är de förinställda till de allmänna användarinställningarna i &kde; som anges i dialogrutan <guilabel>Lösenord och användarkonto</guilabel> i &kde;:s inställningscentral. Om de inte är det, ändra dem till värden som du föredrar för programmet.</para> <screenshot id="gettingstarted-new-setup-options"> <mediaobject> @@ -1156,62 +607,32 @@ Keep lines at 80 characters length maximum. <imagedata fileref="tutorial-hello-options.png" format="PNG"/> </imageobject> <caption> -<para ->Ange ditt namn och (valfritt) e-postaddress.</para> +<para>Ange ditt namn och (valfritt) e-postaddress.</para> </caption> </mediaobject> </screenshot> <note> -<para ->Du måste åtminstone ange namn för <guilabel ->Upphovsman</guilabel ->. Det krävs för inställning av programmets filer.</para> +<para>Du måste åtminstone ange namn för <guilabel>Upphovsman</guilabel>. Det krävs för inställning av programmets filer.</para> </note> -<para ->Om allt är riktigt, är knappen <guibutton ->Nästa</guibutton -> aktiverad. Klicka på den för att gå vidare igen.</para> +<para>Om allt är riktigt, är knappen <guibutton>Nästa</guibutton> aktiverad. Klicka på den för att gå vidare igen.</para> </step> <step> -<para ->Följande dialogsidor, <guilabel ->Versionskontrollsystem</guilabel ->, <guilabel ->Mall för .h-filer</guilabel -> och <guilabel ->Mall för .cpp-filer</guilabel ->, är inte intressanta för tillfället. Hoppa över dem genom att klicka på knappen <guibutton ->Nästa</guibutton ->, och till sist knappen <guibutton ->Slutför</guibutton ->.</para> +<para>Följande dialogsidor, <guilabel>Versionskontrollsystem</guilabel>, <guilabel>Mall för .h-filer</guilabel> och <guilabel>Mall för .cpp-filer</guilabel>, är inte intressanta för tillfället. Hoppa över dem genom att klicka på knappen <guibutton>Nästa</guibutton>, och till sist knappen <guibutton>Slutför</guibutton>.</para> </step> </procedure> -<para ->Det var allt! Programguiden tar över och skapar en uppsättning ursprungliga filer i katalogen <guilabel ->Slutgiltig plats</guilabel -> du tillhandahöll i steg 2c ovan.</para> - -<para ->När fasen att skapa filer är klar, öppnar &tdevelop; ett redigeringsfönster med implementeringsfilen för <emphasis ->programmets huvudfönster</emphasis -> (som är <filename ->hello.cpp</filename -> i vårt exempel), så att du enkelt kan gå vidare.</para> +<para>Det var allt! Programguiden tar över och skapar en uppsättning ursprungliga filer i katalogen <guilabel>Slutgiltig plats</guilabel> du tillhandahöll i steg 2c ovan.</para> + +<para>När fasen att skapa filer är klar, öppnar &tdevelop; ett redigeringsfönster med implementeringsfilen för <emphasis>programmets huvudfönster</emphasis> (som är <filename>hello.cpp</filename> i vårt exempel), så att du enkelt kan gå vidare.</para> </sect2> <sect2 id="gettingstarted-new-files"> -<title ->Ursprungliga projektfiler</title> +<title>Ursprungliga projektfiler</title> -<para ->Även om vårt exempelprojekt Hello är ganska enkelt, skapade programguiden en hel mängd källkod och projekthanteringsfiler. Det enklaste sättet att lista dem är att öppna verktygsvyn <guilabel ->Filträd</guilabel -> längst ner till vänster. Då visas en fillista som liknar den nedan.</para> +<para>Även om vårt exempelprojekt Hello är ganska enkelt, skapade programguiden en hel mängd källkod och projekthanteringsfiler. Det enklaste sättet att lista dem är att öppna verktygsvyn <guilabel>Filträd</guilabel> längst ner till vänster. Då visas en fillista som liknar den nedan.</para> <screenshot> <mediaobject> @@ -1219,76 +640,40 @@ Keep lines at 80 characters length maximum. <imagedata fileref="tutorial-hello-new.png" format="PNG"/> </imageobject> <caption> -<para ->Ursprungliga filer i projektet <quote ->Hello World</quote -></para> +<para>Ursprungliga filer i projektet <quote>Hello World</quote></para> </caption> </mediaobject> </screenshot> -<para ->För att förevisa de huvudsakliga filerna som programguiden skapade, visar vi de flesta kataloggrenarna i verktygsvyn <guilabel ->Filträd</guilabel -> till vänster. Klicka bara på grenarnas namn i trädet för att se själv.</para> +<para>För att förevisa de huvudsakliga filerna som programguiden skapade, visar vi de flesta kataloggrenarna i verktygsvyn <guilabel>Filträd</guilabel> till vänster. Klicka bara på grenarnas namn i trädet för att se själv.</para> -<para ->Dessutom, enbart i demonstrationssyfte, visar vi också de flesta grenarna i verktygsvyn <guilabel ->Hantering av automake</guilabel -> till höger, där några av projektets källfiler också listas.</para> +<para>Dessutom, enbart i demonstrationssyfte, visar vi också de flesta grenarna i verktygsvyn <guilabel>Hantering av automake</guilabel> till höger, där några av projektets källfiler också listas.</para> <sect3 id="gettingstarted-new-files-copyright"> -<title ->Anmärkningar om copyright</title> +<title>Anmärkningar om copyright</title> -<para ->Alla program som uppfyller kraven enligt &GNU; måste ha en copyright. Det finns två nivåer där copyright krävs, <emphasis ->i enskilda källkodsfiler</emphasis -> och <emphasis ->vid programkörning</emphasis ->. Programguiden har redan lagt till lämplig copyright- och licensinformation i projektfiler.</para> +<para>Alla program som uppfyller kraven enligt &GNU; måste ha en copyright. Det finns två nivåer där copyright krävs, <emphasis>i enskilda källkodsfiler</emphasis> och <emphasis>vid programkörning</emphasis>. Programguiden har redan lagt till lämplig copyright- och licensinformation i projektfiler.</para> <formalpara> -<title ->Copyright på källkodsnivå</title> -<para ->Kommer du ihåg dialogsidan <link linkend="gettingstarted-new-setup-options" -> <guilabel ->Projektinställningar</guilabel -></link -> när det nya projektet skapades? Där var du tvungen att ange ditt (utvecklarens) namn och en valfri e-postadress. Titta nu längst upp i redigeringsfönstret <guilabel ->hello.cpp</guilabel -> som för närvarande visas på arbetsytan. Programguiden skrev in denna text längst upp i licenshuvudet för varje källkodsfil som skapades.</para> +<title>Copyright på källkodsnivå</title> +<para>Kommer du ihåg dialogsidan <link linkend="gettingstarted-new-setup-options"> <guilabel>Projektinställningar</guilabel></link> när det nya projektet skapades? Där var du tvungen att ange ditt (utvecklarens) namn och en valfri e-postadress. Titta nu längst upp i redigeringsfönstret <guilabel>hello.cpp</guilabel> som för närvarande visas på arbetsytan. Programguiden skrev in denna text längst upp i licenshuvudet för varje källkodsfil som skapades.</para> </formalpara> -<programlisting ->/*************************************************************************** +<programlisting>/*************************************************************************** * Copyright (C) 2006 by Ditt Namn * * ditt.namn@adress.se * * * * This program is free software; you can redistribute it and/or modify * </programlisting> -<para ->Du hittar exakt samma texthuvuden i varje källkodsfil som skapas inne i &tdevelop; (under förutsättning att du använder lämpliga inbyggda verktyg för att skapa filer). &tdevelop; kommer ihåg inställningarna i några mallfiler som du hittar i katalogen <filename class="directory" ->templates</filename ->.</para> +<para>Du hittar exakt samma texthuvuden i varje källkodsfil som skapas inne i &tdevelop; (under förutsättning att du använder lämpliga inbyggda verktyg för att skapa filer). &tdevelop; kommer ihåg inställningarna i några mallfiler som du hittar i katalogen <filename class="directory">templates</filename>.</para> <formalpara> -<title ->Copyright när programmet körs</title> -<para ->När väl &kde;-programmet kör, kan användaren visa data <guilabel ->Om</guilabel -> programmet, oftast via menyn <guimenu ->Hjälp</guimenu ->. Programguiden tog också hand om det. Om du tar en titt i filen <filename ->main.cpp</filename -> hittar du en post som liknar den nedan.</para> +<title>Copyright när programmet körs</title> +<para>När väl &kde;-programmet kör, kan användaren visa data <guilabel>Om</guilabel> programmet, oftast via menyn <guimenu>Hjälp</guimenu>. Programguiden tog också hand om det. Om du tar en titt i filen <filename>main.cpp</filename> hittar du en post som liknar den nedan.</para> </formalpara> -<programlisting ->int main(int argc, char **argv) +<programlisting>int main(int argc, char **argv) { TDEAboutData about("hello", I18N_NOOP("Hello"), version, description, TDEAboutData::License_GPL, "(C) 2006 Ditt Namn", 0, 0, @@ -1296,234 +681,105 @@ Keep lines at 80 characters length maximum. about.addAuthor( "Ditt Namn", 0, "ditt.namn@adress.se" ); </programlisting> -<para ->Det lägger till huvudutvecklarens namn (<quote ->Ditt Namn</quote -> i vårt fall) och e-postadress på copyrightsidan <guilabel ->Om</guilabel -> när den visas, och dessutom ange namnet och adressen på sidan <guilabel ->Upphovsmän</guilabel ->.</para> +<para>Det lägger till huvudutvecklarens namn (<quote>Ditt Namn</quote> i vårt fall) och e-postadress på copyrightsidan <guilabel>Om</guilabel> när den visas, och dessutom ange namnet och adressen på sidan <guilabel>Upphovsmän</guilabel>.</para> <important> -<para ->Så snart du gör betydande ändringar i ett befintligt projekt, försäkra dig om att skriva in ditt namn och e-postadress i copyrightmeddelandet för varje fil du ändrar, och även i copyrightmeddelandet som visas när programmet körs. Var inte tveksam. Du hjälper samfundet för öppen källkod betydligt om du gör det.</para> +<para>Så snart du gör betydande ändringar i ett befintligt projekt, försäkra dig om att skriva in ditt namn och e-postadress i copyrightmeddelandet för varje fil du ändrar, och även i copyrightmeddelandet som visas när programmet körs. Var inte tveksam. Du hjälper samfundet för öppen källkod betydligt om du gör det.</para> </important> </sect3> <sect3 id="gettingstarted-new-files-source"> -<title ->Ursprungliga källkodsfiler</title> - -<para ->Programguiden placerade källkodsfiler i underkatalogen <filename class="directory" ->src</filename -> i projektets katalog. Du hittar filerna <filename ->main.cpp</filename ->, <filename ->hello.h</filename -> och <filename ->hello.cpp</filename -> där, som du kanske förväntade dig.</para> - -<para ->Det finns ytterligare några filer som du ofta hittar i ett typiskt &kde;-program, närmare bestämt:</para> +<title>Ursprungliga källkodsfiler</title> + +<para>Programguiden placerade källkodsfiler i underkatalogen <filename class="directory">src</filename> i projektets katalog. Du hittar filerna <filename>main.cpp</filename>, <filename>hello.h</filename> och <filename>hello.cpp</filename> där, som du kanske förväntade dig.</para> + +<para>Det finns ytterligare några filer som du ofta hittar i ett typiskt &kde;-program, närmare bestämt:</para> <itemizedlist> <listitem> -<para -><filename ->hello.desktop</filename -> innehåller en del metadata som &tdevelop; använder för att hantera och starta programmet.</para> +<para><filename>hello.desktop</filename> innehåller en del metadata som &tdevelop; använder för att hantera och starta programmet.</para> </listitem> <listitem> -<para -><filename ->hi16-app-hello.png</filename -> och <filename ->hi32-app-hello.png</filename -> innehåller några ursprungliga standardikoner, som &tdevelop; använder för att visa programmet.</para> +<para><filename>hi16-app-hello.png</filename> och <filename>hi32-app-hello.png</filename> innehåller några ursprungliga standardikoner, som &tdevelop; använder för att visa programmet.</para> </listitem> <listitem> -<para ->Till sist, innehåller <filename ->helloui.rc</filename -> en beskrivning av programmets användargränssnitt, för närvarande menyerna som programmet tillhandahåller.</para> +<para>Till sist, innehåller <filename>helloui.rc</filename> en beskrivning av programmets användargränssnitt, för närvarande menyerna som programmet tillhandahåller.</para> </listitem> </itemizedlist> </sect3> <sect3 id="gettingstarted-new-files-doc"> -<title ->Ursprunglig programdokumentation</title> - -<para ->I projektets underkatalog <filename class="directory" ->doc/en</filename -> hittar du filen <filename ->index.docbook</filename ->. Det är en standardmall som kan vara utgångspunkt för att börja skriva lämplig användardokumentation.</para> +<title>Ursprunglig programdokumentation</title> + +<para>I projektets underkatalog <filename class="directory">doc/en</filename> hittar du filen <filename>index.docbook</filename>. Det är en standardmall som kan vara utgångspunkt för att börja skriva lämplig användardokumentation.</para> </sect3> <sect3 id="gettingstarted-new-files-project"> -<title ->Projektfiler och andra filer</title> +<title>Projektfiler och andra filer</title> -<para ->Du har säkert märkt att filerna vi hittills har introducerat anges med fetstil i verktygsvyn <guilabel ->Filträd</guilabel ->, medan de flesta andra filer inte gör det. Det illustrerar den väsentligt annorlunda användning dessa filer har. Innehållet i filer som anges med fetstil påverkar programmet direkt. Källkodsfiler skapar koden som ska köras, andra filer tillhandahåller nödvändig data eller dokumentation. Filerna måste hanteras och behandlas av projektet under byggetapperna, och kallas därför <emphasis ->projektfiler</emphasis ->.</para> +<para>Du har säkert märkt att filerna vi hittills har introducerat anges med fetstil i verktygsvyn <guilabel>Filträd</guilabel>, medan de flesta andra filer inte gör det. Det illustrerar den väsentligt annorlunda användning dessa filer har. Innehållet i filer som anges med fetstil påverkar programmet direkt. Källkodsfiler skapar koden som ska köras, andra filer tillhandahåller nödvändig data eller dokumentation. Filerna måste hanteras och behandlas av projektet under byggetapperna, och kallas därför <emphasis>projektfiler</emphasis>.</para> -<para ->Om du tar en titt på det nedre fönstret i <guilabel ->Hantering av automake</guilabel -> till höger på arbetsytan ser du också alla projektfiler listade. Verktyget Hantering av automake använder denna kunskap för att ta hand om bygghantering, som vi inom kort kommer att se.</para> +<para>Om du tar en titt på det nedre fönstret i <guilabel>Hantering av automake</guilabel> till höger på arbetsytan ser du också alla projektfiler listade. Verktyget Hantering av automake använder denna kunskap för att ta hand om bygghantering, som vi inom kort kommer att se.</para> -<para ->De andra filerna utan fetstil är mer av stödnatur. De tillhör flera särpräglade klasser, enligt följande:</para> +<para>De andra filerna utan fetstil är mer av stödnatur. De tillhör flera särpräglade klasser, enligt följande:</para> <itemizedlist> <listitem> <formalpara> -<title ->Bygghantering av projekt</title> -<para ->Dessa filer styr processer för kompilering, installation, skapade av dokumentation, etc. Om projektet använder &GNU; <application ->autotools</application ->, som vårt exempel, hittar du filen <filename ->Makefile.am</filename -> i varje projektkatalog. De är en sorts grundläggande kärnfiler för att bygga projektet, som innehåller styrkommandon, och som behandlas tillsammans med diverse <filename ->configure</filename ->-filer under byggetapperna. En sådan byggprocess skapar slutligen <filename ->Makefile</filename -> i varje katalog. Från dessa bygger verktyget <application ->make</application -> slutligen programmets binärfiler.</para> +<title>Bygghantering av projekt</title> +<para>Dessa filer styr processer för kompilering, installation, skapade av dokumentation, etc. Om projektet använder &GNU; <application>autotools</application>, som vårt exempel, hittar du filen <filename>Makefile.am</filename> i varje projektkatalog. De är en sorts grundläggande kärnfiler för att bygga projektet, som innehåller styrkommandon, och som behandlas tillsammans med diverse <filename>configure</filename>-filer under byggetapperna. En sådan byggprocess skapar slutligen <filename>Makefile</filename> i varje katalog. Från dessa bygger verktyget <application>make</application> slutligen programmets binärfiler.</para> </formalpara> -<para -><filename ->Makefile.am</filename ->-filerna måste underhållas genom hela utvecklingsprocessen. Tursamt nog, befriar &tdevelop; dig från det mesta av denna börda med verkyget Hantering av automake, som i grunden är ett grafiskt gränssnitt för att underhålla innehållet i <filename ->Makefile.am</filename ->-filerna.</para> - -<para ->Andra filer som styr projektets byggprocess som för närvarande listas är <filename ->configure.in.in</filename -> och <filename ->subdirs</filename -> i projektets rotkatalog. De behandlas av några av filerna i den &kde;-specifika administrationskatalogen <filename class="directory" ->admin</filename -> för att skapa fler filer av typen <filename ->configure</filename -> och <filename ->Makefile</filename ->, och slutligen programmets binärfiler.</para> +<para><filename>Makefile.am</filename>-filerna måste underhållas genom hela utvecklingsprocessen. Tursamt nog, befriar &tdevelop; dig från det mesta av denna börda med verkyget Hantering av automake, som i grunden är ett grafiskt gränssnitt för att underhålla innehållet i <filename>Makefile.am</filename>-filerna.</para> + +<para>Andra filer som styr projektets byggprocess som för närvarande listas är <filename>configure.in.in</filename> och <filename>subdirs</filename> i projektets rotkatalog. De behandlas av några av filerna i den &kde;-specifika administrationskatalogen <filename class="directory">admin</filename> för att skapa fler filer av typen <filename>configure</filename> och <filename>Makefile</filename>, och slutligen programmets binärfiler.</para> </listitem> <listitem> <formalpara> -<title ->Administrationsfiler för &tdevelop;</title> -<para ->&tdevelop; behöver viss egen hanterings- och administrationsdata. Den är placerad i projektets rotkatalog, i vårt exempel <filename ->hello.tdevelop</filename ->, <filename ->hello.tdevelop.pcs</filename ->, och <filename ->hello.kdevses</filename ->.</para> +<title>Administrationsfiler för &tdevelop;</title> +<para>&tdevelop; behöver viss egen hanterings- och administrationsdata. Den är placerad i projektets rotkatalog, i vårt exempel <filename>hello.tdevelop</filename>, <filename>hello.tdevelop.pcs</filename>, och <filename>hello.kdevses</filename>.</para> </formalpara> -<para ->Filen <filename ->xxx.tdevelop</filename -> (där <quote ->xxx</quote -> anger projektnamnet) är särskilt viktig. Den är <emphasis ->huvudsaklig projektfil</emphasis -> i KDevelop 3, och behövs om du senare vill ladda projektet i den integrerade utvecklingsmiljön.</para> +<para>Filen <filename>xxx.tdevelop</filename> (där <quote>xxx</quote> anger projektnamnet) är särskilt viktig. Den är <emphasis>huvudsaklig projektfil</emphasis> i KDevelop 3, och behövs om du senare vill ladda projektet i den integrerade utvecklingsmiljön.</para> <warning> -<para ->Försök aldrig ändra, byta namn eller ta bort någon av administrationsfilerna i &tdevelop; själv. Den integrerade utvecklingsmiljön fungerar sannolikt inte på rätt sätt för ditt projekt efteråt.</para> +<para>Försök aldrig ändra, byta namn eller ta bort någon av administrationsfilerna i &tdevelop; själv. Den integrerade utvecklingsmiljön fungerar sannolikt inte på rätt sätt för ditt projekt efteråt.</para> </warning> </listitem> <listitem> <formalpara> -<title ->Filer för projektbeskrivning enligt GNU</title> -<para ->Några filer i projektets rotkatalog krävs för alla program som uppfyller kraven enligt &GNU;. De är <filename ->AUTHORS</filename ->, <filename ->ChangeLog</filename ->, <filename ->INSTALL</filename ->, <filename ->COPYING</filename -> (som innehåller GNU GENERAL PUBLIC LICENSE), <filename ->INSTALL</filename ->, <filename ->NEWS</filename ->, <filename ->README</filename -> och <filename ->TODO</filename ->.</para> +<title>Filer för projektbeskrivning enligt GNU</title> +<para>Några filer i projektets rotkatalog krävs för alla program som uppfyller kraven enligt &GNU;. De är <filename>AUTHORS</filename>, <filename>ChangeLog</filename>, <filename>INSTALL</filename>, <filename>COPYING</filename> (som innehåller GNU GENERAL PUBLIC LICENSE), <filename>INSTALL</filename>, <filename>NEWS</filename>, <filename>README</filename> och <filename>TODO</filename>.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Andra filer</title> -<para ->Några andra filer som ännu inte nämnts är:</para> +<title>Andra filer</title> +<para>Några andra filer som ännu inte nämnts är:</para> </formalpara> <itemizedlist> <listitem> -<para -><filename ->Doxyfile</filename -> styr hur den projektspecifika dokumentationen av det interna programmeringsgränssnittet skapas.</para> +<para><filename>Doxyfile</filename> styr hur den projektspecifika dokumentationen av det interna programmeringsgränssnittet skapas.</para> </listitem> <listitem> -<para ->Katalogen <filename class="directory" ->templates</filename -> innehåller filmallar som den integrerade utvecklingsmiljön använder som grund när nya källkodsfiler skapas. Du kan redigera mallarna när som helst. Det nya innehållet syns i nästa källkodsfil av motsvarande typ som du skapar.</para> - -<para ->Du kanske vill justera asteriskerna till höger på raderna med copyright som programguiden infogade i mallfilerna för <filename ->cpp</filename -> och <filename ->h</filename ->, så att källkodsfilerna som skapas med dem ser mindre aviga ut.</para> +<para>Katalogen <filename class="directory">templates</filename> innehåller filmallar som den integrerade utvecklingsmiljön använder som grund när nya källkodsfiler skapas. Du kan redigera mallarna när som helst. Det nya innehållet syns i nästa källkodsfil av motsvarande typ som du skapar.</para> + +<para>Du kanske vill justera asteriskerna till höger på raderna med copyright som programguiden infogade i mallfilerna för <filename>cpp</filename> och <filename>h</filename>, så att källkodsfilerna som skapas med dem ser mindre aviga ut.</para> </listitem> <listitem> -<para ->Katalogen <filename class="directory" ->po</filename -> används i översättningssyfte. Den är väsentligen en del av projektfilerna (innehåller <filename ->Makefile.am</filename ->), men kommer i huvudsak att användas vid behandling av översättningar. Den är dock inte så intressant för programutvecklaren.</para> +<para>Katalogen <filename class="directory">po</filename> används i översättningssyfte. Den är väsentligen en del av projektfilerna (innehåller <filename>Makefile.am</filename>), men kommer i huvudsak att användas vid behandling av översättningar. Den är dock inte så intressant för programutvecklaren.</para> </listitem> <listitem> -<para ->Till sist krävs katalogen <filename class="directory" ->admin</filename -> särskilt av &kde;-baserade program. Den tillhandahåller en mängd filer som är nödvändiga för att underhålla programmets källkod och binärfiler så att de kan integreras på ett riktigt sätt i &kde;-miljön.</para> +<para>Till sist krävs katalogen <filename class="directory">admin</filename> särskilt av &kde;-baserade program. Den tillhandahåller en mängd filer som är nödvändiga för att underhålla programmets källkod och binärfiler så att de kan integreras på ett riktigt sätt i &kde;-miljön.</para> </listitem> </itemizedlist> @@ -1533,156 +789,102 @@ Keep lines at 80 characters length maximum. </sect2> <sect2 id="gettingstarted-new-toolviews"> -<title ->Ytterligare verktygsvyer</title> +<title>Ytterligare verktygsvyer</title> -<para ->Som du märkte visades flera ytterligare verktygsvyer så fort programguiden var klar med det nya projektet. De är bara vettiga under utveckling av projektet, och erbjuder i korthet följande funktioner:</para> +<para>Som du märkte visades flera ytterligare verktygsvyer så fort programguiden var klar med det nya projektet. De är bara vettiga under utveckling av projektet, och erbjuder i korthet följande funktioner:</para> <note> -<para ->Vilka verktygsvyer som verkligen syns beror på insticksprogrammen som för närvarande är laddade i &tdevelop;. Det finns sätt att styra det. Se kapitlet <link linkend="setup-plugins" ->Insticksverktyg</link -> för instruktioner.</para> +<para>Vilka verktygsvyer som verkligen syns beror på insticksprogrammen som för närvarande är laddade i &tdevelop;. Det finns sätt att styra det. Se kapitlet <link linkend="setup-plugins">Insticksverktyg</link> för instruktioner.</para> </note> <sect3 id="gettingstarted-new-toolviews-left"> -<title ->Navigerings- och urvalsverktyg (vänster sida)</title> +<title>Navigerings- och urvalsverktyg (vänster sida)</title> <itemizedlist> <listitem> <formalpara> -<title ->Bokmärken</title> -<para ->Du kan markera vilken rad som helst i en textfil för att snabbt komma tillbaka till positionen varifrån som helst. &tdevelop; kommer ihåg alla sådana <emphasis ->bokmärken</emphasis ->, även om du senare stänger redigeringsfönstret. Verktygsvyn <guilabel ->Bokmärken</guilabel -> listar alla bokmärken enligt filnamn och radnummer. Du behöver bara klicka på en sådan post för att öppna motsvarande redigeringsfönster och placera markören på angiven rad.</para> +<title>Bokmärken</title> +<para>Du kan markera vilken rad som helst i en textfil för att snabbt komma tillbaka till positionen varifrån som helst. &tdevelop; kommer ihåg alla sådana <emphasis>bokmärken</emphasis>, även om du senare stänger redigeringsfönstret. Verktygsvyn <guilabel>Bokmärken</guilabel> listar alla bokmärken enligt filnamn och radnummer. Du behöver bara klicka på en sådan post för att öppna motsvarande redigeringsfönster och placera markören på angiven rad.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Klasser</title> -<para ->Listar klasser, metoder, etc. kända i projektet. Att klicka på en post öppnar lämplig deklarationsfil eller källkodsfil i ett redigeringsfönster och placerar markören på respektive deklaration eller definition.</para> +<title>Klasser</title> +<para>Listar klasser, metoder, etc. kända i projektet. Att klicka på en post öppnar lämplig deklarationsfil eller källkodsfil i ett redigeringsfönster och placerar markören på respektive deklaration eller definition.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Filgrupper</title> -<para ->Sorterar projektets filer i diverse grupper enligt användningsområde, t.ex. Sources (källkod), User Interface (användargränssnitt), Icons (ikoner), Translations (översättningar) och Others (övriga).</para> +<title>Filgrupper</title> +<para>Sorterar projektets filer i diverse grupper enligt användningsområde, t.ex. Sources (källkod), User Interface (användargränssnitt), Icons (ikoner), Translations (översättningar) och Others (övriga).</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Variabler</title> -<para ->Används av avlusningsverktyget för att visa, utvärdera och bevaka variabler när avlusaren körs.</para> +<title>Variabler</title> +<para>Används av avlusningsverktyget för att visa, utvärdera och bevaka variabler när avlusaren körs.</para> </formalpara> </listitem> </itemizedlist> </sect3> <sect3 id="gettingstarted-new-toolviews-bottom"> -<title ->Meddelanden (längst ner)</title> +<title>Meddelanden (längst ner)</title> <itemizedlist> <listitem> <formalpara> -<title ->Valgrind</title> -<para -><application ->Valgrind</application -> är ett analysverktyg för program som körs. Verktygsvyn listar resultatet av en sådan analyskörning. Det används till exempel för att hitta minnesläckor.</para> +<title>Valgrind</title> +<para><application>Valgrind</application> är ett analysverktyg för program som körs. Verktygsvyn listar resultatet av en sådan analyskörning. Det används till exempel för att hitta minnesläckor.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Säkerhetsproblem</title> -<para ->Det finns ett insticksverktyg i &tdevelop; för <guilabel ->säkerhetskontroll</guilabel ->. Det analyserar källkodsfilen som för närvarande redigeras, för att hitta flera vanliga säkerhetsproblem som kan uppstå i programmet och underrättar användaren om dem i verktygsvyns fönster.</para> +<title>Säkerhetsproblem</title> +<para>Det finns ett insticksverktyg i &tdevelop; för <guilabel>säkerhetskontroll</guilabel>. Det analyserar källkodsfilen som för närvarande redigeras, för att hitta flera vanliga säkerhetsproblem som kan uppstå i programmet och underrättar användaren om dem i verktygsvyns fönster.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Brytpunkter</title> -<para ->Verktygsvyn möjliggör att explicit sätta, ta bort och hantera brytpunkter för avlusaren i programmets källkodsfiler. Den används i samband med avlusning.</para> +<title>Brytpunkter</title> +<para>Verktygsvyn möjliggör att explicit sätta, ta bort och hantera brytpunkter för avlusaren i programmets källkodsfiler. Den används i samband med avlusning.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Ctags</title> -<para ->Gör det möjligt att skapa databaser med index av identifierare med det populära programmet <application ->Ctags</application ->. Databasen med taggar kan därefter användas från verktygsvyns fönster för att slå upp alla identifierare som behövs i projektets källkod. Genom att klicka på en rad med ett sådant funnet objekt, öppnar ett redigeringsfönster och placerar markören på motsvarande identifierar i fönstret.</para> +<title>Ctags</title> +<para>Gör det möjligt att skapa databaser med index av identifierare med det populära programmet <application>Ctags</application>. Databasen med taggar kan därefter användas från verktygsvyns fönster för att slå upp alla identifierare som behövs i projektets källkod. Genom att klicka på en rad med ett sådant funnet objekt, öppnar ett redigeringsfönster och placerar markören på motsvarande identifierar i fönstret.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Problem</title> -<para ->&tdevelop; håller reda på vanliga programmeringsproblem i källkodsfilen som för närvarande redigeras, och underrättar användaren om dem i verktygsvyns fönster.</para> +<title>Problem</title> +<para>&tdevelop; håller reda på vanliga programmeringsproblem i källkodsfilen som för närvarande redigeras, och underrättar användaren om dem i verktygsvyns fönster.</para> </formalpara> </listitem> </itemizedlist> </sect3> <sect3 id="gettingstarted-new-toolviews-right"> -<title ->Källkodshantering (höger sida)</title> +<title>Källkodshantering (höger sida)</title> <itemizedlist> <listitem> <formalpara> -<title ->Hantering av automake</title> -<para ->Verktyget Hantering av automake är egentligen ett grafiskt gränssnitt för att hantera innehållet i <filename ->Makefile.am</filename ->-filer i varje projektkatalog. Verktygsvyn använder två fönster för att styra arbetet. Det övre fönstret speglar en del av projektets underkataloger, närmare bestämt de som explicit innehåller <emphasis ->projektfiler</emphasis ->. Varje underkatalog av denna typ måste innehålla en <filename ->Makefile.am</filename ->-fil, och kallas ett <emphasis ->delprojekt</emphasis -> i samband med Hantering av automake.</para> +<title>Hantering av automake</title> +<para>Verktyget Hantering av automake är egentligen ett grafiskt gränssnitt för att hantera innehållet i <filename>Makefile.am</filename>-filer i varje projektkatalog. Verktygsvyn använder två fönster för att styra arbetet. Det övre fönstret speglar en del av projektets underkataloger, närmare bestämt de som explicit innehåller <emphasis>projektfiler</emphasis>. Varje underkatalog av denna typ måste innehålla en <filename>Makefile.am</filename>-fil, och kallas ett <emphasis>delprojekt</emphasis> i samband med Hantering av automake.</para> </formalpara> -<para ->Genom att klicka på ett delprojekt öppnas en lämplig vy av delprojektets projektfiler i det undre fönstret. Filerna som listas här är grupperade enligt sin funktion i <filename ->Makefile.am</filename -> för detta delprojekt.</para> - -<para ->Hantering av automake är ett mycket kraftfullt verktyg för att hantera projektet och dess delprojekt, samt de roller projektfiler spelar när programmet byggs. Vi tar en snabbtitt på några viktigare delar <link linkend="gettingstarted-extend-automake" ->nedan</link ->. Se kapitlet <link linkend="project-management" ->Bygga och projekthantering</link -> för en utförligare beskrivning.</para> +<para>Genom att klicka på ett delprojekt öppnas en lämplig vy av delprojektets projektfiler i det undre fönstret. Filerna som listas här är grupperade enligt sin funktion i <filename>Makefile.am</filename> för detta delprojekt.</para> + +<para>Hantering av automake är ett mycket kraftfullt verktyg för att hantera projektet och dess delprojekt, samt de roller projektfiler spelar när programmet byggs. Vi tar en snabbtitt på några viktigare delar <link linkend="gettingstarted-extend-automake">nedan</link>. Se kapitlet <link linkend="project-management">Bygga och projekthantering</link> för en utförligare beskrivning.</para> </listitem> </itemizedlist> </sect3> @@ -1691,290 +893,148 @@ Keep lines at 80 characters length maximum. <sect1 id="gettingstarted-edit"> -<title ->Några tips om hur man hanterar dokument</title> +<title>Några tips om hur man hanterar dokument</title> -<para ->I vårt exempelprojekt lämnade programguiden filen <filename ->hello.cpp</filename -> öppen i ett redigeringsfönster, så att du omedelbart kan börja arbeta med den. Vi förutsätter att du har god kunskap om hur man använder en editor, så vi säger inte så mycket om det här. Det finns dock ett antal praktiska funktioner i &tdevelop; för att hantera redigeringsfönster med flikar och dokumenten du arbetar med. Vi ger en kortfattad beskrivning av några, närmare bestämt:</para> +<para>I vårt exempelprojekt lämnade programguiden filen <filename>hello.cpp</filename> öppen i ett redigeringsfönster, så att du omedelbart kan börja arbeta med den. Vi förutsätter att du har god kunskap om hur man använder en editor, så vi säger inte så mycket om det här. Det finns dock ett antal praktiska funktioner i &tdevelop; för att hantera redigeringsfönster med flikar och dokumenten du arbetar med. Vi ger en kortfattad beskrivning av några, närmare bestämt:</para> <simplelist> -<member -><link linkend="gettingstarted-edit-headers" ->Hur man enkelt byter mellan deklarationsfiler och implementeringsfiler.</link -></member> -<member -><link linkend="gettingstarted-edit-defs" ->Hur man snabbt kommer åt deklarationer och definitioner.</link -></member> -<member -><link linkend="gettingstarted-edit-arrange" ->Hur man arrangerar om redigeringsfönster efter aktuellt behov.</link -></member> -<member -><link linkend="gettingstarted-edit-problems" ->Hur man håller ett öga på vanliga problem.</link -></member> +<member><link linkend="gettingstarted-edit-headers">Hur man enkelt byter mellan deklarationsfiler och implementeringsfiler.</link></member> +<member><link linkend="gettingstarted-edit-defs">Hur man snabbt kommer åt deklarationer och definitioner.</link></member> +<member><link linkend="gettingstarted-edit-arrange">Hur man arrangerar om redigeringsfönster efter aktuellt behov.</link></member> +<member><link linkend="gettingstarted-edit-problems">Hur man håller ett öga på vanliga problem.</link></member> </simplelist> <sect2 id="gettingstarted-edit-headers"> -<title ->Byta mellan deklarationsfiler och implementeringsfiler</title> +<title>Byta mellan deklarationsfiler och implementeringsfiler</title> -<para ->&tdevelop; tillhandahåller ett snabbt och enkelt sätt att byta från en given implementeringsfil (<filename ->.cpp</filename ->) till motsvarande deklarationsfil (<filename ->.h</filename ->) och vice versa. Högerklicka bara på redigeringsfönstret du vill byta. En meny som liknar den följande dyker upp.</para> +<para>&tdevelop; tillhandahåller ett snabbt och enkelt sätt att byta från en given implementeringsfil (<filename>.cpp</filename>) till motsvarande deklarationsfil (<filename>.h</filename>) och vice versa. Högerklicka bara på redigeringsfönstret du vill byta. En meny som liknar den följande dyker upp.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-switch-header.png" format="PNG"/> </imageobject> -<caption -><para ->Hur man byter mellan implementeringsfiler och deklarationsfiler.</para -></caption> +<caption><para>Hur man byter mellan implementeringsfiler och deklarationsfiler.</para></caption> </mediaobject> </screenshot> -<para ->Leta rätt på alternativet <guimenuitem ->Byt till deklaration/implementation</guimenuitem -> och välj det. &tdevelop; slår upp motsvarande deklarationsfil eller implementeringsfil och öppnar den i ett annat redigeringsfönster. I vårt exempel, om du högerklickade i källkoden <filename ->hello.cpp</filename ->, visas filen <filename ->hello.h</filename -> och markören placeras där.</para> +<para>Leta rätt på alternativet <guimenuitem>Byt till deklaration/implementation</guimenuitem> och välj det. &tdevelop; slår upp motsvarande deklarationsfil eller implementeringsfil och öppnar den i ett annat redigeringsfönster. I vårt exempel, om du högerklickade i källkoden <filename>hello.cpp</filename>, visas filen <filename>hello.h</filename> och markören placeras där.</para> -<para ->Det finns mer än så. Om du högerklickar inne i en klassimplementeringstext, placerar &tdevelop; markören på motsvarande deklarationsrad i deklarationsfilen. Det omvända fallet, ett högerklick på en deklarationsrad, tar dig till motsvarande klassimplementering.</para> +<para>Det finns mer än så. Om du högerklickar inne i en klassimplementeringstext, placerar &tdevelop; markören på motsvarande deklarationsrad i deklarationsfilen. Det omvända fallet, ett högerklick på en deklarationsrad, tar dig till motsvarande klassimplementering.</para> -<para ->Om redigeringsfönstret med filen att byta till redan finns, aktiverar &tdevelop; förstås det och placerar markören i det om det behövs.</para> +<para>Om redigeringsfönstret med filen att byta till redan finns, aktiverar &tdevelop; förstås det och placerar markören i det om det behövs.</para> </sect2> <sect2 id="gettingstarted-edit-defs"> -<title ->Hur man kommer åt deklarationer och definitioner</title> +<title>Hur man kommer åt deklarationer och definitioner</title> -<para ->Men ifall du arbetar med en källkodsfil och vill slå upp deklarationen eller definitionen av en identifierare du just hittade i den? Jo, det kan åstadkommas lika lätt. Det enda du egentligen måste göra är att högerklicka på identifieraren ifråga.</para> +<para>Men ifall du arbetar med en källkodsfil och vill slå upp deklarationen eller definitionen av en identifierare du just hittade i den? Jo, det kan åstadkommas lika lätt. Det enda du egentligen måste göra är att högerklicka på identifieraren ifråga.</para> -<para ->Det finns dock två olika fall att ta hänsyn till, nämligen:</para> +<para>Det finns dock två olika fall att ta hänsyn till, nämligen:</para> <simplelist> -<member -><link linkend="gettingstarted-edit-defs-external" ->Komma åt externt definierade identifierare</link ->, och</member> -<member -><link linkend="gettingstarted-edit-defs-project" ->hantera projektinterna textobjekt</link ->.</member> +<member><link linkend="gettingstarted-edit-defs-external">Komma åt externt definierade identifierare</link>, och</member> +<member><link linkend="gettingstarted-edit-defs-project">hantera projektinterna textobjekt</link>.</member> </simplelist> <sect3 id="gettingstarted-edit-defs-external"> -<title ->Externa deklarationer och definitioner</title> +<title>Externa deklarationer och definitioner</title> -<para ->Det vanligaste fallet är att du vill slå upp en identifierare som definierats utanför projektet. I &kde;-projekt är sådana identiferare troligen dokumenterade i olika &kde;- eller &Qt;-bibliotek. Om &kde; och &tdevelop; är riktigt installerade, kan &tdevelop; komma åt sådan så kallad dokumentation av programmeringsgränssnitt, och kunna söka efter identifierare av denna typ.</para> +<para>Det vanligaste fallet är att du vill slå upp en identifierare som definierats utanför projektet. I &kde;-projekt är sådana identiferare troligen dokumenterade i olika &kde;- eller &Qt;-bibliotek. Om &kde; och &tdevelop; är riktigt installerade, kan &tdevelop; komma åt sådan så kallad dokumentation av programmeringsgränssnitt, och kunna söka efter identifierare av denna typ.</para> -<para ->Låt oss titta på ett exempel. Leta rätt på följande rader i redigeringsfönstret <filename ->hello.cpp</filename ->.</para> +<para>Låt oss titta på ett exempel. Leta rätt på följande rader i redigeringsfönstret <filename>hello.cpp</filename>.</para> -<programlisting ->Hello::Hello() +<programlisting>Hello::Hello() : TDEMainWindow( 0, "Hello" ) { </programlisting> -<para ->Högerklicka på <classname ->TDEMainWindow</classname ->. En meny dyker upp. Välj där alternativet <guimenuitem ->Sök i dokumentationen: TDEMainWindow</guimenuitem -> och släpp musknappen. Nu öppnas verktygsvyn <guilabel ->Dokumentation</guilabel ->, med värdet <classname ->TDEMainWindow</classname -> som sökbegrepp på sidan <guilabel ->Sök</guilabel ->. Därefter öppnas ett annat redigeringsfönster på arbetsytan som visar KDE:s referenssida i programmeringsgränssnittet för klassen <classname ->TDEMainWindow</classname ->.</para> - -<para ->Allt detta ser ut som följer. (Vi öppnade med avsikt redan sidan <guilabel ->Dokumentation</guilabel -> <guilabel ->Sök</guilabel -> för att åskådliggöra resultatet av menyvalet.)</para> +<para>Högerklicka på <classname>TDEMainWindow</classname>. En meny dyker upp. Välj där alternativet <guimenuitem>Sök i dokumentationen: TDEMainWindow</guimenuitem> och släpp musknappen. Nu öppnas verktygsvyn <guilabel>Dokumentation</guilabel>, med värdet <classname>TDEMainWindow</classname> som sökbegrepp på sidan <guilabel>Sök</guilabel>. Därefter öppnas ett annat redigeringsfönster på arbetsytan som visar KDE:s referenssida i programmeringsgränssnittet för klassen <classname>TDEMainWindow</classname>.</para> + +<para>Allt detta ser ut som följer. (Vi öppnade med avsikt redan sidan <guilabel>Dokumentation</guilabel> <guilabel>Sök</guilabel> för att åskådliggöra resultatet av menyvalet.)</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-search-doc.png" format="PNG"/> </imageobject> -<caption -><para ->Hur man slår upp en externt dokumenterad identifierare.</para -></caption> +<caption><para>Hur man slår upp en externt dokumenterad identifierare.</para></caption> </mediaobject> </screenshot> -<para ->Du kan lika väl välja <guimenuitem ->Sök efter dokumentation: TDEMainWindow</guimenuitem ->. I detta fall visas sidan <guilabel ->Sökning</guilabel -> i verktygsvyn <guilabel ->Dokumentation</guilabel ->, som oftast tillhandahåller ett urval sidor som innehåller sökbegreppet. (I vårt exempel är det troligen klasserna <classname ->TDEMainWindow</classname -> och <classname ->TDEMainWindowInterface</classname ->.) Välj den du är intresserad av så visas motsvarande dokumentation i ett redigeringsfönster.</para> +<para>Du kan lika väl välja <guimenuitem>Sök efter dokumentation: TDEMainWindow</guimenuitem>. I detta fall visas sidan <guilabel>Sökning</guilabel> i verktygsvyn <guilabel>Dokumentation</guilabel>, som oftast tillhandahåller ett urval sidor som innehåller sökbegreppet. (I vårt exempel är det troligen klasserna <classname>TDEMainWindow</classname> och <classname>TDEMainWindowInterface</classname>.) Välj den du är intresserad av så visas motsvarande dokumentation i ett redigeringsfönster.</para> <note> -<para ->Om det inte fungerade, finns det förmodligen inget dokumentindex ännu. Initierade du indexet enligt <link linkend="gettingstarted-configure-search" ->ovan</link ->? Om inte, gör det först, och kom sedan tillbaka hit för ett nytt försök.</para> +<para>Om det inte fungerade, finns det förmodligen inget dokumentindex ännu. Initierade du indexet enligt <link linkend="gettingstarted-configure-search">ovan</link>? Om inte, gör det först, och kom sedan tillbaka hit för ett nytt försök.</para> </note> </sect3> <sect3 id="gettingstarted-edit-defs-project"> -<title ->Projektinterna deklarationer och definitioner</title> +<title>Projektinterna deklarationer och definitioner</title> -<para ->Sådana sökfunktioner i extern dokumentation har dock sina begränsningar. Man kan förstås inte slå upp en extern identifierare om den bara definieras och används inne i det aktuella projektet. Men det finns hjälp för det. &tdevelop; kan använda index skapade av programmet <application ->Ctags</application -> för att söka i projektets källkod.</para> +<para>Sådana sökfunktioner i extern dokumentation har dock sina begränsningar. Man kan förstås inte slå upp en extern identifierare om den bara definieras och används inne i det aktuella projektet. Men det finns hjälp för det. &tdevelop; kan använda index skapade av programmet <application>Ctags</application> för att söka i projektets källkod.</para> -<para ->Innan vi kan använda det i vårt eget exempelprojekt Hello, måste vi först skapa ett lämpligt index. Det görs i verktygsvyn <guilabel ->Ctags</guilabel -> längst ner på arbetsytan.</para> +<para>Innan vi kan använda det i vårt eget exempelprojekt Hello, måste vi först skapa ett lämpligt index. Det görs i verktygsvyn <guilabel>Ctags</guilabel> längst ner på arbetsytan.</para> -<para ->När du klickar på fliken <guibutton ->Ctags</guibutton -> öppnas en dialogruta där du hittar följande text i nedre högra hörnet:</para> +<para>När du klickar på fliken <guibutton>Ctags</guibutton> öppnas en dialogruta där du hittar följande text i nedre högra hörnet:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-ctags-regenerate.png" format="PNG"/> </imageobject> -<caption -><para ->Bygg ett Ctags-index med knappen <guibutton ->Skapa om</guibutton ->.</para -></caption> +<caption><para>Bygg ett Ctags-index med knappen <guibutton>Skapa om</guibutton>.</para></caption> </mediaobject> </screenshot> -<para ->Klicka på knappen <guibutton ->Skapa om</guibutton -> och vänta några sekunder. Då ersätts <guilabel ->Ingen Ctags-databas hittades</guilabel -> med dagens datum. Nu är du redo att slå upp några identifierare i projektets källkod.</para> +<para>Klicka på knappen <guibutton>Skapa om</guibutton> och vänta några sekunder. Då ersätts <guilabel>Ingen Ctags-databas hittades</guilabel> med dagens datum. Nu är du redo att slå upp några identifierare i projektets källkod.</para> <tip> -<para ->Datumet intill knappen <guilabel ->Skapa om</guilabel -> finns där för att påminna dig om index som möjligtvis kan vara för gamla. Så fort du uppenbarligen inte kan slå upp en identifierare i projektet, fundera på att skapa om indexet. I stora projekt kan det ta en avsevärd tid, men du bör ta för vana att skapa om indexet regelbundet efter större ändringar i källkodsfiler.</para> +<para>Datumet intill knappen <guilabel>Skapa om</guilabel> finns där för att påminna dig om index som möjligtvis kan vara för gamla. Så fort du uppenbarligen inte kan slå upp en identifierare i projektet, fundera på att skapa om indexet. I stora projekt kan det ta en avsevärd tid, men du bör ta för vana att skapa om indexet regelbundet efter större ändringar i källkodsfiler.</para> </tip> -<para ->Det finns flera möjligheter att slå upp en identifierare i projektets källkod.</para> +<para>Det finns flera möjligheter att slå upp en identifierare i projektets källkod.</para> <itemizedlist> <listitem> <formalpara> -<title ->Använd verktygsvyn Ctags</title> -<para ->Det är enkelt. Börja bara skriva namnet på identifieraren som du är intresserad av i inmatningsfältet <guilabel ->Uppslagning</guilabel -> längst ner till vänster. &tdevelop; försöker komplettera ordet du har skrivit så långt, och visa alla förekomster av identifierare som inleds med teckenföljden.</para> +<title>Använd verktygsvyn Ctags</title> +<para>Det är enkelt. Börja bara skriva namnet på identifieraren som du är intresserad av i inmatningsfältet <guilabel>Uppslagning</guilabel> längst ner till vänster. &tdevelop; försöker komplettera ordet du har skrivit så långt, och visa alla förekomster av identifierare som inleds med teckenföljden.</para> </formalpara> -<para ->Om du till exempel vill veta om identifieraren <quote ->Hello</quote -> används i vårt exempelprojekt, skriv in "H" i inmatningsfältet <guilabel ->Uppslagning</guilabel ->. &tdevelop; börjar omedelbart arbeta och visar ett liknande resultat:</para> +<para>Om du till exempel vill veta om identifieraren <quote>Hello</quote> används i vårt exempelprojekt, skriv in "H" i inmatningsfältet <guilabel>Uppslagning</guilabel>. &tdevelop; börjar omedelbart arbeta och visar ett liknande resultat:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-ctags-lookup.png" format="PNG"/> </imageobject> -<caption -><para ->Hur en identifierare slås upp i verktygsvyn <guilabel ->Ctags</guilabel ->.</para -></caption> +<caption><para>Hur en identifierare slås upp i verktygsvyn <guilabel>Ctags</guilabel>.</para></caption> </mediaobject> </screenshot> -<para ->Om du klickar på en av de listade posterna, öppnar &tdevelop; ett redigeringsfönster med filen och placerar markören på lämplig plats.</para> +<para>Om du klickar på en av de listade posterna, öppnar &tdevelop; ett redigeringsfönster med filen och placerar markören på lämplig plats.</para> </listitem> <listitem> <formalpara> -<title ->Använda en sammanhangsberoende meny i en källkodsfil</title> -<para ->Det är bekvämt om du arbetar med en viss källkodsfil. Antag att du studerar filen <filename ->main.cpp</filename -> i vårt exempelprojekt Hello. Där hittar du följande rad:</para> +<title>Använda en sammanhangsberoende meny i en källkodsfil</title> +<para>Det är bekvämt om du arbetar med en viss källkodsfil. Antag att du studerar filen <filename>main.cpp</filename> i vårt exempelprojekt Hello. Där hittar du följande rad:</para> </formalpara> -<programlisting ->Hello *mainWin = 0; +<programlisting>Hello *mainWin = 0; </programlisting> -<para ->Du undrar kanske vad <quote ->Hello</quote -> användes för i programmet. För att ta reda på det, högerklicka helt enkelt på identifieraren Hello. En meny dyker upp som svar på högerklicket, med följande rader nära slutet.</para> +<para>Du undrar kanske vad <quote>Hello</quote> användes för i programmet. För att ta reda på det, högerklicka helt enkelt på identifieraren Hello. En meny dyker upp som svar på högerklicket, med följande rader nära slutet.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-ctags-menu.png" format="PNG"/> </imageobject> -<caption -><para ->Hämta <application ->Ctags</application ->-information om en av projektets interna identifierare.</para -></caption> +<caption><para>Hämta <application>Ctags</application>-information om en av projektets interna identifierare.</para></caption> </mediaobject> </screenshot> -<para ->Klicka på det du är intresserad av, låt oss säga <guilabel ->Ctags - Gå till definition: Hello</guilabel ->, så visar &tdevelop; omedelbart redigeringsfönstret <filename ->hello.cpp</filename -> och placerar markören precis framför klassdefinitionen:</para> -<programlisting ->Hello::Hello() +<para>Klicka på det du är intresserad av, låt oss säga <guilabel>Ctags - Gå till definition: Hello</guilabel>, så visar &tdevelop; omedelbart redigeringsfönstret <filename>hello.cpp</filename> och placerar markören precis framför klassdefinitionen:</para> +<programlisting>Hello::Hello() : TDEMainWindow( 0, "Hello" ) { </programlisting> @@ -1982,230 +1042,113 @@ Keep lines at 80 characters length maximum. <listitem> <formalpara> -<title ->Gör en allmän sökning</title> -<para ->Det är särskilt användbart om du vill slå upp godtycklig text i projektets källkod. Det finns två möjligheter att starta en allmän sökning inne i &tdevelop;.</para> +<title>Gör en allmän sökning</title> +<para>Det är särskilt användbart om du vill slå upp godtycklig text i projektets källkod. Det finns två möjligheter att starta en allmän sökning inne i &tdevelop;.</para> </formalpara> <itemizedlist> <listitem> -<para ->Starta en allmän sökning med menyalternativet <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök i filer...</guimenuitem -></menuchoice ->. Eller</para> +<para>Starta en allmän sökning med menyalternativet <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök i filer...</guimenuitem></menuchoice>. Eller</para> </listitem> <listitem> -<para ->Direkt använda den sammanhangsberoende menyn med ett högerklick av musen i redigeringsfönstret.</para> +<para>Direkt använda den sammanhangsberoende menyn med ett högerklick av musen i redigeringsfönstret.</para> </listitem> </itemizedlist> -<para ->Vi åskådliggör den andra möjligheten i exempelprojektet Hello. Slutresultatet av menyanropet är i stort sett likadant. Låt oss anta att du studerar källkodsfilen <filename ->hello.cpp</filename -> och har placerat markören på den första förekomsten av Hello i den. Nu undrar du var ordet <quote ->Hello</quote -> användes i projektets källkod, och hur många förekomster det finns. Det är ett typiskt fall då &tdevelop;s allmänna sökfunktion bör användas.</para> +<para>Vi åskådliggör den andra möjligheten i exempelprojektet Hello. Slutresultatet av menyanropet är i stort sett likadant. Låt oss anta att du studerar källkodsfilen <filename>hello.cpp</filename> och har placerat markören på den första förekomsten av Hello i den. Nu undrar du var ordet <quote>Hello</quote> användes i projektets källkod, och hur många förekomster det finns. Det är ett typiskt fall då &tdevelop;s allmänna sökfunktion bör användas.</para> -<para ->Medan du nu fortfarande håller pekaren någonstans över <quote ->Hello</quote -> i källtexten, klicka med höger musknapp. Den vid det här laget välkända sammanhangsberoende menyn dyker upp, där du ska välja alternativet <guilabel ->Flerfilsökning: Hello</guilabel ->.</para> +<para>Medan du nu fortfarande håller pekaren någonstans över <quote>Hello</quote> i källtexten, klicka med höger musknapp. Den vid det här laget välkända sammanhangsberoende menyn dyker upp, där du ska välja alternativet <guilabel>Flerfilsökning: Hello</guilabel>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="editor-find-menu.png" format="PNG"/> </imageobject> -<caption -><para ->Initiera en allmän sökning inifrån ett redigeringsfönster.</para -></caption> +<caption><para>Initiera en allmän sökning inifrån ett redigeringsfönster.</para></caption> </mediaobject> </screenshot> -<para ->Det gör att följande dialogruta <guilabel ->Sök i filer</guilabel -> dyker upp (exakt samma som om du använt menyn<menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Sök i filer...</guimenuitem -></menuchoice ->).</para> +<para>Det gör att följande dialogruta <guilabel>Sök i filer</guilabel> dyker upp (exakt samma som om du använt menyn<menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Sök i filer...</guimenuitem></menuchoice>).</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="find-in-files.png" format="PNG"/> </imageobject> -<caption -><para ->Ett flexibelt grafiskt gränssnitt för att utföra allmänna sökningar i projektet.</para -></caption> +<caption><para>Ett flexibelt grafiskt gränssnitt för att utföra allmänna sökningar i projektet.</para></caption> </mediaobject> </screenshot> -<para ->Som du märker är det ett mycket flexibelt verktyg för att starta sökningar med <application ->find</application -> och <application ->grep</application -> i hela projektet. Vi går inte in på fler detaljer här, men du kan experimentera på egen hand. För ögonblicket, ska <quote ->Hello</quote -> redan vara markerat i fältet <guilabel ->Mönster</guilabel ->. Om det inte är det, skriv bara in det, och klicka därefter på knappen <guibutton ->Sök</guibutton -> längst ner till höger.</para> - -<para ->Nu öppnas verktygsvyn <guilabel ->Sök i filer</guilabel -> längst ner, och visar filnamn och rader för alla förekomster av <quote ->Hello</quote -> i vårt exempelprojekt. Som vanligt, om du klickar på en rad, går &tdevelop; till den exakta platsen i ett redigeringsfönster på arbetsytan.</para> - -<para ->Det finns två särskilt intressanta rader i verktygsvyns fönster.</para> +<para>Som du märker är det ett mycket flexibelt verktyg för att starta sökningar med <application>find</application> och <application>grep</application> i hela projektet. Vi går inte in på fler detaljer här, men du kan experimentera på egen hand. För ögonblicket, ska <quote>Hello</quote> redan vara markerat i fältet <guilabel>Mönster</guilabel>. Om det inte är det, skriv bara in det, och klicka därefter på knappen <guibutton>Sök</guibutton> längst ner till höger.</para> + +<para>Nu öppnas verktygsvyn <guilabel>Sök i filer</guilabel> längst ner, och visar filnamn och rader för alla förekomster av <quote>Hello</quote> i vårt exempelprojekt. Som vanligt, om du klickar på en rad, går &tdevelop; till den exakta platsen i ett redigeringsfönster på arbetsytan.</para> + +<para>Det finns två särskilt intressanta rader i verktygsvyns fönster.</para> <itemizedlist> <listitem> -<para ->Längst upp hittar du kommandosekvenserna som &tdevelop; i själva verket använde för att utföra sökningen. Det är användbart för att noggrannare styra sökningens resultat.</para> +<para>Längst upp hittar du kommandosekvenserna som &tdevelop; i själva verket använde för att utföra sökningen. Det är användbart för att noggrannare styra sökningens resultat.</para> </listitem> <listitem> -<para ->Längst ner anges antal förekomster som hittas när en sökning utförs. I vårt exempel ska det vara <quote ->*** 11 träffar hittades ***</quote ->.</para> +<para>Längst ner anges antal förekomster som hittas när en sökning utförs. I vårt exempel ska det vara <quote>*** 11 träffar hittades ***</quote>.</para> </listitem> </itemizedlist> -<para ->&tdevelop; kommer ihåg sökresultatet under hela sessionen som kör. Om du startar en ny allmän sökning, visas dess resultat med ett annat flikfönster i verktygsvyn <guilabel ->Sök i filer</guilabel ->.</para> +<para>&tdevelop; kommer ihåg sökresultatet under hela sessionen som kör. Om du startar en ny allmän sökning, visas dess resultat med ett annat flikfönster i verktygsvyn <guilabel>Sök i filer</guilabel>.</para> </listitem> </itemizedlist> </sect3> </sect2> <sect2 id="gettingstarted-edit-arrange"> -<title ->Arrangera redigeringsfönster</title> +<title>Arrangera redigeringsfönster</title> -<para ->När du arbetar med stora komplexa projekt råkar du ofta ut för att ha en hel mängd flikar med redigeringsfönster i flikraden. Det gör det nödvändigt att ha särskilda funktioner för att rensa, ordna och gruppera alla redigeringsflikarna. &tdevelop; tillhandahåller flera sätt att göra det. Vi tar en snabbtitt på några av dem.</para> +<para>När du arbetar med stora komplexa projekt råkar du ofta ut för att ha en hel mängd flikar med redigeringsfönster i flikraden. Det gör det nödvändigt att ha särskilda funktioner för att rensa, ordna och gruppera alla redigeringsflikarna. &tdevelop; tillhandahåller flera sätt att göra det. Vi tar en snabbtitt på några av dem.</para> <simplelist> -<member -><link linkend="gettingstarted-edit-arrange-clean" ->Hur man tar bort flikar som inte behövs.</link -></member> -<member -><link linkend="gettingstarted-edit-arrange-tabs" ->Hur man arrangerar om flikarna.</link -></member> -<member -><link linkend="gettingstarted-edit-arrange-split" ->Hur man visar flera filer samtidigt på arbetsytan.</link -></member> -<member -><link -linkend="gettingstarted-edit-arrange-sourceheader" ->Hur man redigerar C++ källkodsfiler och deklarationsfiler samtidigt</link -></member> -<member -><link linkend="gettingstarted-edit-arrange-group" ->Hur man grupperar källkodsfiler i utvecklingssessioner.</link -></member> +<member><link linkend="gettingstarted-edit-arrange-clean">Hur man tar bort flikar som inte behövs.</link></member> +<member><link linkend="gettingstarted-edit-arrange-tabs">Hur man arrangerar om flikarna.</link></member> +<member><link linkend="gettingstarted-edit-arrange-split">Hur man visar flera filer samtidigt på arbetsytan.</link></member> +<member><link +linkend="gettingstarted-edit-arrange-sourceheader">Hur man redigerar C++ källkodsfiler och deklarationsfiler samtidigt</link></member> +<member><link linkend="gettingstarted-edit-arrange-group">Hur man grupperar källkodsfiler i utvecklingssessioner.</link></member> </simplelist> <sect3 id="gettingstarted-edit-arrange-clean"> -<title ->Städa upp i flikraden</title> +<title>Städa upp i flikraden</title> -<para ->Om ett enormt antal flikar med redigeringsfönster på något sätt blir dåligt arrangerade, vill man oftast stänga alla flikar som inte längre behövs. &tdevelop; tillhandahåller flera funktioner för att göra det, det vanliga sättet att totalt stänga alla öppna redigeringsfönster, och ett mer specifikt sätt där du uttryckligen kan bestämma vilka som ska stängas och vilka som ska behållas öppna.</para> +<para>Om ett enormt antal flikar med redigeringsfönster på något sätt blir dåligt arrangerade, vill man oftast stänga alla flikar som inte längre behövs. &tdevelop; tillhandahåller flera funktioner för att göra det, det vanliga sättet att totalt stänga alla öppna redigeringsfönster, och ett mer specifikt sätt där du uttryckligen kan bestämma vilka som ska stängas och vilka som ska behållas öppna.</para> <formalpara> -<title ->Stänga flera flikar på en gång</title> -<para ->Det här är en sorts totalmetod för att stänga onödiga öppna flikar, som du också kan hitta i andra &kde;-program. Du kan använda menyn <guimenu ->Fönster</guimenu -> eller högerklicka på en flik, för att antingen</para> +<title>Stänga flera flikar på en gång</title> +<para>Det här är en sorts totalmetod för att stänga onödiga öppna flikar, som du också kan hitta i andra &kde;-program. Du kan använda menyn <guimenu>Fönster</guimenu> eller högerklicka på en flik, för att antingen</para> </formalpara> <itemizedlist> <listitem> -<para ->stänga redigeringsfönstret som för närvarande är valt,</para> +<para>stänga redigeringsfönstret som för närvarande är valt,</para> </listitem> <listitem> -<para ->stänga alla andra öppna redigeringsfönster, eller</para> +<para>stänga alla andra öppna redigeringsfönster, eller</para> </listitem> <listitem> -<para ->stänga alla redigeringsfönster på en gång (bara tillgängligt i menyn <guimenu ->Fönster</guimenu ->).</para> +<para>stänga alla redigeringsfönster på en gång (bara tillgängligt i menyn <guimenu>Fönster</guimenu>).</para> </listitem> </itemizedlist> <formalpara> -<title ->Stänga markerade uppsättningar flikar</title> -<para ->Sättet att steg för steg stänga enskilda flikar med redigeringsfönster kan bli krånglig om det finns en stor mängd flikar och du fortfarande vill lämna flera öppna. Istället för att leta rätt på och stänga en flik åt gången, erbjuder &tdevelop; möjligheten att välja kandidater i en lista och enbart stänga dem, med ett enda musklick.</para> +<title>Stänga markerade uppsättningar flikar</title> +<para>Sättet att steg för steg stänga enskilda flikar med redigeringsfönster kan bli krånglig om det finns en stor mängd flikar och du fortfarande vill lämna flera öppna. Istället för att leta rätt på och stänga en flik åt gången, erbjuder &tdevelop; möjligheten att välja kandidater i en lista och enbart stänga dem, med ett enda musklick.</para> </formalpara> -<para ->Låt oss illustrera det med ett enkelt exempel. Låt oss anta att det finns flera filer öppna för redigering i vårt exempelprojekt Hello: <filename ->hello.cpp</filename ->, <filename ->hello.h</filename ->, <filename ->helloui.rc</filename ->, <filename ->hello.desktop</filename -> och <filename ->main.cpp</filename ->. Du vill nu stänga alla utom <filename ->hello.cpp</filename -> och <filename ->hello.h</filename ->. Det enklaste sättet att göra det är med verktygsvyn <filename ->Fillista</filename ->. Eftersom denna lista med öppna filer är alfabetiskt ordnad, är det enklare att hitta de du vill stänga. Fortsätt enligt följande:</para> +<para>Låt oss illustrera det med ett enkelt exempel. Låt oss anta att det finns flera filer öppna för redigering i vårt exempelprojekt Hello: <filename>hello.cpp</filename>, <filename>hello.h</filename>, <filename>helloui.rc</filename>, <filename>hello.desktop</filename> och <filename>main.cpp</filename>. Du vill nu stänga alla utom <filename>hello.cpp</filename> och <filename>hello.h</filename>. Det enklaste sättet att göra det är med verktygsvyn <filename>Fillista</filename>. Eftersom denna lista med öppna filer är alfabetiskt ordnad, är det enklare att hitta de du vill stänga. Fortsätt enligt följande:</para> <procedure> <step> -<para ->Öppna <guilabel ->Fillista</guilabel ->, håll nere tangenten <keycap ->Ctrl</keycap ->, och klicka på filerna du vill stänga i listan.</para> +<para>Öppna <guilabel>Fillista</guilabel>, håll nere tangenten <keycap>Ctrl</keycap>, och klicka på filerna du vill stänga i listan.</para> </step> <step> -<para ->Klicka därefter med höger musknapp, medan du håller muspekaren på ett filnamn i listan.</para> +<para>Klicka därefter med höger musknapp, medan du håller muspekaren på ett filnamn i listan.</para> </step> <step> -<para ->Välj <guimenuitem ->Stäng markerade</guimenuitem -> från den sammanhangsberoende menyn i <guimenu ->Fillistan</guimenu ->.</para> +<para>Välj <guimenuitem>Stäng markerade</guimenuitem> från den sammanhangsberoende menyn i <guimenu>Fillistan</guimenu>.</para> </step> </procedure> @@ -2214,472 +1157,235 @@ linkend="gettingstarted-edit-arrange-sourceheader" <imageobject> <imagedata fileref="file-list-close-selected.png" format="PNG"/> </imageobject> -<caption -><para ->Hur markerade redigeringsfönster kan stängas på en gång.</para -></caption> +<caption><para>Hur markerade redigeringsfönster kan stängas på en gång.</para></caption> </mediaobject> </screenshot> -<para ->Det är det hela. &tdevelop; har stängt alla redigeringsfönster som du önskade, och du är klar att fortsätta igen med en rensad flikrad.</para> +<para>Det är det hela. &tdevelop; har stängt alla redigeringsfönster som du önskade, och du är klar att fortsätta igen med en rensad flikrad.</para> </sect3> <sect3 id="gettingstarted-edit-arrange-tabs"> -<title ->Hur redigeringsfönstrets flikar kan arrangeras om</title> +<title>Hur redigeringsfönstrets flikar kan arrangeras om</title> -<para ->Även om du bara har de redigeringsfönster som verkligen behövs öppna, kanske du ändå vill arrangera flikarna på något logiskt sätt. &tdevelop; erbjuder några vanliga sätt att göra det. I korthet:</para> +<para>Även om du bara har de redigeringsfönster som verkligen behövs öppna, kanske du ändå vill arrangera flikarna på något logiskt sätt. &tdevelop; erbjuder några vanliga sätt att göra det. I korthet:</para> <formalpara> -<title ->Grundläggande inställning: Var nya flikar ska placeras</title> +<title>Grundläggande inställning: Var nya flikar ska placeras</title> -<para ->I normalfall, när ett nytt redigeringsfönster öppnas, infogas fliken till höger om fliken för redigeringsfönstret som för närvarande används. Det kan ändras så att den nya fliken öppnas längst till höger på flikraden.</para> +<para>I normalfall, när ett nytt redigeringsfönster öppnas, infogas fliken till höger om fliken för redigeringsfönstret som för närvarande används. Det kan ändras så att den nya fliken öppnas längst till höger på flikraden.</para> </formalpara> -<para ->Du måste ändra en grundläggande inställning i &tdevelop;s användargränssnitt för att aktivera beteendet.</para> +<para>Du måste ändra en grundläggande inställning i &tdevelop;s användargränssnitt för att aktivera beteendet.</para> <procedure> <step> -<para ->Välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem -> Anpassa KDevelop...</guimenuitem -></menuchoice -></para> +<para>Välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem> Anpassa KDevelop...</guimenuitem></menuchoice></para> </step> <step> -<para ->Klicka på ikonen <guilabel ->Användargränssnitt</guilabel -> i ikonraden till vänster i dialogrutan. Dialogsidan <guilabel ->Användargränssnitt</guilabel -> visas nu.</para> +<para>Klicka på ikonen <guilabel>Användargränssnitt</guilabel> i ikonraden till vänster i dialogrutan. Dialogsidan <guilabel>Användargränssnitt</guilabel> visas nu.</para> </step> <step> -<para ->Hitta rutan som heter <guilabel ->Bläddring med flikar</guilabel ->. Ta bort markeringen av kryssrutan på raden <guilabel ->Öppna ny flik efter nuvarande flik</guilabel ->.</para> +<para>Hitta rutan som heter <guilabel>Bläddring med flikar</guilabel>. Ta bort markeringen av kryssrutan på raden <guilabel>Öppna ny flik efter nuvarande flik</guilabel>.</para> </step> <step> -<para ->Stäng &tdevelop; och starta om det. Nu öppnas flikarna för nya redigeringsfönster längst bort till höger i nuvarande flikrad.</para> +<para>Stäng &tdevelop; och starta om det. Nu öppnas flikarna för nya redigeringsfönster längst bort till höger i nuvarande flikrad.</para> </step> </procedure> -<para ->Tyvärr kan inte inställningen ändras i farten under en utvecklingssession. Du måste bestämma dig för vilket beteende du föredrar i det långa loppet, och därefter hålla dig till det, åtminstone till nästa gång &tdevelop; startas.</para> +<para>Tyvärr kan inte inställningen ändras i farten under en utvecklingssession. Du måste bestämma dig för vilket beteende du föredrar i det långa loppet, och därefter hålla dig till det, åtminstone till nästa gång &tdevelop; startas.</para> <formalpara> -<title ->Hur flikarna kan arrangeras om</title> -<para ->Eftersom utvecklingsuppgifer varierar med tiden, kommer behov att arrangera om flikarna för redigeringsfönster uppstå då och då. Det kan enkelt åstadkommas i &tdevelop;.</para> +<title>Hur flikarna kan arrangeras om</title> +<para>Eftersom utvecklingsuppgifer varierar med tiden, kommer behov att arrangera om flikarna för redigeringsfönster uppstå då och då. Det kan enkelt åstadkommas i &tdevelop;.</para> </formalpara> -<para ->Klicka bara på fliken du vill flytta med musens mittenknapp och flytta musen lite grand. Markören ändras till ett mönster med korsande pilar. Nu kan du dra fliken, medan du håller nere mittenknappen, till det hoppar på plats där du vill ha det.</para> +<para>Klicka bara på fliken du vill flytta med musens mittenknapp och flytta musen lite grand. Markören ändras till ett mönster med korsande pilar. Nu kan du dra fliken, medan du håller nere mittenknappen, till det hoppar på plats där du vill ha det.</para> </sect3> <sect3 id="gettingstarted-edit-arrange-split"> -<title ->Visa flera filer samtidigt</title> - -<para ->Vid första påseende finns det aldrig mer än ett enda redigeringsfönster öppet för att arbeta med en källkodsfil. Även om du snabbt kan byta mellan flikar, finns det tillfällen då du vill ha flera filer öppna på en gång, t.ex. för referenssyfte eller för att få bättre kontroll av komplexa uppgifter. För att åstadkomma det, tillhandahåller &tdevelop; ett sätt att dela arbetsytan i olika delar som syns samtidigt, och var och en kan innehålla en egen följd av flikar.</para> - -<para ->Det finns två delningskommandon som du antingen kan nå via menyn <guimenu ->Fönster</guimenu ->, eller genom att högerklicka i ett fönster som hör till en flik eller på själva fliken. Vi beskriver också delningsbeteendet utgående från vårt exempelprojekt Hello.</para> - -<para ->Antag att det finns två källkodsfiler öppna i flikraden: <filename ->hello.cpp</filename -> and <filename ->hello.h</filename ->. Medan du arbetar med källkoden i <filename ->hello.cpp</filename -> behöver du ofta titta på deklarationerna i filen <filename ->hello.h</filename ->, så du vill ha båda filerna öppna samtidigt.</para> - -<para ->För att få det gjort, högerklicka till exempel på fliken för <filename ->hello.h</filename ->. Följande meny dyker då upp:</para> +<title>Visa flera filer samtidigt</title> + +<para>Vid första påseende finns det aldrig mer än ett enda redigeringsfönster öppet för att arbeta med en källkodsfil. Även om du snabbt kan byta mellan flikar, finns det tillfällen då du vill ha flera filer öppna på en gång, t.ex. för referenssyfte eller för att få bättre kontroll av komplexa uppgifter. För att åstadkomma det, tillhandahåller &tdevelop; ett sätt att dela arbetsytan i olika delar som syns samtidigt, och var och en kan innehålla en egen följd av flikar.</para> + +<para>Det finns två delningskommandon som du antingen kan nå via menyn <guimenu>Fönster</guimenu>, eller genom att högerklicka i ett fönster som hör till en flik eller på själva fliken. Vi beskriver också delningsbeteendet utgående från vårt exempelprojekt Hello.</para> + +<para>Antag att det finns två källkodsfiler öppna i flikraden: <filename>hello.cpp</filename> and <filename>hello.h</filename>. Medan du arbetar med källkoden i <filename>hello.cpp</filename> behöver du ofta titta på deklarationerna i filen <filename>hello.h</filename>, så du vill ha båda filerna öppna samtidigt.</para> + +<para>För att få det gjort, högerklicka till exempel på fliken för <filename>hello.h</filename>. Följande meny dyker då upp:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="split-workspace.png" format="PNG"/> </imageobject> -<caption -><para ->Hur den aktuella arbetsytan kan delas i två delar.</para -></caption> +<caption><para>Hur den aktuella arbetsytan kan delas i två delar.</para></caption> </mediaobject> </screenshot> -<para ->Välj alternativet <guimenuitem ->Dela horisontellt</guimenuitem ->. Det delar arbetsytan på mitten och flyttar redigeringsfönstret som innehåller filen <filename ->hello.h</filename -> till den nedre delen.</para> +<para>Välj alternativet <guimenuitem>Dela horisontellt</guimenuitem>. Det delar arbetsytan på mitten och flyttar redigeringsfönstret som innehåller filen <filename>hello.h</filename> till den nedre delen.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="split-windows.png"/> </imageobject> -<caption -><para ->Arbetsytan har delats horisontellt.</para -></caption> +<caption><para>Arbetsytan har delats horisontellt.</para></caption> </mediaobject> </screenshot> -<para ->Observera den streckade skiljelinjen mellan de båda fönstren. Du kan ta tag i den med musen och justera redigeringsfönstrens höjd efter dina behov.</para> +<para>Observera den streckade skiljelinjen mellan de båda fönstren. Du kan ta tag i den med musen och justera redigeringsfönstrens höjd efter dina behov.</para> -<para ->Det finns ett antal saker att lägga märke till.</para> +<para>Det finns ett antal saker att lägga märke till.</para> <itemizedlist> <listitem> -<para ->De delade arbetsytorna fungerar helt och hållet på egen hand. Det betyder att nya flikfönster öppnas i arbetsytan som innehåller redigeringsfönstret som för närvarande är aktivt. Du kan också dela alla delområden igen som du önskar, och på så sätt ha så många fönster öppna samtidigt som du behöver.</para> +<para>De delade arbetsytorna fungerar helt och hållet på egen hand. Det betyder att nya flikfönster öppnas i arbetsytan som innehåller redigeringsfönstret som för närvarande är aktivt. Du kan också dela alla delområden igen som du önskar, och på så sätt ha så många fönster öppna samtidigt som du behöver.</para> </listitem> <listitem> -<para ->Varje delning flyttar redigeringsfönstret som för närvarande är aktivt till den nya delarbetsytan, antingen neråt eller åt höger. Övriga flikfönster förblir alla där de var. Du kan inte direkt flytta flikfönster mellan delade områden, utan istället måste du explicit stänga fönstret på en arbetsyta och öppna det igen på en annan, för att gruppera om.</para> +<para>Varje delning flyttar redigeringsfönstret som för närvarande är aktivt till den nya delarbetsytan, antingen neråt eller åt höger. Övriga flikfönster förblir alla där de var. Du kan inte direkt flytta flikfönster mellan delade områden, utan istället måste du explicit stänga fönstret på en arbetsyta och öppna det igen på en annan, för att gruppera om.</para> </listitem> <listitem> -<para ->Det finns heller inget direkt sätt att stänga ett delat område igen. Det stängs automatiskt, när väl det sista fönstret med en flik i det stängs.</para> +<para>Det finns heller inget direkt sätt att stänga ett delat område igen. Det stängs automatiskt, när väl det sista fönstret med en flik i det stängs.</para> </listitem> </itemizedlist> </sect3> <sect3 id="gettingstarted-edit-arrange-sourceheader"> -<title ->Redigera C++ källkod och deklarationsfiler samtidigt</title> - -<para ->Det finns en trevlig användning av den ovannämnda funktionen med delade arbetsytor inbyggd i &tdevelop;. Den låter dig automatiskt ha en källkodsfil, <filename ->.cpp</filename ->, och dess tillhörande deklarationsfil, <filename ->.h</filename ->, öppna sida vid sida på arbetsytan. Dessutom tillåter den valfritt att arbeta synkront med filerna, på så sätt att vid markering av en deklaration i deklarationsfilen går &tdevelop; till motsvarande definition i källkodsfilen och omvänt.</para> - -<para ->Funktionen är dock normalt inte aktiverad. Om du vill använda den i projektet måste du aktivera den.</para> - -<para ->Välj <menuchoice -><guibutton ->Projekt</guibutton -> <guimenuitem ->Projektinställningar</guimenuitem -></menuchoice ->. Dialogrutan <guilabel ->Projektinställningar</guilabel -> dyker upp. Välj <guiicon ->C++ stöd</guiicon -> i ikonraden till vänster, och därefter fliken <guilabel ->Navigering</guilabel -> på dialogsidan som visas till höger.</para> +<title>Redigera C++ källkod och deklarationsfiler samtidigt</title> + +<para>Det finns en trevlig användning av den ovannämnda funktionen med delade arbetsytor inbyggd i &tdevelop;. Den låter dig automatiskt ha en källkodsfil, <filename>.cpp</filename>, och dess tillhörande deklarationsfil, <filename>.h</filename>, öppna sida vid sida på arbetsytan. Dessutom tillåter den valfritt att arbeta synkront med filerna, på så sätt att vid markering av en deklaration i deklarationsfilen går &tdevelop; till motsvarande definition i källkodsfilen och omvänt.</para> + +<para>Funktionen är dock normalt inte aktiverad. Om du vill använda den i projektet måste du aktivera den.</para> + +<para>Välj <menuchoice><guibutton>Projekt</guibutton> <guimenuitem>Projektinställningar</guimenuitem></menuchoice>. Dialogrutan <guilabel>Projektinställningar</guilabel> dyker upp. Välj <guiicon>C++ stöd</guiicon> i ikonraden till vänster, och därefter fliken <guilabel>Navigering</guilabel> på dialogsidan som visas till höger.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="split-source-header.png" format="PNG"/> </imageobject> -<caption -><para ->Låta C++ källkod och deklarationsfiler visas sida vid sida.</para -></caption> +<caption><para>Låta C++ källkod och deklarationsfiler visas sida vid sida.</para></caption> </mediaobject> </screenshot> -<para ->Markera nu rutan <guilabel ->Aktivera delning av deklarationsfiler och källkodsfiler</guilabel ->. Det aktiverar normalt <guilabel ->Automatisk synkronisering</guilabel -> och <guilabel ->Vertikal</guilabel ->. Behåll inställningarna för tillfället och klicka på <guibutton ->Ok</guibutton ->.</para> - -<para ->Stäng nu båda redigeringsfönstren <filename ->hello.cpp</filename -> och <filename ->hello.h</filename -> i vårt exempelprojekt Hello, om det behövs. Välj därefter <filename ->hello.cpp</filename -> igen i projektets underkatalog <filename class="directory" ->src</filename ->. Redigeringsfönstret öppnas som vanligt, men om du nu öppnar tillhörande <filename ->hello.h</filename ->, delar &tdevelop; automatiskt arbetsytan och öppnar deklarationsfilens redigeringsfönster precis under fönstret <filename ->hello.cpp</filename ->.</para> - -<para ->Det finns ännu mer, som vi redan nämnt. Leta till exempel rätt på definitionsraden för följande konstruktor i fönstret <filename ->hello.cpp</filename -></para> -<programlisting ->Hello::Hello() +<para>Markera nu rutan <guilabel>Aktivera delning av deklarationsfiler och källkodsfiler</guilabel>. Det aktiverar normalt <guilabel>Automatisk synkronisering</guilabel> och <guilabel>Vertikal</guilabel>. Behåll inställningarna för tillfället och klicka på <guibutton>Ok</guibutton>.</para> + +<para>Stäng nu båda redigeringsfönstren <filename>hello.cpp</filename> och <filename>hello.h</filename> i vårt exempelprojekt Hello, om det behövs. Välj därefter <filename>hello.cpp</filename> igen i projektets underkatalog <filename class="directory">src</filename>. Redigeringsfönstret öppnas som vanligt, men om du nu öppnar tillhörande <filename>hello.h</filename>, delar &tdevelop; automatiskt arbetsytan och öppnar deklarationsfilens redigeringsfönster precis under fönstret <filename>hello.cpp</filename>.</para> + +<para>Det finns ännu mer, som vi redan nämnt. Leta till exempel rätt på definitionsraden för följande konstruktor i fönstret <filename>hello.cpp</filename></para> +<programlisting>Hello::Hello() </programlisting> -<para ->och placera markören där. Titta därefter i fönstret <filename ->hello.h</filename -> nedanför och observera hur &tdevelop; gick till motsvarande deklarationsrad för konstruktorn.</para> +<para>och placera markören där. Titta därefter i fönstret <filename>hello.h</filename> nedanför och observera hur &tdevelop; gick till motsvarande deklarationsrad för konstruktorn.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="split-source-header-navigate.png" format="PNG"/> </imageobject> -<caption -><para ->&tdevelop; går automatiskt till konstruktorns deklaration.</para -></caption> +<caption><para>&tdevelop; går automatiskt till konstruktorns deklaration.</para></caption> </mediaobject> </screenshot> -<para ->Det fungerar också omvänt. Så fort du placerar markören någonstans i en konstruktor i ett redigeringsfönster, går &tdevelop; till motsvarande konstruktor i det andra.</para> +<para>Det fungerar också omvänt. Så fort du placerar markören någonstans i en konstruktor i ett redigeringsfönster, går &tdevelop; till motsvarande konstruktor i det andra.</para> </sect3> <sect3 id="gettingstarted-edit-arrange-group"> -<title ->Gruppera källkodsfiler i utvecklingssessioner</title> - -<para ->När projektet växer sig större, och utvecklingsuppgifterna blir mer och mer komplexa, tvingar det dig att ofta byta mellan olika, till och med distinkta, uppsättningar filer. Nu är det dags att organisera utvecklingsarbetet i skilda sessioner. Verktygsvyn <guilabel ->Fillista</guilabel -> i &tdevelop; tillåter dig att göra precis det.</para> - -<para ->Längst upp i fönstret för verktygsvyn <guilabel ->Fillista</guilabel -> finns en verktygsrad där du kan skapa, spara, välja och ta bort sådana sessioner. Använd alternativt undermenyn <menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Sessioner</guimenuitem -></menuchoice ->.</para> - -<para ->Vi beskriver också funktionen utgående från vårt exempelprojekt Hello. Antag att du alltid vill öppna filerna <filename ->hello.cpp</filename ->, <filename ->hello.h</filename -> och <filename ->main.cpp</filename -> med ett steg, oberoende av vilken utvecklingsuppgift du precis utförde i projektet. Du måste först skapa en ny utvecklingssession, som exempelvis kallas <quote ->källkod</quote ->, för att åstadkomma det.</para> +<title>Gruppera källkodsfiler i utvecklingssessioner</title> + +<para>När projektet växer sig större, och utvecklingsuppgifterna blir mer och mer komplexa, tvingar det dig att ofta byta mellan olika, till och med distinkta, uppsättningar filer. Nu är det dags att organisera utvecklingsarbetet i skilda sessioner. Verktygsvyn <guilabel>Fillista</guilabel> i &tdevelop; tillåter dig att göra precis det.</para> + +<para>Längst upp i fönstret för verktygsvyn <guilabel>Fillista</guilabel> finns en verktygsrad där du kan skapa, spara, välja och ta bort sådana sessioner. Använd alternativt undermenyn <menuchoice><guimenu>Visa</guimenu> <guimenuitem>Sessioner</guimenuitem></menuchoice>.</para> + +<para>Vi beskriver också funktionen utgående från vårt exempelprojekt Hello. Antag att du alltid vill öppna filerna <filename>hello.cpp</filename>, <filename>hello.h</filename> och <filename>main.cpp</filename> med ett steg, oberoende av vilken utvecklingsuppgift du precis utförde i projektet. Du måste först skapa en ny utvecklingssession, som exempelvis kallas <quote>källkod</quote>, för att åstadkomma det.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="file-list-session-create.png" format="PNG"/> </imageobject> -<caption -><para ->Använda utvecklingssessioner för att komma ihåg filgrupper.</para -></caption> +<caption><para>Använda utvecklingssessioner för att komma ihåg filgrupper.</para></caption> </mediaobject> </screenshot> -<para ->Det är en procedur i flera steg, enligt följande:</para> +<para>Det är en procedur i flera steg, enligt följande:</para> <procedure> <step> -<para ->Skapa en ny session</para> +<para>Skapa en ny session</para> <substeps> <step> -<para ->Klicka på ikonen <guiicon ->Ny session</guiicon -> längst upp till vänster i verktygsvyn <guilabel ->Fillista</guilabel ->.</para> +<para>Klicka på ikonen <guiicon>Ny session</guiicon> längst upp till vänster i verktygsvyn <guilabel>Fillista</guilabel>.</para> </step> <step> -<para ->En dialogruta dyker upp. Ge den nya sessionen ett namn i inmatningsfältet <guilabel ->Skriv in sessionens namn</guilabel ->, t.ex. <quote ->källkod</quote ->.</para> +<para>En dialogruta dyker upp. Ge den nya sessionen ett namn i inmatningsfältet <guilabel>Skriv in sessionens namn</guilabel>, t.ex. <quote>källkod</quote>.</para> </step> <step> -<para ->Stäng dialogrutan med <guibutton ->Ok</guibutton ->. Den nya sessionen anges nu i kombinationsrutan i verktygsraden.</para> +<para>Stäng dialogrutan med <guibutton>Ok</guibutton>. Den nya sessionen anges nu i kombinationsrutan i verktygsraden.</para> </step> </substeps> </step> <step> -<para ->Den nya sessionen är tom från början. Du måste lägga till filerna du vill ska ingå i den.</para> +<para>Den nya sessionen är tom från början. Du måste lägga till filerna du vill ska ingå i den.</para> <substeps> <step> -<para ->Öppna alla filer du vill ska grupperas i utvecklingssessionen. I vårt exempel bestämde vi oss för att behålla <filename ->hello.cpp</filename ->, <filename ->hello.h</filename -> och <filename ->main.cpp</filename -> som planerat.</para> +<para>Öppna alla filer du vill ska grupperas i utvecklingssessionen. I vårt exempel bestämde vi oss för att behålla <filename>hello.cpp</filename>, <filename>hello.h</filename> och <filename>main.cpp</filename> som planerat.</para> </step> <step> -<para ->När fillistan väl är fullständig, klicka på ikonen <guiicon ->Spara session</guiicon -> i verktygsraden. Hoppa inte över detta steg. Annars glömmer &tdevelop; bort fillistan.</para> +<para>När fillistan väl är fullständig, klicka på ikonen <guiicon>Spara session</guiicon> i verktygsraden. Hoppa inte över detta steg. Annars glömmer &tdevelop; bort fillistan.</para> </step> </substeps> </step> </procedure> -<para ->Det är allt. Så fort du väljer sessionen <guilabel ->källkod</guilabel -> i kombinationsrutan <guilabel ->Öppna session</guilabel ->, stänger &tdevelop; alla redigeringsfönster som för närvarande är öppna, och öppnar de ihågkomna istället (<filename ->hello.cpp</filename ->, <filename ->hello.h</filename -> och <filename ->main.cpp</filename -> i vårt exempel).</para> - -<para ->Du kan definiera hur många sessioner som du vill i samband med projektet. Om du vill ändra sessionernas innehåll, uppdatera bara den ihågkomna fillistan med ett klick på <guiicon ->Spara session</guiicon ->. Och om du vill bli av med en session, välj den i kombinationsrutan, och klicka därefter på ikonen <guiicon ->Ta bort session</guiicon -> till höger i verktygsraden.</para> - -<para ->Du kan göra ännu mer. Du kan tvinga &tdevelop; att öppna en given förvald session när projektet laddas. Välj bara sessionen i kombinationsrutan på inställningssidan <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar</guimenuitem -><guimenuitem ->Fillista</guimenuitem -></menuchoice -> i projektinställningarna.</para> +<para>Det är allt. Så fort du väljer sessionen <guilabel>källkod</guilabel> i kombinationsrutan <guilabel>Öppna session</guilabel>, stänger &tdevelop; alla redigeringsfönster som för närvarande är öppna, och öppnar de ihågkomna istället (<filename>hello.cpp</filename>, <filename>hello.h</filename> och <filename>main.cpp</filename> i vårt exempel).</para> + +<para>Du kan definiera hur många sessioner som du vill i samband med projektet. Om du vill ändra sessionernas innehåll, uppdatera bara den ihågkomna fillistan med ett klick på <guiicon>Spara session</guiicon>. Och om du vill bli av med en session, välj den i kombinationsrutan, och klicka därefter på ikonen <guiicon>Ta bort session</guiicon> till höger i verktygsraden.</para> + +<para>Du kan göra ännu mer. Du kan tvinga &tdevelop; att öppna en given förvald session när projektet laddas. Välj bara sessionen i kombinationsrutan på inställningssidan <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar</guimenuitem><guimenuitem>Fillista</guimenuitem></menuchoice> i projektinställningarna.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="file-list-session-default.png" format="PNG"/> </imageobject> -<caption -><para ->Låt &tdevelop; öppna en specifik session när projektet laddas.</para -></caption> +<caption><para>Låt &tdevelop; öppna en specifik session när projektet laddas.</para></caption> </mediaobject> </screenshot> </sect3> </sect2> <sect2 id="gettingstarted-edit-problems"> -<title ->Hålla ögonen på vanliga problem</title> +<title>Hålla ögonen på vanliga problem</title> -<para ->När ett redigeringsfönster som innehåller en källkodsfil öppnas, tolkar &tdevelop; dess innehåll. Det gör det möjligt för den inbyggda <emphasis ->problemrapportören</emphasis -> att söka i källkodstexten efter några vanliga fel som den känner till. Den kan också informera användaren om olika platser som har markerats för specialbehandling.</para> +<para>När ett redigeringsfönster som innehåller en källkodsfil öppnas, tolkar &tdevelop; dess innehåll. Det gör det möjligt för den inbyggda <emphasis>problemrapportören</emphasis> att söka i källkodstexten efter några vanliga fel som den känner till. Den kan också informera användaren om olika platser som har markerats för specialbehandling.</para> -<para ->Låt oss åskådliggöra funktionen med vårt exempelprojekt Hello.</para> +<para>Låt oss åskådliggöra funktionen med vårt exempelprojekt Hello.</para> <itemizedlist> <listitem> -<para ->Öppna ett editorfönster med källkodsfilen <filename ->main.cpp</filename ->.</para> +<para>Öppna ett editorfönster med källkodsfilen <filename>main.cpp</filename>.</para> </listitem> <listitem> -<para ->Försäkra dig om att det fortfarande innehåller följande rad någonstans nära slutet:</para> -<programlisting ->/// @todo do something with the command line args here +<para>Försäkra dig om att det fortfarande innehåller följande rad någonstans nära slutet:</para> +<programlisting>/// @todo do something with the command line args here </programlisting> -<para ->Det infogades av programguiden när projektet Hello skapades i kapitlet <link linkend="gettingstarted-new" ->Starta ett nytt projekt</link -> ovan.</para> +<para>Det infogades av programguiden när projektet Hello skapades i kapitlet <link linkend="gettingstarted-new">Starta ett nytt projekt</link> ovan.</para> </listitem> <listitem> -<para ->Öppna nu verktygsvyn <guilabel ->Problem</guilabel -> i raden med flikar längst ner. Om allt har fungerat, rapporterar den för närvarande följande uppgift:</para> +<para>Öppna nu verktygsvyn <guilabel>Problem</guilabel> i raden med flikar längst ner. Om allt har fungerat, rapporterar den för närvarande följande uppgift:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="problem-report-todo.png"/> </imageobject> -<caption -><para ->&tdevelop; informerar om att en källkodsrad innehåller markeringen todo.</para -></caption> +<caption><para>&tdevelop; informerar om att en källkodsrad innehåller markeringen todo.</para></caption> </mediaobject> </screenshot> </listitem> </itemizedlist> -<para ->Formatet på kommandot <computeroutput ->/// @todo</computeroutput -> är till för särskild behandling av verktyget för koddokumentation, <application ->Doxygen</application ->, som vi tar en snabb titt på i avsnittet <link linkend="gettingstarted-doc" ->Dokumentation</link -> nedan. Det krävs inte att du använder detta format, de vanligare kommentarerna <computeroutput ->TODO</computeroutput -> och <computeroutput ->FIXME</computeroutput -> känns också igen.</para> - -<para ->Om du till exempel infogar följande kommentarrader med <computeroutput ->TODO</computeroutput -> och <computeroutput ->FIXME</computeroutput -> i vår exempelfil <filename ->hello.cpp</filename ->:</para> -<programlisting ->Hello::Hello() +<para>Formatet på kommandot <computeroutput>/// @todo</computeroutput> är till för särskild behandling av verktyget för koddokumentation, <application>Doxygen</application>, som vi tar en snabb titt på i avsnittet <link linkend="gettingstarted-doc">Dokumentation</link> nedan. Det krävs inte att du använder detta format, de vanligare kommentarerna <computeroutput>TODO</computeroutput> och <computeroutput>FIXME</computeroutput> känns också igen.</para> + +<para>Om du till exempel infogar följande kommentarrader med <computeroutput>TODO</computeroutput> och <computeroutput>FIXME</computeroutput> i vår exempelfil <filename>hello.cpp</filename>:</para> +<programlisting>Hello::Hello() : TDEMainWindow( 0, "Hello" ) { // set the shell's ui resource file @@ -2690,274 +1396,132 @@ linkend="gettingstarted-edit-arrange-sourceheader" new QLabel( "Hello World", this, "hello label" ); } </programlisting> -<para ->ser du dem också angivna i verktygsvyn <guilabel ->Problem</guilabel ->:</para> +<para>ser du dem också angivna i verktygsvyn <guilabel>Problem</guilabel>:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="problem-report-marks.png" format="PNG"/> </imageobject> -<caption -><para ->Problemrapporten som anger rader som kräver uppmärksamhet i nuvarande fil som redigeras.</para -></caption> +<caption><para>Problemrapporten som anger rader som kräver uppmärksamhet i nuvarande fil som redigeras.</para></caption> </mediaobject> </screenshot> -<para ->Observera övriga flikar i verktygsvyn <guilabel ->Problem</guilabel ->, i synnerhet <guilabel ->Fixa</guilabel -> och <guilabel ->Uppgift</guilabel ->. Om du öppnar den ser du alla rader markerade med <computeroutput ->FIXME</computeroutput -> och <computeroutput ->TODO</computeroutput -> som &tdevelop; hittills har hittat i sessionen. Informationen om <computeroutput ->TODO</computeroutput -> set för närvarande ut på följande sätt:</para> +<para>Observera övriga flikar i verktygsvyn <guilabel>Problem</guilabel>, i synnerhet <guilabel>Fixa</guilabel> och <guilabel>Uppgift</guilabel>. Om du öppnar den ser du alla rader markerade med <computeroutput>FIXME</computeroutput> och <computeroutput>TODO</computeroutput> som &tdevelop; hittills har hittat i sessionen. Informationen om <computeroutput>TODO</computeroutput> set för närvarande ut på följande sätt:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="problem-report-all-todos.png" format="PNG"/> </imageobject> -<caption -><para ->Problemrapporten har samlat information om <computeroutput ->TODO</computeroutput ->.</para -></caption> +<caption><para>Problemrapporten har samlat information om <computeroutput>TODO</computeroutput>.</para></caption> </mediaobject> </screenshot> -<para ->Fliken <guilabel ->Fel</guilabel -> listar dock inte varje kodningsfel som du gör. Det arbetet utförs av andra verktyg under byggprocessen. Här hittar du information om några vanliga programmeringsmisstag, som troligen annars skulle förbli obemärkta och troligen med svårighet hittas via komplicerade avlusningssessioner.</para> +<para>Fliken <guilabel>Fel</guilabel> listar dock inte varje kodningsfel som du gör. Det arbetet utförs av andra verktyg under byggprocessen. Här hittar du information om några vanliga programmeringsmisstag, som troligen annars skulle förbli obemärkta och troligen med svårighet hittas via komplicerade avlusningssessioner.</para> -<para ->Du kommer att märka att problemrapportfunktionen i &tdevelop; är ett mycket värdefullt verktyg, så kontrollera verktygsvyn <guilabel ->Problem</guilabel -> regelbundet under utvecklingsprocessen.</para> +<para>Du kommer att märka att problemrapportfunktionen i &tdevelop; är ett mycket värdefullt verktyg, så kontrollera verktygsvyn <guilabel>Problem</guilabel> regelbundet under utvecklingsprocessen.</para> </sect2> </sect1> <sect1 id="gettingstarted-compile"> -<title ->Hur man kompilerar ett projekt</title> +<title>Hur man kompilerar ett projekt</title> -<para ->Att kompilera ett projekt i &tdevelop; kräver flera inställningssteg och därefter att programmet byggs. Allt detta är tillgängligt via menyn <guimenu ->Bygg</guimenu ->.</para> +<para>Att kompilera ett projekt i &tdevelop; kräver flera inställningssteg och därefter att programmet byggs. Allt detta är tillgängligt via menyn <guimenu>Bygg</guimenu>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="build-menu.png" format="PNG"/> </imageobject> -<caption -><para ->Att bygga ett projekt kräver flera steg.</para -></caption> +<caption><para>Att bygga ett projekt kräver flera steg.</para></caption> </mediaobject> </screenshot> -<para ->För närvarande är vi bara intresserade av menyns övre del. Alternativen är där sorterade efter hur viktiga de är. Därför är kommandot som oftast behövs längst upp, alternativet <guimenuitem ->Bygg projekt</guimenuitem -> som gör att hela projektet initieras, kompileras och länkas efter behov. Andra alternativ finns för att kompilera valda delar av projektet, eller bara en enstaka fil, för att utföra flera olika initieringssekvenser, eller för att installera det färdiga programmets binärfiler.</para> +<para>För närvarande är vi bara intresserade av menyns övre del. Alternativen är där sorterade efter hur viktiga de är. Därför är kommandot som oftast behövs längst upp, alternativet <guimenuitem>Bygg projekt</guimenuitem> som gör att hela projektet initieras, kompileras och länkas efter behov. Andra alternativ finns för att kompilera valda delar av projektet, eller bara en enstaka fil, för att utföra flera olika initieringssekvenser, eller för att installera det färdiga programmets binärfiler.</para> -<para ->För tillfället koncentrerar vi oss på flera funktioner som &tdevelop; tillhandahåller för att ställa in projektet, initiera, bygga och köra programmet. I allmänhet omfattar det:</para> +<para>För tillfället koncentrerar vi oss på flera funktioner som &tdevelop; tillhandahåller för att ställa in projektet, initiera, bygga och köra programmet. I allmänhet omfattar det:</para> <simplelist> -<member -><link linkend="gettingstarted-compile-basic" ->Ta en snabb titt på den grundläggande byggcykeln.</link -></member> -<member -><link linkend="gettingstarted-compile-setup" ->Titta på några enkla sätt att anpassa ett projekt.</link -></member> +<member><link linkend="gettingstarted-compile-basic">Ta en snabb titt på den grundläggande byggcykeln.</link></member> +<member><link linkend="gettingstarted-compile-setup">Titta på några enkla sätt att anpassa ett projekt.</link></member> </simplelist> <sect2 id="gettingstarted-compile-basic"> -<title ->Den grundläggande byggcykeln</title> +<title>Den grundläggande byggcykeln</title> -<para ->När man väl har skapat ett nytt projekt, vill man oftast kontrollera om allt hittills har gått bra. Det omfattar att bygga projektet för första gången och testköra programmet, vilket vi ska göra nu. För att kompilera ett projekt för första gången finns det flera steg att utföra, som vi tar en snabb titt på:</para> +<para>När man väl har skapat ett nytt projekt, vill man oftast kontrollera om allt hittills har gått bra. Det omfattar att bygga projektet för första gången och testköra programmet, vilket vi ska göra nu. För att kompilera ett projekt för första gången finns det flera steg att utföra, som vi tar en snabb titt på:</para> <simplelist> -<member -><link linkend="gettingstarted-compile-basic-init" ->Hur projektet initieras för att bygga det första gången.</link -></member> -<member -><link linkend="gettingstarted-compile-basic-config" ->Hur de ursprungliga inställningarna görs.</link -></member> -<member -><link linkend="gettingstarted-compile-basic-build" ->Hur man bygger projektet.</link -></member> -<member -><link linkend="gettingstarted-compile-basic-run" ->Hur programmet körs inifrån &tdevelop;.</link -></member> +<member><link linkend="gettingstarted-compile-basic-init">Hur projektet initieras för att bygga det första gången.</link></member> +<member><link linkend="gettingstarted-compile-basic-config">Hur de ursprungliga inställningarna görs.</link></member> +<member><link linkend="gettingstarted-compile-basic-build">Hur man bygger projektet.</link></member> +<member><link linkend="gettingstarted-compile-basic-run">Hur programmet körs inifrån &tdevelop;.</link></member> </simplelist> <note> -<para ->Beskrivningen förutsätter att projektet är baserat på &GNU; autotools, vilket aktiverar Hantering av automake i &tdevelop;, liksom vårt exempelprojekt Hello. Om du skapar en annan projektttyp, t.ex. för &Qt;-baserad projekthantering med <application ->QMake</application ->, finns andra funktioner tillgängliga i menyerna, eller kanske inte några av dem. Du måste använda respektive leverantörs dokumentation om projekthantering och hur man bygger projekt i dessa fall.</para> +<para>Beskrivningen förutsätter att projektet är baserat på &GNU; autotools, vilket aktiverar Hantering av automake i &tdevelop;, liksom vårt exempelprojekt Hello. Om du skapar en annan projektttyp, t.ex. för &Qt;-baserad projekthantering med <application>QMake</application>, finns andra funktioner tillgängliga i menyerna, eller kanske inte några av dem. Du måste använda respektive leverantörs dokumentation om projekthantering och hur man bygger projekt i dessa fall.</para> </note> <sect3 id="gettingstarted-compile-basic-init"> -<title ->Initiera projektet så att det kan byggas</title> - -<para ->När programguiden skapade vårt exempelprojekt Hello, lämnade den det i ett sorts <quote ->orört</quote -> utgångstillstånd. Verktygskedjan i &GNU; autotools kräver att flera initieringssteg utförs innan programmet verkligen kan kompileras och länkas. Om du försöker bygga ett projekt när det är i detta utgångstillstånd, t.ex. genom att välja <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg projekt</guimenuitem -></menuchoice -> eller trycka på funktionstangenten <keycap ->F8</keycap ->, får du följande varning:</para> +<title>Initiera projektet så att det kan byggas</title> + +<para>När programguiden skapade vårt exempelprojekt Hello, lämnade den det i ett sorts <quote>orört</quote> utgångstillstånd. Verktygskedjan i &GNU; autotools kräver att flera initieringssteg utförs innan programmet verkligen kan kompileras och länkas. Om du försöker bygga ett projekt när det är i detta utgångstillstånd, t.ex. genom att välja <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Bygg projekt</guimenuitem></menuchoice> eller trycka på funktionstangenten <keycap>F8</keycap>, får du följande varning:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="raw-project-warning.png" format="PNG"/> </imageobject> -<caption -><para ->Försöker bygga ett obehandlat projekt baserat på automake.</para -></caption> +<caption><para>Försöker bygga ett obehandlat projekt baserat på automake.</para></caption> </mediaobject> </screenshot> -<para ->Du kan klicka på knappen <guibutton ->Kör dem</guibutton ->, vilket gör att &tdevelop; automatiskt försöker köra alla inställningssteg som krävs innan programmet kompileras och länkas. Men vi ska titta på de inledande stegen i följd, så avbryt dialogrutan genom att klicka på <guibutton ->Kör inte</guibutton ->. </para> +<para>Du kan klicka på knappen <guibutton>Kör dem</guibutton>, vilket gör att &tdevelop; automatiskt försöker köra alla inställningssteg som krävs innan programmet kompileras och länkas. Men vi ska titta på de inledande stegen i följd, så avbryt dialogrutan genom att klicka på <guibutton>Kör inte</guibutton>. </para> -<para ->Som redan har nämnts utförs kompilering och länkning av programmet via menyn <guimenu ->Bygg</guimenu ->. Visa den och välj <guimenuitem ->Kör automake och besläktade program</guimenuitem ->.</para> +<para>Som redan har nämnts utförs kompilering och länkning av programmet via menyn <guimenu>Bygg</guimenu>. Visa den och välj <guimenuitem>Kör automake och besläktade program</guimenuitem>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="build-menu-automake.png" format="PNG"/> </imageobject> -<caption -><para ->Starta en grundläggande initieringskörning.</para -></caption> +<caption><para>Starta en grundläggande initieringskörning.</para></caption> </mediaobject> </screenshot> -<para ->&tdevelop; öppnar nu verktygsvyn <guilabel ->Meddelanden</guilabel -> längst ner och visa en följd av meddelanden som skapas av flera olika byggverktyg. Om allting gick bra, ska den sista raden lyda: <quote -><computeroutput ->*** Lyckades ***</computeroutput -></quote ->.</para> +<para>&tdevelop; öppnar nu verktygsvyn <guilabel>Meddelanden</guilabel> längst ner och visa en följd av meddelanden som skapas av flera olika byggverktyg. Om allting gick bra, ska den sista raden lyda: <quote><computeroutput>*** Lyckades ***</computeroutput></quote>.</para> -<para ->Om du rullar tillbaka längst upp, hittar du kommandoraden som &tdevelop; utförde för att anropa verktygen i bakgrunden:</para> +<para>Om du rullar tillbaka längst upp, hittar du kommandoraden som &tdevelop; utförde för att anropa verktygen i bakgrunden:</para> -<programlisting ->cd '/home/devel/projects/hello' && \ +<programlisting>cd '/home/devel/projects/hello' && \ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs </programlisting> -<para ->Det säger att &tdevelop; först bytte till vårt exempelprojekts rotkatalog. Därefter skapades en särskild miljö, som talar om för byggsystemet vilka versioner av <application ->autoconf</application -> och <application ->automake</application -> som används för initieringen. Till sist instruerades byggverktyget (&GNU; <application ->gmake</application -> i detta fall) att behandla byggfilen <filename ->Makefile.cvs</filename ->.</para> - -<para ->Byggfilen skapades automatiskt när projektet Hello skapades.Den innehåller alla kommandon som behövs för att initiera projektet rätt, så att programmet som skapas kan köras i &kde;. I synnerhet skapar den skripfilen <filename ->configure</filename -> som är nödvändig för att utföra nästa inställningssteg.</para> +<para>Det säger att &tdevelop; först bytte till vårt exempelprojekts rotkatalog. Därefter skapades en särskild miljö, som talar om för byggsystemet vilka versioner av <application>autoconf</application> och <application>automake</application> som används för initieringen. Till sist instruerades byggverktyget (&GNU; <application>gmake</application> i detta fall) att behandla byggfilen <filename>Makefile.cvs</filename>.</para> + +<para>Byggfilen skapades automatiskt när projektet Hello skapades.Den innehåller alla kommandon som behövs för att initiera projektet rätt, så att programmet som skapas kan köras i &kde;. I synnerhet skapar den skripfilen <filename>configure</filename> som är nödvändig för att utföra nästa inställningssteg.</para> </sect3> <sect3 id="gettingstarted-compile-basic-config"> -<title ->Inledande konfiguration av Hello</title> - -<para ->Att konfigurera betyder att anpassa byggprocessen till egenheter hos hårdvaran och programvaran i systemet. Det är ett grundkrav i byggprocesser baserade på &GNU; autotools, som du troligen redan vet.</para> - -<para ->Du kan först beordra en konfigureringssekvens när den grundläggande initieringen av automake har avslutats med lyckat resultat, eftersom de nödvändiga <filename ->configure</filename ->-filerna inte är tillgängliga förrän efter den inledande körningen. När den är gjord, välj menyalternativet <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör configure</guimenuitem -></menuchoice -> för att påbörja konfigureringssekvensen.</para> - -<para ->&tdevelop; öppnade verktygsvyn <guilabel ->Meddelanden</guilabel -> igen om det behövdes, och listade meddelanden från körningen av configure i den. Om allt gick bra, är de sista meddelandena <quote -><computeroutput ->Good - your configure finished. Start make now</computeroutput -></quote -> (som skrevs ut av configure) följt av meddelandet <quote -><computeroutput ->*** Lyckades ***</computeroutput -></quote -> från &tdevelop;.</para> - -<para id="gettingstarted-compile-basic-config-cmd" ->Längst upp i fönstret <guilabel ->Meddelanden</guilabel -> hittar du åter kommandoraden som &tdevelop; använde för att starta konfigurationen:</para> - -<programlisting ->mkdir '/home/devel/projects/hello/debug' && \ +<title>Inledande konfiguration av Hello</title> + +<para>Att konfigurera betyder att anpassa byggprocessen till egenheter hos hårdvaran och programvaran i systemet. Det är ett grundkrav i byggprocesser baserade på &GNU; autotools, som du troligen redan vet.</para> + +<para>Du kan först beordra en konfigureringssekvens när den grundläggande initieringen av automake har avslutats med lyckat resultat, eftersom de nödvändiga <filename>configure</filename>-filerna inte är tillgängliga förrän efter den inledande körningen. När den är gjord, välj menyalternativet <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör configure</guimenuitem></menuchoice> för att påbörja konfigureringssekvensen.</para> + +<para>&tdevelop; öppnade verktygsvyn <guilabel>Meddelanden</guilabel> igen om det behövdes, och listade meddelanden från körningen av configure i den. Om allt gick bra, är de sista meddelandena <quote><computeroutput>Good - your configure finished. Start make now</computeroutput></quote> (som skrevs ut av configure) följt av meddelandet <quote><computeroutput>*** Lyckades ***</computeroutput></quote> från &tdevelop;.</para> + +<para id="gettingstarted-compile-basic-config-cmd">Längst upp i fönstret <guilabel>Meddelanden</guilabel> hittar du åter kommandoraden som &tdevelop; använde för att starta konfigurationen:</para> + +<programlisting>mkdir '/home/devel/projects/hello/debug' && \ cd '/home/devel/projects/hello/debug' && \ CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full </programlisting> -<para ->Du kan se flera intressanta detaljer i kommandona.</para> +<para>Du kan se flera intressanta detaljer i kommandona.</para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> +<tgroup cols="2"><tbody><row> <entry> <mediaobject> <imageobject> @@ -2968,230 +1532,90 @@ CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full <entry> <itemizedlist> <listitem> -<para ->För det första använder &tdevelop; en särskild underkatalog i projektets katalogträd för byggprocessen. Byggkatalogen <filename class="directory" ->debug</filename -> (som visas till vänster) speglar den grundläggande projektstrukturen och innehåller en mängd byggrelaterade filer, som flera <filename ->configure</filename ->-baserade filer och dessutom en <filename ->Makefile</filename -> i varje underkatalog.</para> +<para>För det första använder &tdevelop; en särskild underkatalog i projektets katalogträd för byggprocessen. Byggkatalogen <filename class="directory">debug</filename> (som visas till vänster) speglar den grundläggande projektstrukturen och innehåller en mängd byggrelaterade filer, som flera <filename>configure</filename>-baserade filer och dessutom en <filename>Makefile</filename> i varje underkatalog.</para> </listitem> <listitem> -<para ->I det närmast följande avsnittet <link linkend="gettingstarted-compile-setup" ->Anpassa projektet</link -> ger vi en kortfattad beskrivning av motiven till att &tdevelop; använder separata byggkataloger i fall som dessa. För ögonblicket är det nog att veta att &tdevelop; skapade katalogen <filename class="directory" ->debug</filename -> (om det behövdes) innan anropet till configure, och att skriptet <filename ->configure</filename -> skapade delstrukturen och alla <filename ->Makefile</filename -> i den.</para> +<para>I det närmast följande avsnittet <link linkend="gettingstarted-compile-setup">Anpassa projektet</link> ger vi en kortfattad beskrivning av motiven till att &tdevelop; använder separata byggkataloger i fall som dessa. För ögonblicket är det nog att veta att &tdevelop; skapade katalogen <filename class="directory">debug</filename> (om det behövdes) innan anropet till configure, och att skriptet <filename>configure</filename> skapade delstrukturen och alla <filename>Makefile</filename> i den.</para> </listitem> <listitem> -<para ->Därefter, anropade &tdevelop; skriptet <filename ->configure</filename -> inifrån byggkatalogen <filename class="directory" ->debug</filename -> i vårt projekts rotkatalog med en särskild miljö, där argumenten <computeroutput ->CXXFLAGS="-O0 -g3"</computeroutput -> senare talar om för &gcc;-kompilatorn att den inte ska optimera binärfilerna som skapas, och att den ska inkludera fullständig avlusningsinformation i dem.</para> +<para>Därefter, anropade &tdevelop; skriptet <filename>configure</filename> inifrån byggkatalogen <filename class="directory">debug</filename> i vårt projekts rotkatalog med en särskild miljö, där argumenten <computeroutput>CXXFLAGS="-O0 -g3"</computeroutput> senare talar om för &gcc;-kompilatorn att den inte ska optimera binärfilerna som skapas, och att den ska inkludera fullständig avlusningsinformation i dem.</para> </listitem> <listitem> -<para ->Till sist anropas skriptet <filename ->configure</filename -> med alternativet <computeroutput ->--enable-debug=full</computeroutput -> som talar om för det att skapa varje <filename ->Makefile</filename -> så att efterföljande kompilering och länkning får all nödvändig avlusningsinformation inbyggd och användbar.</para> +<para>Till sist anropas skriptet <filename>configure</filename> med alternativet <computeroutput>--enable-debug=full</computeroutput> som talar om för det att skapa varje <filename>Makefile</filename> så att efterföljande kompilering och länkning får all nödvändig avlusningsinformation inbyggd och användbar.</para> </listitem> </itemizedlist> </entry> -</row -></tbody -></tgroup> +</row></tbody></tgroup> </informaltable> -<para ->Alla inställningarna kan anpassa för varje projekt. Du kommer att lära dig mer om det i kapitlet <link linkend="project-management" ->Projekthantering</link ->.</para> +<para>Alla inställningarna kan anpassa för varje projekt. Du kommer att lära dig mer om det i kapitlet <link linkend="project-management">Projekthantering</link>.</para> </sect3> <sect3 id="gettingstarted-compile-basic-build"> -<title ->Bygga projektet</title> +<title>Bygga projektet</title> -<para ->När du väl har kommit så här långt är du klar att verkligen bygga, dvs. kompilera och länka programmet. Genom att titta i menyn <guimenu ->Bygg</guimenu ->, ser du att det finns tre sådana kompileringsalternativ att välja bland.</para> +<para>När du väl har kommit så här långt är du klar att verkligen bygga, dvs. kompilera och länka programmet. Genom att titta i menyn <guimenu>Bygg</guimenu>, ser du att det finns tre sådana kompileringsalternativ att välja bland.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="build-commands.png" format="PNG"/> </imageobject> -<caption -><para ->Kommandon i &tdevelop; för att bygga binärfiler.</para -></caption> +<caption><para>Kommandon i &tdevelop; för att bygga binärfiler.</para></caption> </mediaobject> </screenshot> -<para ->Nerifrån och uppåt, finns det:</para> +<para>Nerifrån och uppåt, finns det:</para> <itemizedlist> <listitem> -<para -><guimenuitem ->Kompilera fil</guimenuitem ->: Det kompilerar källkodsfilen i redigeringsfönstret som för närvarande är öppet. Används oftast för snabb kontroll av fel.</para> +<para><guimenuitem>Kompilera fil</guimenuitem>: Det kompilerar källkodsfilen i redigeringsfönstret som för närvarande är öppet. Används oftast för snabb kontroll av fel.</para> </listitem> <listitem> -<para -><guimenuitem ->Bygg aktivt mål</guimenuitem ->: Det används i huvudsak i samband med <link linkend="gettingstarted-extend-automake" ->Hantering av automake</link ->, som vi tar en snabb titt på nedan.</para> +<para><guimenuitem>Bygg aktivt mål</guimenuitem>: Det används i huvudsak i samband med <link linkend="gettingstarted-extend-automake">Hantering av automake</link>, som vi tar en snabb titt på nedan.</para> </listitem> <listitem> -<para -><guimenuitem ->Bygg projekt</guimenuitem ->: Det är vad vi nu är intresserade av. Det går igenom hela projektet, kompilerar och länkar filer där det är nödvändigt.</para> +<para><guimenuitem>Bygg projekt</guimenuitem>: Det är vad vi nu är intresserade av. Det går igenom hela projektet, kompilerar och länkar filer där det är nödvändigt.</para> </listitem> </itemizedlist> -<para ->Det kan vara intressant att se vad som händer med katalogen <filename class="directory" ->debug</filename -> som skapades under föregående körning av <filename ->configure</filename ->. Därför är det bäst att behålla den öppen med alla underkataloger synliga, som visas ovan. Välj därefter <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Bygg projekt</guimenuitem -></menuchoice -> (eller tryck på tangenten <keycap ->F8</keycap ->) för att påbörja byggsekvensen. Som tidigare öppnas verktygsvyn <guilabel ->Meddelanden</guilabel -> längst ner och listar resultatet av byggkörningen. Dessutom dyker några filer upp i underkatalogträdet <filename class="directory" ->debug</filename ->.</para> - -<para id="gettingstarted-compile-basic-build-cmd" ->Det finns inte många källkodsfiler i vårt exempelprojekt Hello, alltså kommer fönstret <guilabel ->Meddelanden</guilabel -> bara innehålla några få rader. Leta återigen rätt på kommandoraden ovanför dem som &tdevelop; skickade till skalet i bakgrunden.</para> - -<programlisting ->cd '/home/devel/projects/hello/debug' && \ +<para>Det kan vara intressant att se vad som händer med katalogen <filename class="directory">debug</filename> som skapades under föregående körning av <filename>configure</filename>. Därför är det bäst att behålla den öppen med alla underkataloger synliga, som visas ovan. Välj därefter <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Bygg projekt</guimenuitem></menuchoice> (eller tryck på tangenten <keycap>F8</keycap>) för att påbörja byggsekvensen. Som tidigare öppnas verktygsvyn <guilabel>Meddelanden</guilabel> längst ner och listar resultatet av byggkörningen. Dessutom dyker några filer upp i underkatalogträdet <filename class="directory">debug</filename>.</para> + +<para id="gettingstarted-compile-basic-build-cmd">Det finns inte många källkodsfiler i vårt exempelprojekt Hello, alltså kommer fönstret <guilabel>Meddelanden</guilabel> bara innehålla några få rader. Leta återigen rätt på kommandoraden ovanför dem som &tdevelop; skickade till skalet i bakgrunden.</para> + +<programlisting>cd '/home/devel/projects/hello/debug' && \ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k </programlisting> -<para ->&tdevelop; bytte till <filename class="directory" ->debug</filename ->-delträdets rot, vilket inte borde vara förvånande, för att köra filen <filename ->Makefile</filename -> som finns där. En särskild delmiljö skapades igen, som tidigare i <link linkend="gettingstarted-compile-basic-init" ->initieringssteget</link ->, i vilken verktyget <application ->gmake</application -> anropades.</para> - -<para ->Observera väljaren <computeroutput ->-k</computeroutput -> i anropet av <application ->gmake</application ->. Den tvingar byggprocessen att fortsätta till sitt slut, även om fel skulle uppstå. Det är vettigt eftersom &tdevelop; kommer att lista alla felmeddelanden i fönstret <guilabel ->Meddelanden</guilabel ->. Om det finns några, dra nytta av fördelarna med den integrerade utvecklingsmiljön: klicka bara på felmeddelandet i fönstret <guilabel ->Meddelanden</guilabel -> så går &tdevelop; till det exakta stället där felet uppstod i källkodsfilen.</para> - -<para ->Och vad hände inne i delträdet <filename class="directory" ->debug</filename ->? Inte så mycket. Några få filer dök upp i grenarna <filename class="directory" ->doc/en</filename -> och <filename class="directory" ->src</filename ->, i synnerhet filen <filename ->hello</filename -> i <filename class="directory" ->/home/devel/projects/hello/debug/src/</filename ->. Den är, till sist, programmets binärfil som vi sökte. Allt som är kvar att göra i vår inledande kontroll av projektet är att köra <filename ->hello</filename ->.</para> +<para>&tdevelop; bytte till <filename class="directory">debug</filename>-delträdets rot, vilket inte borde vara förvånande, för att köra filen <filename>Makefile</filename> som finns där. En särskild delmiljö skapades igen, som tidigare i <link linkend="gettingstarted-compile-basic-init">initieringssteget</link>, i vilken verktyget <application>gmake</application> anropades.</para> + +<para>Observera väljaren <computeroutput>-k</computeroutput> i anropet av <application>gmake</application>. Den tvingar byggprocessen att fortsätta till sitt slut, även om fel skulle uppstå. Det är vettigt eftersom &tdevelop; kommer att lista alla felmeddelanden i fönstret <guilabel>Meddelanden</guilabel>. Om det finns några, dra nytta av fördelarna med den integrerade utvecklingsmiljön: klicka bara på felmeddelandet i fönstret <guilabel>Meddelanden</guilabel> så går &tdevelop; till det exakta stället där felet uppstod i källkodsfilen.</para> + +<para>Och vad hände inne i delträdet <filename class="directory">debug</filename>? Inte så mycket. Några få filer dök upp i grenarna <filename class="directory">doc/en</filename> och <filename class="directory">src</filename>, i synnerhet filen <filename>hello</filename> i <filename class="directory">/home/devel/projects/hello/debug/src/</filename>. Den är, till sist, programmets binärfil som vi sökte. Allt som är kvar att göra i vår inledande kontroll av projektet är att köra <filename>hello</filename>.</para> </sect3> <sect3 id="gettingstarted-compile-basic-run"> -<title ->Köra programmet</title> - -<para ->Det finns inte några extra steg inblandade för att köra det nya programmet hello. Välj antingen <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör program</guimenuitem -></menuchoice ->, tryck på <keycombo -><keycap ->Skift</keycap -> <keycap ->F9</keycap -></keycombo -> eller använd knappen <guibutton ->Kör program</guibutton -> i <guilabel ->byggverktygsraden</guilabel -> som visas nedan.</para> +<title>Köra programmet</title> + +<para>Det finns inte några extra steg inblandade för att köra det nya programmet hello. Välj antingen <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör program</guimenuitem></menuchoice>, tryck på <keycombo><keycap>Skift</keycap> <keycap>F9</keycap></keycombo> eller använd knappen <guibutton>Kör program</guibutton> i <guilabel>byggverktygsraden</guilabel> som visas nedan.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="run-button.png"/> </imageobject> -<caption -><para ->Köra ett program från <guilabel ->Byggverktygsraden</guilabel ->.</para> +<caption><para>Köra ett program från <guilabel>Byggverktygsraden</guilabel>.</para> </caption> </mediaobject> </screenshot> -<para ->Det är allt. &tdevelop; startar nu det nya programmet i ett särskilt terminalfönster som verktygsvyn <guilabel ->Program</guilabel -> längst ner. Där visas kommandot som &tdevelop; utförde för att köra programmet på raden längst upp:</para> +<para>Det är allt. &tdevelop; startar nu det nya programmet i ett särskilt terminalfönster som verktygsvyn <guilabel>Program</guilabel> längst ner. Där visas kommandot som &tdevelop; utförde för att köra programmet på raden längst upp:</para> -<programlisting ->./hello +<programlisting>./hello </programlisting> -<para ->som visar att den integrerade utvecklingsmiljön har en uppfattning om var programmet som ska köras finns. Denna uppfattning kan ställas in på många sätt. Se mer om detta i kapitlet <link linkend="project-management" ->Projekthantering</link ->.</para> +<para>som visar att den integrerade utvecklingsmiljön har en uppfattning om var programmet som ska köras finns. Denna uppfattning kan ställas in på många sätt. Se mer om detta i kapitlet <link linkend="project-management">Projekthantering</link>.</para> -<para ->Raden <computeroutput ->./hello</computeroutput -> följs troligen av ett varningsmeddelande. Ignorera det för tillfället. Det förhindrar inte att vårt program <application ->hello</application -> kör.</para> +<para>Raden <computeroutput>./hello</computeroutput> följs troligen av ett varningsmeddelande. Ignorera det för tillfället. Det förhindrar inte att vårt program <application>hello</application> kör.</para> <screenshot> <mediaobject> @@ -3199,898 +1623,450 @@ WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k <imagedata fileref="hello-world-app.png" format="PNG"/> </imageobject> <caption> -<para ->Vårt ursprungliga <application ->Hello</application ->-program.</para> +<para>Vårt ursprungliga <application>Hello</application>-program.</para> </caption> </mediaobject> </screenshot> -<para ->Stäng programfönstret <application ->Hello</application -> som vanligt. Om inga fel uppstod rapporterar &tdevelop; det som <quote -><computeroutput ->*** Avslutade normalt ***</computeroutput -></quote -> i verktygsvyn <guilabel ->Program</guilabel ->.</para> +<para>Stäng programfönstret <application>Hello</application> som vanligt. Om inga fel uppstod rapporterar &tdevelop; det som <quote><computeroutput>*** Avslutade normalt ***</computeroutput></quote> i verktygsvyn <guilabel>Program</guilabel>.</para> </sect3> </sect2> <sect2 id="gettingstarted-compile-setup"> -<title ->Anpassa projektet</title> +<title>Anpassa projektet</title> -<para ->Det finns åtskilliga sätt att hantera ett projekt i &tdevelop;. Beteendet kan ställas in för varje projekt, och är mest intressant för avancerade utvecklare. Det finns dock några få projektspecifika inställningar som du bör känna till ända från början. </para> +<para>Det finns åtskilliga sätt att hantera ett projekt i &tdevelop;. Beteendet kan ställas in för varje projekt, och är mest intressant för avancerade utvecklare. Det finns dock några få projektspecifika inställningar som du bör känna till ända från början. </para> <simplelist> -<member -><link linkend="gettingstarted-compile-setup-build" ->Varför är bygginställningar användbara?</link -></member> - -<member -><link linkend="gettingstarted-compile-setup-config" ->Var beteendet hos skriptet <filename ->configure</filename -> ska definieras.</link -></member> - -<member -><link linkend="gettingstarted-compile-setup-make" ->Några överväganden om hur <application ->make</application -> ska köras.</link -></member> - -<member -><link linkend="gettingstarted-compile-setup-run" ->Var ska det körbara programmet finnas, och vad ska det heta?</link -></member> +<member><link linkend="gettingstarted-compile-setup-build">Varför är bygginställningar användbara?</link></member> + +<member><link linkend="gettingstarted-compile-setup-config">Var beteendet hos skriptet <filename>configure</filename> ska definieras.</link></member> + +<member><link linkend="gettingstarted-compile-setup-make">Några överväganden om hur <application>make</application> ska köras.</link></member> + +<member><link linkend="gettingstarted-compile-setup-run">Var ska det körbara programmet finnas, och vad ska det heta?</link></member> </simplelist> <sect3 id="gettingstarted-compile-setup-build"> -<title ->Bygginställningar</title> - -<para ->När vi körde skriptet <filename ->configure</filename -> i avsnittet <link linkend="gettingstarted-compile-basic-config" ->Inledande konfiguration av Hello</link -> ovan, noterade vi att &tdevelop; hade skapat den särskilda underkatalogen <filename class="directory" ->debug</filename -> för detta syfte. I detta avsnitt behandlar vi kortfattat några konsekvenser av denna funktion.</para> - -<para ->För det första använder &tdevelop; inte nödvändigtvis särskilda byggkataloger skilda från källkoden. Förberedelser för att automatiskt använda särskilda bygginställningar görs via de mallar som programguiden använder när ett nytt projekt skapas.</para> - -<para ->För att ta reda på vilka bygginställningar som för närvarande är tillgängliga, ta en titt på menyn <menuchoice -><guimenu ->Projekt</guimenu -> <guisubmenu ->Bygginställning</guisubmenu -></menuchoice ->.</para> +<title>Bygginställningar</title> + +<para>När vi körde skriptet <filename>configure</filename> i avsnittet <link linkend="gettingstarted-compile-basic-config">Inledande konfiguration av Hello</link> ovan, noterade vi att &tdevelop; hade skapat den särskilda underkatalogen <filename class="directory">debug</filename> för detta syfte. I detta avsnitt behandlar vi kortfattat några konsekvenser av denna funktion.</para> + +<para>För det första använder &tdevelop; inte nödvändigtvis särskilda byggkataloger skilda från källkoden. Förberedelser för att automatiskt använda särskilda bygginställningar görs via de mallar som programguiden använder när ett nytt projekt skapas.</para> + +<para>För att ta reda på vilka bygginställningar som för närvarande är tillgängliga, ta en titt på menyn <menuchoice><guimenu>Projekt</guimenu> <guisubmenu>Bygginställning</guisubmenu></menuchoice>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="build-configurations.png" format="PNG"/> </imageobject> -<caption -><para ->Det finns olika bygginställningar tillgängliga i projektet.</para -></caption> +<caption><para>Det finns olika bygginställningar tillgängliga i projektet.</para></caption> </mediaobject> </screenshot> -<para ->I detta fall, som i vårt exempelprojekt Hello, finns det tre olika tillgängliga bygginställningar. I andra fall kanske det bara finns en sådan bygginställning från början, nämligen <guimenuitem ->default</guimenuitem ->.</para> +<para>I detta fall, som i vårt exempelprojekt Hello, finns det tre olika tillgängliga bygginställningar. I andra fall kanske det bara finns en sådan bygginställning från början, nämligen <guimenuitem>default</guimenuitem>.</para> -<para ->Bygginställningen som för närvarande används har en bock till vänster. Välj helt enkelt menyalternativet för att byta till en annan bygginställning.</para> +<para>Bygginställningen som för närvarande används har en bock till vänster. Välj helt enkelt menyalternativet för att byta till en annan bygginställning.</para> -<para ->Låt oss nu ta en snabbtitt på vad bygginställningarna tillhandahåller.</para> +<para>Låt oss nu ta en snabbtitt på vad bygginställningarna tillhandahåller.</para> <variablelist id="gettingstarted-compile-setup-build-configs"> <varlistentry> -<term -><guimenuitem ->debug</guimenuitem -></term> +<term><guimenuitem>debug</guimenuitem></term> <listitem> -<para ->Du bör använda bygginställningen som standard under utvecklingsprocessen. Den byggs separat från källkodskatalogerna i den särskilda underkatalogen <filename class="directory" ->debug</filename ->, dvs. alla objektfiler, extrafiler och körbara filer placeras i dess underkataloger istället för motsvarande kataloger i projektets rot. Skriptet <filename ->configure</filename -> får väljaren <computeroutput ->--enable-debug=full</computeroutput -> och argumentet <computeroutput ->CXXFLAGS="-O0 -g3"</computeroutput -> talar om för &gcc;-kompilatorn att inte optimera koden och att infoga omfattande avlusningsinformation i de binärfiler som skapas.</para> +<para>Du bör använda bygginställningen som standard under utvecklingsprocessen. Den byggs separat från källkodskatalogerna i den särskilda underkatalogen <filename class="directory">debug</filename>, dvs. alla objektfiler, extrafiler och körbara filer placeras i dess underkataloger istället för motsvarande kataloger i projektets rot. Skriptet <filename>configure</filename> får väljaren <computeroutput>--enable-debug=full</computeroutput> och argumentet <computeroutput>CXXFLAGS="-O0 -g3"</computeroutput> talar om för &gcc;-kompilatorn att inte optimera koden och att infoga omfattande avlusningsinformation i de binärfiler som skapas.</para> </listitem> </varlistentry> <varlistentry> -<term -><guimenuitem ->optimized</guimenuitem -></term> +<term><guimenuitem>optimized</guimenuitem></term> <listitem> -<para ->Den här används för att bygga det slutliga C++ programmet. Den byggs separat från källkodskatalogerna i den särskilda underkatalogen <filename class="directory" ->optimized</filename ->. Skriptet <filename class="directory" ->configure</filename -> har inga särskilda förinställda väljare, medan <computeroutput ->CXXFLAGS="-O2 -g0"</computeroutput -> talar om för &gcc;-kompilatorn att optimera koden och inte infoga avlusningsinformation i de binärfiler som skapas.</para> +<para>Den här används för att bygga det slutliga C++ programmet. Den byggs separat från källkodskatalogerna i den särskilda underkatalogen <filename class="directory">optimized</filename>. Skriptet <filename class="directory">configure</filename> har inga särskilda förinställda väljare, medan <computeroutput>CXXFLAGS="-O2 -g0"</computeroutput> talar om för &gcc;-kompilatorn att optimera koden och inte infoga avlusningsinformation i de binärfiler som skapas.</para> </listitem> </varlistentry> <varlistentry> -<term -><guimenuitem ->default</guimenuitem -></term> +<term><guimenuitem>default</guimenuitem></term> <listitem> -<para ->Beteckningen <quote ->default</quote -> anger standardinställningen när ett program byggs i en terminal med t.ex. &GNU; byggverktygen <application ->configure</application -> och <application ->make</application ->/<application ->gmake</application -> på kommandoraden. I motsats till <guimenuitem ->debug</guimenuitem -> eller <guimenuitem ->optimized</guimenuitem -> används ingen särskild byggkatalog. Programmet byggs istället normalt i källkodskatalogerna. Inga särskilda konfigurationsväljare är fördefinierade. När programmet byggs och körs används de underliggande verktygens standardinställningar (t.ex. &gcc;, etc.).</para> +<para>Beteckningen <quote>default</quote> anger standardinställningen när ett program byggs i en terminal med t.ex. &GNU; byggverktygen <application>configure</application> och <application>make</application>/<application>gmake</application> på kommandoraden. I motsats till <guimenuitem>debug</guimenuitem> eller <guimenuitem>optimized</guimenuitem> används ingen särskild byggkatalog. Programmet byggs istället normalt i källkodskatalogerna. Inga särskilda konfigurationsväljare är fördefinierade. När programmet byggs och körs används de underliggande verktygens standardinställningar (t.ex. &gcc;, etc.).</para> <warning> -<para ->Tänk efter ordentligt innan du bestämmer dig för att använda bygginställningen <guimenuitem ->default</guimenuitem ->.</para> - -<para ->Den kan inte användas parallellt med de särskilda inställningarna <guimenuitem ->debug</guimenuitem -> och <guimenuitem ->optimized</guimenuitem ->. <emphasis ->Alla byggåtgärder som använder <guimenuitem ->default</guimenuitem -> gör att de båda andra bygginställningarna blir oanvändbara.</emphasis -> Det beror på några egenheter hos processen som skapar <filename ->Makefile</filename -> med mekanismerna i <application ->automake</application -> och <application ->autoconf</application ->, som inte är enkelt att få bukt med.</para> +<para>Tänk efter ordentligt innan du bestämmer dig för att använda bygginställningen <guimenuitem>default</guimenuitem>.</para> + +<para>Den kan inte användas parallellt med de särskilda inställningarna <guimenuitem>debug</guimenuitem> och <guimenuitem>optimized</guimenuitem>. <emphasis>Alla byggåtgärder som använder <guimenuitem>default</guimenuitem> gör att de båda andra bygginställningarna blir oanvändbara.</emphasis> Det beror på några egenheter hos processen som skapar <filename>Makefile</filename> med mekanismerna i <application>automake</application> och <application>autoconf</application>, som inte är enkelt att få bukt med.</para> </warning> </listitem> </varlistentry> </variablelist> -<para ->Varför vill man då använda olika bygginställningar överhuvudtaget, när de till och med inte verkar fungera tillsammans? Svaret är att det förenklar cykler med redigering, kompilering och avlusning. De extra avlusningsinstruktionerna som infogas i binärfilerna samt alla de subtila strukturändringarna som görs av programkoden under optimering påverkar beteendet när det körs för programmet som skapas. När den logiska strukturen hos en viss rutin verkar vara riktig, borde du testa om den fortfarande beter sig riktigt under mer realistiska förhållanden.</para> +<para>Varför vill man då använda olika bygginställningar överhuvudtaget, när de till och med inte verkar fungera tillsammans? Svaret är att det förenklar cykler med redigering, kompilering och avlusning. De extra avlusningsinstruktionerna som infogas i binärfilerna samt alla de subtila strukturändringarna som görs av programkoden under optimering påverkar beteendet när det körs för programmet som skapas. När den logiska strukturen hos en viss rutin verkar vara riktig, borde du testa om den fortfarande beter sig riktigt under mer realistiska förhållanden.</para> -<para ->Det är då bygginställningarna i &tdevelop; gör nytta. Eftersom byggobjekt och körbara filer i varje särskild byggkatalog, och byggkommandon, hålls åtskilda från varandra behöver bara ändringar av källkod hanteras när du byter mellan bygginställningarna.</para> +<para>Det är då bygginställningarna i &tdevelop; gör nytta. Eftersom byggobjekt och körbara filer i varje särskild byggkatalog, och byggkommandon, hålls åtskilda från varandra behöver bara ändringar av källkod hanteras när du byter mellan bygginställningarna.</para> -<para ->Istället för att rensa och kompilera om allt från början med andra inställningar, behöver du alltså bara byta från bygginställningen <guimenuitem ->debug</guimenuitem -> till <guimenuitem ->optimize</guimenuitem ->, kompilera ändringarna av källkoden och därefter starta om programmet under dessa förhållanden. Om något olämpligt visar sig, byt helt enkelt tillbaka till <guimenuitem ->debug</guimenuitem ->, och fortsätt omedelbart arbeta där.</para> +<para>Istället för att rensa och kompilera om allt från början med andra inställningar, behöver du alltså bara byta från bygginställningen <guimenuitem>debug</guimenuitem> till <guimenuitem>optimize</guimenuitem>, kompilera ändringarna av källkoden och därefter starta om programmet under dessa förhållanden. Om något olämpligt visar sig, byt helt enkelt tillbaka till <guimenuitem>debug</guimenuitem>, och fortsätt omedelbart arbeta där.</para> -<para ->En sista anmärkning: Många bygginställningar kan anpassas. Du kan till och med definiera dina egna bygginställningar om utvecklingsprocessen kräver det. Vi tar en snabb titt på dessa möjligheter i nästa avsnitt.</para> +<para>En sista anmärkning: Många bygginställningar kan anpassas. Du kan till och med definiera dina egna bygginställningar om utvecklingsprocessen kräver det. Vi tar en snabb titt på dessa möjligheter i nästa avsnitt.</para> </sect3> <sect3 id="gettingstarted-compile-setup-config"> -<title ->Konfigurationsalternativ för projektet</title> - -<para ->Att konfigurera programmet riktigt är livsviktigt i byggkedjan baserad på &GNU; autotools. Det styrs ofta av väljare för skriptet <filename ->configure</filename -> och/eller särskilda argumentinställningar i miljön innan <filename ->configure</filename -> körs, som t.ex. <computeroutput ->CXXFLAGS</computeroutput -> i vår tidigare beskrivning.</para> - -<para ->Du kan ställa in de flesta konfigurationsalternativen för ett givet projekt från &tdevelop;s grafiska gränssnitt. Välj <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar</guimenuitem -></menuchoice -> och därefter ikonen <guiicon ->Inställning av configure</guiicon -> på ikonraden till vänster i dialogrutan. Sidan <guilabel ->Inställning av configure</guilabel -> som innehåller flera flikfönster visas till höger.</para> +<title>Konfigurationsalternativ för projektet</title> + +<para>Att konfigurera programmet riktigt är livsviktigt i byggkedjan baserad på &GNU; autotools. Det styrs ofta av väljare för skriptet <filename>configure</filename> och/eller särskilda argumentinställningar i miljön innan <filename>configure</filename> körs, som t.ex. <computeroutput>CXXFLAGS</computeroutput> i vår tidigare beskrivning.</para> + +<para>Du kan ställa in de flesta konfigurationsalternativen för ett givet projekt från &tdevelop;s grafiska gränssnitt. Välj <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar</guimenuitem></menuchoice> och därefter ikonen <guiicon>Inställning av configure</guiicon> på ikonraden till vänster i dialogrutan. Sidan <guilabel>Inställning av configure</guilabel> som innehåller flera flikfönster visas till höger.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-configure.png" format="PNG"/> </imageobject> -<caption -><para ->De flesta inställningarna av configure kan anges här.</para -></caption> +<caption><para>De flesta inställningarna av configure kan anges här.</para></caption> </mediaobject> </screenshot> -<para ->Som du märker, finns det ett ganska stort antal alternativ som kan anges i dialogrutan. För tillfället tittar vi kortfattat på ett fåtal av dem med avseende på vårt exempelprojekt Hello. För detaljerade instruktioner, se kapitlet <link linkend="projects-configure" ->Konfigurera projekt</link ->. Om du vill veta mer om betydelsen hos olika argument som kan anges, slå upp <command ->info make</command -> i en terminal (eller <command ->info:make</command -> inne i &konqueror;) och titta i avsnittet <menuchoice -><guimenu ->Implicit Rules</guimenu -> <guimenuitem ->Implicit Variables</guimenuitem -></menuchoice ->.</para> - -<para ->Det finns flera inställningsfönster med flikar i dialogrutan, där det första, <guilabel ->Allmän</guilabel ->, visar ofta använda inställningar, medan de övriga är ganska kompilatorspecifika. Under alla omständigheter, styrs dock det verkliga innehållet i dialogrutorna av angiven bygginställning.</para> - -<para ->Du väljer bygginställningen vars inställningsalternativ ska definieras i kombinationsrutan <guilabel ->Inställning</guilabel -> längst upp i dialogrutan <guilabel ->Inställning av configure</guilabel ->.</para> +<para>Som du märker, finns det ett ganska stort antal alternativ som kan anges i dialogrutan. För tillfället tittar vi kortfattat på ett fåtal av dem med avseende på vårt exempelprojekt Hello. För detaljerade instruktioner, se kapitlet <link linkend="projects-configure">Konfigurera projekt</link>. Om du vill veta mer om betydelsen hos olika argument som kan anges, slå upp <command>info make</command> i en terminal (eller <command>info:make</command> inne i &konqueror;) och titta i avsnittet <menuchoice><guimenu>Implicit Rules</guimenu> <guimenuitem>Implicit Variables</guimenuitem></menuchoice>.</para> + +<para>Det finns flera inställningsfönster med flikar i dialogrutan, där det första, <guilabel>Allmän</guilabel>, visar ofta använda inställningar, medan de övriga är ganska kompilatorspecifika. Under alla omständigheter, styrs dock det verkliga innehållet i dialogrutorna av angiven bygginställning.</para> + +<para>Du väljer bygginställningen vars inställningsalternativ ska definieras i kombinationsrutan <guilabel>Inställning</guilabel> längst upp i dialogrutan <guilabel>Inställning av configure</guilabel>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-buildconfig.png" format="PNG"/> </imageobject> -<caption -><para ->Välj bygginställning vars inställningar ska definieras.</para -></caption> +<caption><para>Välj bygginställning vars inställningar ska definieras.</para></caption> </mediaobject> </screenshot> -<para ->Välj nu en annan bygginställning i kombinationsrutan och observera hur innehållet i t.ex. textrutorna <guilabel ->Configure-argument</guilabel -> och <guilabel ->Byggkatalog</guilabel -> ändras enligt inställningarna vi nämnde för <link linkend="gettingstarted-compile-setup-build-configs" ->bygginställningslistan</link -> ovan.</para> +<para>Välj nu en annan bygginställning i kombinationsrutan och observera hur innehållet i t.ex. textrutorna <guilabel>Configure-argument</guilabel> och <guilabel>Byggkatalog</guilabel> ändras enligt inställningarna vi nämnde för <link linkend="gettingstarted-compile-setup-build-configs">bygginställningslistan</link> ovan.</para> <sect4 id="gettingstarted-compile-setup-config-general"> -<title ->Allmänna konfigurationsinställningar</title> +<title>Allmänna konfigurationsinställningar</title> -<para ->Följande inställningsalternativ kan definieras på sidan <guilabel ->Allmänt</guilabel -> i dialogrutan:</para> +<para>Följande inställningsalternativ kan definieras på sidan <guilabel>Allmänt</guilabel> i dialogrutan:</para> <itemizedlist> <listitem> <formalpara> -<title ->Configure-argument</title> -<para ->Detta är alternativen som &tdevelop; tilldelar till anropet av skriptet <filename ->configure</filename -> i byggprocessen. Se <link linkend="gettingstarted-compile-basic-config-cmd" ->exemplet</link -> i avsnittet <quote ->Inledande konfiguration av Hello</quote -> ovan.</para> +<title>Configure-argument</title> +<para>Detta är alternativen som &tdevelop; tilldelar till anropet av skriptet <filename>configure</filename> i byggprocessen. Se <link linkend="gettingstarted-compile-basic-config-cmd">exemplet</link> i avsnittet <quote>Inledande konfiguration av Hello</quote> ovan.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Byggkatalog</title> -<para ->Detta är underkatalogen i nuvarande projektrot, där &tdevelop; placerar alla filer som skapas under byggprocessen. Idealiskt borde det motsvara namnet på bygginställningen som används, men du har möjlighet att använda vilket namn du vill, under förutsättning att det är annorlunda än alla andra byggkataloger.</para> +<title>Byggkatalog</title> +<para>Detta är underkatalogen i nuvarande projektrot, där &tdevelop; placerar alla filer som skapas under byggprocessen. Idealiskt borde det motsvara namnet på bygginställningen som används, men du har möjlighet att använda vilket namn du vill, under förutsättning att det är annorlunda än alla andra byggkataloger.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Övre källkatalog</title> -<para ->Du behöver inte den här ofta. Dess standardvärde är projektets rotkatalog, och den behöver bara definieras om om projektets källkod är placerad någon annanstans.</para> +<title>Övre källkatalog</title> +<para>Du behöver inte den här ofta. Dess standardvärde är projektets rotkatalog, och den behöver bara definieras om om projektets källkod är placerad någon annanstans.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->C/C++ preprocessorargument(CPPFLAGS)</title> -<para ->Skriv in särskilda instruktioner för preprocessorn här. &tdevelop; använder det för att skapa en tillfällig miljö innan själva byggverktyget anropas. Se återigen <link linkend="gettingstarted-compile-basic-config-cmd" ->exemplet</link -> i avsnittet <quote ->Inledande konfiguration av Hello</quote -> ovan hur det görs.</para> +<title>C/C++ preprocessorargument(CPPFLAGS)</title> +<para>Skriv in särskilda instruktioner för preprocessorn här. &tdevelop; använder det för att skapa en tillfällig miljö innan själva byggverktyget anropas. Se återigen <link linkend="gettingstarted-compile-basic-config-cmd">exemplet</link> i avsnittet <quote>Inledande konfiguration av Hello</quote> ovan hur det görs.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Länkargument (LDFLAGS)</title> -<para ->Det här är extra information för länkarverktyget <application ->ld</application ->, om var det ska leta efter ytterligare bibliotek. Den används också för att skapa den tillfälliga byggmiljön.</para> +<title>Länkargument (LDFLAGS)</title> +<para>Det här är extra information för länkarverktyget <application>ld</application>, om var det ska leta efter ytterligare bibliotek. Den används också för att skapa den tillfälliga byggmiljön.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Miljövariabler</title> -<para ->Här kan du definiera ytterligare variabler som ska ställas in i den tillfälliga byggmiljön som &tdevelop; skapar innan respektive byggverktyg anropas. Återigen, måste du definiera miljövariablerna för varje bygginställning där de ska användas.</para> +<title>Miljövariabler</title> +<para>Här kan du definiera ytterligare variabler som ska ställas in i den tillfälliga byggmiljön som &tdevelop; skapar innan respektive byggverktyg anropas. Återigen, måste du definiera miljövariablerna för varje bygginställning där de ska användas.</para> </formalpara> </listitem> </itemizedlist> </sect4> <sect4 id="gettingstarted-compile-setup-config-spec"> -<title ->Kompilatorspecifika inställningar</title> +<title>Kompilatorspecifika inställningar</title> -<para ->Övriga flikar på dialogsidan <guilabel ->Inställning av configure</guilabel -> är till för kompilatorspecifika inställningar. De är strukturerade på liknande sätt, så det är tillräckligt att snabbt titta på sidan <guilabel ->C++</guilabel ->.</para> +<para>Övriga flikar på dialogsidan <guilabel>Inställning av configure</guilabel> är till för kompilatorspecifika inställningar. De är strukturerade på liknande sätt, så det är tillräckligt att snabbt titta på sidan <guilabel>C++</guilabel>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-cpp.png" format="PNG"/> </imageobject> -<caption -><para ->Välj kompilator som &tdevelop; ska använda och dess arbetsomgivning här.</para -></caption> +<caption><para>Välj kompilator som &tdevelop; ska använda och dess arbetsomgivning här.</para></caption> </mediaobject> </screenshot> -<para ->Här kan du ställa in följande:</para> +<para>Här kan du ställa in följande:</para> <itemizedlist> <listitem> <formalpara> -<title ->C++ kompilator</title> -<para ->Välj den C++ kompilator som &tdevelop; normalt ska använda i kombinationsrutan. Den listar dock bara de kompilatorer som &tdevelop; redan känner till.</para> +<title>C++ kompilator</title> +<para>Välj den C++ kompilator som &tdevelop; normalt ska använda i kombinationsrutan. Den listar dock bara de kompilatorer som &tdevelop; redan känner till.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Kompilatorkommando (CXX)</title> -<para ->Bara för experter. Det behövs bara om en annan C++ kompilator än standardkompilatorn används. Skriv in namnet som den anropas med här.</para> +<title>Kompilatorkommando (CXX)</title> +<para>Bara för experter. Det behövs bara om en annan C++ kompilator än standardkompilatorn används. Skriv in namnet som den anropas med här.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Kompilatorargument (CXXFLAGS)</title> -<para ->Här kan du skriva in eventuella extra alternativ som &tdevelop; ska skicka till kompilatorn (via <filename ->Makefile</filename ->). Vissa alternativvärden är förinställda enligt bygginställning som valts med kombinationsrutan <guilabel ->Inställning</guilabel ->.</para> +<title>Kompilatorargument (CXXFLAGS)</title> +<para>Här kan du skriva in eventuella extra alternativ som &tdevelop; ska skicka till kompilatorn (via <filename>Makefile</filename>). Vissa alternativvärden är förinställda enligt bygginställning som valts med kombinationsrutan <guilabel>Inställning</guilabel>.</para> </formalpara> -<para ->Observera att många vanliga kompilatoralternativ kan väljas i en dialogruta som dyker upp när du klickar på knappen <guibutton ->...</guibutton -> till höger om textrutan.</para> +<para>Observera att många vanliga kompilatoralternativ kan väljas i en dialogruta som dyker upp när du klickar på knappen <guibutton>...</guibutton> till höger om textrutan.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-cppoptions.png" format="PNG"/> </imageobject> -<caption -><para ->Använd dialogrutan för att definiera beteendet hos &GNU; C++ kompilatorn.</para -></caption> +<caption><para>Använd dialogrutan för att definiera beteendet hos &GNU; C++ kompilatorn.</para></caption> </mediaobject> </screenshot> -<para ->Vi valda med avsikt fliken <guilabel ->Optimering</guilabel -> här. Observera att alternativet <guilabel ->Ingen optimering</guilabel -> är förvald (enligt det förinställda alternativet <guilabel ->-O0</guilabel -> i bygginställningen <computeroutput ->debug</computeroutput ->).</para> - -<para ->Tyvärr kan du för närvarande inte välja alla alternativ från dialogrutan Exempelvis alternativet <computeroutput ->-g3</computeroutput -> som används av bygginställningen <computeroutput ->debug</computeroutput -> måste ändras för hand om det någonsin behövs.</para> +<para>Vi valda med avsikt fliken <guilabel>Optimering</guilabel> här. Observera att alternativet <guilabel>Ingen optimering</guilabel> är förvald (enligt det förinställda alternativet <guilabel>-O0</guilabel> i bygginställningen <computeroutput>debug</computeroutput>).</para> + +<para>Tyvärr kan du för närvarande inte välja alla alternativ från dialogrutan Exempelvis alternativet <computeroutput>-g3</computeroutput> som används av bygginställningen <computeroutput>debug</computeroutput> måste ändras för hand om det någonsin behövs.</para> </listitem> </itemizedlist> </sect4> </sect3> <sect3 id="gettingstarted-compile-setup-make"> -<title ->Hur programmet ska byggas av make</title> - -<para ->Du kan dessutom anpassa sättet som &tdevelop; anropar verktyget <application ->make</application -> när projektet byggs. Välj <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar</guimenuitem -></menuchoice -> och därefter ikonen <guiicon ->Bygginställningar</guiicon -> till vänster i dialogfönstret. Dialogsidan <guilabel ->Bygginställningar</guilabel -> visas då till höger.</para> +<title>Hur programmet ska byggas av make</title> + +<para>Du kan dessutom anpassa sättet som &tdevelop; anropar verktyget <application>make</application> när projektet byggs. Välj <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar</guimenuitem></menuchoice> och därefter ikonen <guiicon>Bygginställningar</guiicon> till vänster i dialogfönstret. Dialogsidan <guilabel>Bygginställningar</guilabel> visas då till höger.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-make.png" format="PNG"/> </imageobject> -<caption -><para ->Definiera hur &tdevelop; anropar verktyget <application ->make</application ->.</para -></caption> +<caption><para>Definiera hur &tdevelop; anropar verktyget <application>make</application>.</para></caption> </mediaobject> </screenshot> -<para ->Det finns inte så mycket att göra här just nu. Den enda intressanta inställningen i de flesta fall är alternativet <guilabel ->Avbryt vid första fel</guilabel ->. Du kommer att märka att den är inaktiverad i de flesta projekt. Den motsvarar väljaren <computeroutput ->-k</computeroutput -> i anropet till <application ->gmake</application -> som vi hittade den första gången som exempelprojektet Hello <link linkend="gettingstarted-compile-basic-build-cmd" ->byggdes</link ->.</para> - -<para ->Det är vettigt i en integrerad utvecklingsmiljö som &tdevelop;, där alla felmeddelanden under byggningen lagras. Efter byggprocessen kan du enkelt gå till vilket felmeddelande som helst i verkygsfönstret <guilabel ->Meddelanden</guilabel ->. Använd <menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Nästa fel</guimenuitem -></menuchoice -> och <menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Föregående fel</guimenuitem -></menuchoice -> eller tangenterna <keycap ->F4</keycap -> och <keycombo -><keycap ->Skift</keycap -> <keycap ->F4</keycap -></keycombo -> för att göra det. &tdevelop; aktiverar automatiskt redigeringsfönstret för källkodsfilen i fråga och placerar markören på den felaktiga raden.</para> - -<para ->Om du å andra sidan hellre vill att byggningen ska stoppas så snart ett fel uppstår, markera alternativet <guilabel ->Avbryt vid första fel</guilabel -> i dialogrutan. &tdevelop; anropar du <application ->gmake</application -> utan väljaren <computeroutput ->-k</computeroutput ->.</para> +<para>Det finns inte så mycket att göra här just nu. Den enda intressanta inställningen i de flesta fall är alternativet <guilabel>Avbryt vid första fel</guilabel>. Du kommer att märka att den är inaktiverad i de flesta projekt. Den motsvarar väljaren <computeroutput>-k</computeroutput> i anropet till <application>gmake</application> som vi hittade den första gången som exempelprojektet Hello <link linkend="gettingstarted-compile-basic-build-cmd">byggdes</link>.</para> + +<para>Det är vettigt i en integrerad utvecklingsmiljö som &tdevelop;, där alla felmeddelanden under byggningen lagras. Efter byggprocessen kan du enkelt gå till vilket felmeddelande som helst i verkygsfönstret <guilabel>Meddelanden</guilabel>. Använd <menuchoice><guimenu>Visa</guimenu> <guimenuitem>Nästa fel</guimenuitem></menuchoice> och <menuchoice><guimenu>Visa</guimenu> <guimenuitem>Föregående fel</guimenuitem></menuchoice> eller tangenterna <keycap>F4</keycap> och <keycombo><keycap>Skift</keycap> <keycap>F4</keycap></keycombo> för att göra det. &tdevelop; aktiverar automatiskt redigeringsfönstret för källkodsfilen i fråga och placerar markören på den felaktiga raden.</para> + +<para>Om du å andra sidan hellre vill att byggningen ska stoppas så snart ett fel uppstår, markera alternativet <guilabel>Avbryt vid första fel</guilabel> i dialogrutan. &tdevelop; anropar du <application>gmake</application> utan väljaren <computeroutput>-k</computeroutput>.</para> </sect3> <sect3 id="gettingstarted-compile-setup-run"> -<title ->Hur det körbara programmet startas</title> - -<para ->När byggningen väl är färdig, kan du enkelt köra programmet inifrån &tdevelop;. Använd antingen <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Kör program</guimenuitem -></menuchoice ->, snabbtangenten <keycombo -><keycap ->Skift</keycap -> <keycap ->F9</keycap -></keycombo -> eller knappen <guibutton ->Kör program</guibutton -> i &tdevelop;s <guilabel ->byggverktygsrad</guilabel ->.</para> +<title>Hur det körbara programmet startas</title> + +<para>När byggningen väl är färdig, kan du enkelt köra programmet inifrån &tdevelop;. Använd antingen <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Kör program</guimenuitem></menuchoice>, snabbtangenten <keycombo><keycap>Skift</keycap> <keycap>F9</keycap></keycombo> eller knappen <guibutton>Kör program</guibutton> i &tdevelop;s <guilabel>byggverktygsrad</guilabel>.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="run-button.png" format="PNG"/> </imageobject> -<caption -><para ->Kör programmet här.</para -></caption> +<caption><para>Kör programmet här.</para></caption> </mediaobject> </screenshot> -<para ->Men var finns det körbara programmet som ska köras? Hur får man &tdevelop; att lägga till väljare i anropet? Eller hur kan man få programmet att köras i en egen terminal för att testa interaktivt beteende i terminalen?</para> - -<para ->Allt det kan lösas genom att ställa in några projektorienterade köralternativ i &tdevelop;. Välj <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar</guimenuitem -></menuchoice -> och därefter ikonen <guiicon ->Körinställningar</guiicon -> i ikonraden till vänster i dialogfönstret. Dialogsidan <guilabel ->Körinställningar</guilabel -> visas till höger.</para> +<para>Men var finns det körbara programmet som ska köras? Hur får man &tdevelop; att lägga till väljare i anropet? Eller hur kan man få programmet att köras i en egen terminal för att testa interaktivt beteende i terminalen?</para> + +<para>Allt det kan lösas genom att ställa in några projektorienterade köralternativ i &tdevelop;. Välj <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar</guimenuitem></menuchoice> och därefter ikonen <guiicon>Körinställningar</guiicon> i ikonraden till vänster i dialogfönstret. Dialogsidan <guilabel>Körinställningar</guilabel> visas till höger.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-project-run.png" format="PNG"/> </imageobject> -<caption -><para ->Definiera var och hur programmet ska köras.</para -></caption> +<caption><para>Definiera var och hur programmet ska köras.</para></caption> </mediaobject> </screenshot> -<para ->Det finns en hel del som kan ställas in i dialogrutan. Det finns egentligen fyra grupper av inställningsalternativ.</para> +<para>Det finns en hel del som kan ställas in i dialogrutan. Det finns egentligen fyra grupper av inställningsalternativ.</para> <itemizedlist> <listitem> <formalpara> -<title ->Katalog</title> -<para ->Talar om för &tdevelop; vad det ska förutsätta att det körbara programmet kallas. Det finns tre möjligheter att välja bland.</para> +<title>Katalog</title> +<para>Talar om för &tdevelop; vad det ska förutsätta att det körbara programmet kallas. Det finns tre möjligheter att välja bland.</para> </formalpara> -<para ->Observera dock att bara rotkataloger definieras här. &tdevelop; letar oftast efter det körbara programmet i någon underkatalog som anges i följande grupp av inställningar.</para> +<para>Observera dock att bara rotkataloger definieras här. &tdevelop; letar oftast efter det körbara programmet i någon underkatalog som anges i följande grupp av inställningar.</para> <itemizedlist> <listitem> -<para ->Kör från katalogen där det körbara programmet senast byggdes. Det är normalvärdet. Du kan behålla det för ögonblicket.</para> +<para>Kör från katalogen där det körbara programmet senast byggdes. Det är normalvärdet. Du kan behålla det för ögonblicket.</para> </listitem> <listitem> -<para ->Kör från byggkatalogen enligt <link linkend="gettingstarted-compile-setup-build" ->bygginställning</link -> som för närvarande är vald. Katalognamnet ställdes in på dialogsidan <link linkend="gettingstarted-compile-setup-config-general" ->Allmän</link ->.</para> - -<para ->Detta är rotkatalogen där &tdevelop; ska hitta det körbara programmet. Den ändras automatiskt enligt valet du gjorde i menyn <menuchoice -><guimenu ->Projekt</guimenu -> <guisubmenu ->Bygginställningar</guisubmenu -></menuchoice ->. Prova det.</para> - -<para ->Förutom att alltid köra det senast byggda körbara programmet enligt inställningen ovan, låter det dig byta program att köra genom att helt enkelt välja en annan bygginställning i menyn <guimenu ->Projekt</guimenu ->.</para> +<para>Kör från byggkatalogen enligt <link linkend="gettingstarted-compile-setup-build">bygginställning</link> som för närvarande är vald. Katalognamnet ställdes in på dialogsidan <link linkend="gettingstarted-compile-setup-config-general">Allmän</link>.</para> + +<para>Detta är rotkatalogen där &tdevelop; ska hitta det körbara programmet. Den ändras automatiskt enligt valet du gjorde i menyn <menuchoice><guimenu>Projekt</guimenu> <guisubmenu>Bygginställningar</guisubmenu></menuchoice>. Prova det.</para> + +<para>Förutom att alltid köra det senast byggda körbara programmet enligt inställningen ovan, låter det dig byta program att köra genom att helt enkelt välja en annan bygginställning i menyn <guimenu>Projekt</guimenu>.</para> </listitem> <listitem> -<para ->Kör programmet som hittas i en fast egen katalog. Återigen är det bara rotkatalogen där själva den körbara filen finns.</para> +<para>Kör programmet som hittas i en fast egen katalog. Återigen är det bara rotkatalogen där själva den körbara filen finns.</para> -<para ->Använd det om du t.ex. vill köra programmet som verkligen har installerats istället för versionen som finns i projektkatalogen.</para> +<para>Använd det om du t.ex. vill köra programmet som verkligen har installerats istället för versionen som finns i projektkatalogen.</para> </listitem> </itemizedlist> </listitem> <listitem> <formalpara> -<title ->Program</title> -<para ->Detta talar om relativ plats och namn på programmet som verkligen ska anropas för &tdevelop;. Det är relativt i förhållande till rotkatalogen som definieras i inställningsgruppen ovan. Dessutom kan du definiera alla argument som &tdevelop; ska skicka till programmet när det verkligen anropas.</para> +<title>Program</title> +<para>Detta talar om relativ plats och namn på programmet som verkligen ska anropas för &tdevelop;. Det är relativt i förhållande till rotkatalogen som definieras i inställningsgruppen ovan. Dessutom kan du definiera alla argument som &tdevelop; ska skicka till programmet när det verkligen anropas.</para> </formalpara> <note> -<para ->Om textrutan <guilabel ->Huvudprogram</guilabel -> lämnas tom, används inställningen av <emphasis ->aktivt mål</emphasis -> i Hantering av automake. Även om detta är en expertinställning, är en vanlig orsak till problem att detta inmatningsfält har lämnats tomt. Kontrollera inställningen om &tdevelop; inte verkar anropa det körbara program du ville.</para> +<para>Om textrutan <guilabel>Huvudprogram</guilabel> lämnas tom, används inställningen av <emphasis>aktivt mål</emphasis> i Hantering av automake. Även om detta är en expertinställning, är en vanlig orsak till problem att detta inmatningsfält har lämnats tomt. Kontrollera inställningen om &tdevelop; inte verkar anropa det körbara program du ville.</para> </note> </listitem> <listitem> <formalpara> -<title ->Miljövariabler</title> -<para ->&tdevelop; skapar en särskild skalmiljö att köra programmet i. Definiera eventuella extra miljövariabler i denna grupp av inställningar.</para> +<title>Miljövariabler</title> +<para>&tdevelop; skapar en särskild skalmiljö att köra programmet i. Definiera eventuella extra miljövariabler i denna grupp av inställningar.</para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Diverse</title> -<para ->Ytterligare två kryssrutor finns längst ner på dialogsidan.</para> +<title>Diverse</title> +<para>Ytterligare två kryssrutor finns längst ner på dialogsidan.</para> </formalpara> <itemizedlist> <listitem> -<para -><guilabel ->Kompilera automatiskt innan körning</guilabel -> är oftast praktiskt. &tdevelop; kontrollerar om projektet har ändrats och utför nödvändiga konfigurerings- och byggsteg åt dig så snart du ger kommandot att köra programmet.</para> +<para><guilabel>Kompilera automatiskt innan körning</guilabel> är oftast praktiskt. &tdevelop; kontrollerar om projektet har ändrats och utför nödvändiga konfigurerings- och byggsteg åt dig så snart du ger kommandot att köra programmet.</para> -<para ->Avmarkera det om du vill köra en programversion tidigare än den senaste ändringen.</para> +<para>Avmarkera det om du vill köra en programversion tidigare än den senaste ändringen.</para> </listitem> <listitem> -<para -><guilabel ->Starta i extern terminal</guilabel -> är intressant om du vill prova in- och utmatningsbeteende för program utan grafiskt gränssnitt i ett terminalprogram. Det är normalt inte markerat, så &tdevelop; startar programmet i ett eget fönster utan in- och utmatningsmöjlighet via en terminal.</para> +<para><guilabel>Starta i extern terminal</guilabel> är intressant om du vill prova in- och utmatningsbeteende för program utan grafiskt gränssnitt i ett terminalprogram. Det är normalt inte markerat, så &tdevelop; startar programmet i ett eget fönster utan in- och utmatningsmöjlighet via en terminal.</para> </listitem> </itemizedlist> </listitem> </itemizedlist> </sect3> -</sect2 -> +</sect2> </sect1> <sect1 id="gettingstarted-extend"> -<title ->Hur ett projekt kan utökas: Hantering av automake</title> +<title>Hur ett projekt kan utökas: Hantering av automake</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> <sect2 id="gettingstarted-extend-automake"> -<title ->En snabbtitt på maskineriet i automake</title> +<title>En snabbtitt på maskineriet i automake</title> -<para ->(ännu inte skrivet ...)</para> -</sect2 -> +<para>(ännu inte skrivet ...)</para> +</sect2> <sect2 id="gettingstarted-extend-pics"> -<title ->Hur man placerar ikoner i en separat katalog</title> +<title>Hur man placerar ikoner i en separat katalog</title> -<para ->(ännu inte skrivet ...)</para> -</sect2 -> +<para>(ännu inte skrivet ...)</para> +</sect2> <sect2 id="gettingstarted-extend-class"> -<title ->Hur man lägger till nya klasser</title> +<title>Hur man lägger till nya klasser</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> -<caution -><para ->Var försiktig när du väljer filnamn för klasser. Det är extremt svårt att ändra dem senare.</para -></caution> -</sect2 -> +<caution><para>Var försiktig när du väljer filnamn för klasser. Det är extremt svårt att ändra dem senare.</para></caution> +</sect2> <sect2 id="gettingstarted-extend-subproject"> -<title ->Vad finns i ett delprojekt?</title> +<title>Vad finns i ett delprojekt?</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> <sect3 id="gettingstarted-extend-subproject-active"> -<title ->Koncentrera dig på ditt arbete: Det aktiva målet</title> +<title>Koncentrera dig på ditt arbete: Det aktiva målet</title> -<para ->(ännu inte skrivet ...)</para> -</sect3 -> -</sect2 -> +<para>(ännu inte skrivet ...)</para> +</sect3> +</sect2> <sect2 id="gettingstarted-extend-restructure"> -<title ->Några steg för att strukturera om ett projekt</title> +<title>Några steg för att strukturera om ett projekt</title> -<para ->(ännu inte skrivet ...)</para> -</sect2 -> +<para>(ännu inte skrivet ...)</para> +</sect2> </sect1> <sect1 id="gettingstarted-debug"> -<title ->Hur man avlusar</title> +<title>Hur man avlusar</title> -<para ->(ännu inte skrivet ...)</para> -</sect1 -> +<para>(ännu inte skrivet ...)</para> +</sect1> <sect1 id="gettingstarted-doc"> -<title ->En anmärkning om projektdokumentationen</title> - -<para ->&kde;-projektet använder <ulink url="http://www.docbook.org/tdg5/en/html/docbook.html" ->docbook</ulink -> för att skapa projektets handbok (dvs. användarmanualen). Hanboken är tillgänglig via programmets menyrad genom att välja <menuchoice -><guimenu ->Hjälp</guimenu -> <guimenuitem ->Handbok <replaceable ->programnamn</replaceable -></guimenuitem -></menuchoice -> när programmets grafiska gränssnitt visas i &kde;. Efter att projektet har byggts, visas handboken i &kde;:s Hjälpcentral. Den ska förklara för användaren hur programmet fungerar, vilka huvudfunktionerna är och hur det anpassas. Den ska också förklara avancerade funktioner, om några sådana finns. </para> -<para ->Alla &kde;-baserade mallar i &tdevelop; har underkatalogen doc, som innehåller mallen <filename ->index.docbook</filename -> i katalogen en, för att komma igång med att skriva användarhandboken. Du redigerar <filename ->index.docbook</filename -> i &tdevelop;, och börjar med att ändra personlig information som namn, e-post, etc. Titta på kommentarerna i filen och försök följa anvisningarna för att påbörja programdokumentationen. Bygg om projektet för att se ändringarna i Hjälpcentralen.</para> -<note -><para ->Du måste installera projektet med <menuchoice -><guimenu ->Bygg</guimenu -> <guimenuitem ->Installera</guimenuitem -></menuchoice -> eller <guimenuitem ->Installera (som systemadministratör)</guimenuitem -> i &tdevelop; för att kunna se handboken i hjälpcentralen.</para -></note> -<para ->Du hittar mer information om syntaxen för docbook på <ulink url="http://l10n.kde.org/docs/markup/index.html" ->&kde;:s webbplats för dokumentation</ulink ->.</para> +<title>En anmärkning om projektdokumentationen</title> + +<para>&kde;-projektet använder <ulink url="http://www.docbook.org/tdg5/en/html/docbook.html">docbook</ulink> för att skapa projektets handbok (dvs. användarmanualen). Hanboken är tillgänglig via programmets menyrad genom att välja <menuchoice><guimenu>Hjälp</guimenu> <guimenuitem>Handbok <replaceable>programnamn</replaceable></guimenuitem></menuchoice> när programmets grafiska gränssnitt visas i &kde;. Efter att projektet har byggts, visas handboken i &kde;:s Hjälpcentral. Den ska förklara för användaren hur programmet fungerar, vilka huvudfunktionerna är och hur det anpassas. Den ska också förklara avancerade funktioner, om några sådana finns. </para> +<para>Alla &kde;-baserade mallar i &tdevelop; har underkatalogen doc, som innehåller mallen <filename>index.docbook</filename> i katalogen en, för att komma igång med att skriva användarhandboken. Du redigerar <filename>index.docbook</filename> i &tdevelop;, och börjar med att ändra personlig information som namn, e-post, etc. Titta på kommentarerna i filen och försök följa anvisningarna för att påbörja programdokumentationen. Bygg om projektet för att se ändringarna i Hjälpcentralen.</para> +<note><para>Du måste installera projektet med <menuchoice><guimenu>Bygg</guimenu> <guimenuitem>Installera</guimenuitem></menuchoice> eller <guimenuitem>Installera (som systemadministratör)</guimenuitem> i &tdevelop; för att kunna se handboken i hjälpcentralen.</para></note> +<para>Du hittar mer information om syntaxen för docbook på <ulink url="http://l10n.kde.org/docs/markup/index.html">&kde;:s webbplats för dokumentation</ulink>.</para> </sect1> <sect1 id="gettingstarted-keys"> -<title ->Sist men inte minst, snabbtangenter</title> +<title>Sist men inte minst, snabbtangenter</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> </sect1> <sect1 id="gettingstarted-whereto"> -<title ->Hur går man vidare</title> +<title>Hur går man vidare</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> <sect2 id="gettingstarted-whereto-faq"> -<title ->Problem som man ofta stöter på</title> +<title>Problem som man ofta stöter på</title> <simplelist> -<member ->Kapitlet I korthet</member> -<member ->Sidor med vanliga frågor</member> -<member ->Forum</member> -<member ->E-postlistor</member> +<member>Kapitlet I korthet</member> +<member>Sidor med vanliga frågor</member> +<member>Forum</member> +<member>E-postlistor</member> </simplelist> </sect2> <sect2 id="gettingstarted-whereto-projects"> -<title ->Arbeta med projekt</title> +<title>Arbeta med projekt</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> <sect3 id="gettingstarted-whereto-projects-open"> -<title ->Använda befintliga &tdevelop;-projekt</title> +<title>Använda befintliga &tdevelop;-projekt</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> </sect3> <sect3 id="gettingstarted-whereto-projects-import"> -<title ->Importera externa projekt</title> +<title>Importera externa projekt</title> -<para ->(ännu inte skrivet ...)</para> +<para>(ännu inte skrivet ...)</para> </sect3> </sect2> </sect1> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/index.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/index.docbook index 5224078727b..4bd568d11fd 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/index.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/index.docbook @@ -1,72 +1,33 @@ <?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ -<!-- <!ENTITY tdevelop "<application ->KDevelop</application ->" -> --> +<!-- <!ENTITY tdevelop "<application>KDevelop</application>"> --> <!ENTITY tdevelop "KDevelop"> <!ENTITY kdevrelease "3.3.91"> <!-- abbreviations used in the body text --> - <!ENTITY apache "<application ->Apache</application ->"> - <!ENTITY API "<acronym ->API</acronym ->"> + <!ENTITY apache "<application>Apache</application>"> + <!ENTITY API "<acronym>API</acronym>"> <!ENTITY appwizard "Application Wizard"> - <!ENTITY autoconf "<command ->autoconf</command ->"> - <!ENTITY automake "<command ->automake</command ->"> + <!ENTITY autoconf "<command>autoconf</command>"> + <!ENTITY automake "<command>automake</command>"> <!ENTITY automanag "Automake Manager"> - <!ENTITY ctags "<command ->ctags</command ->"> - <!ENTITY CVS "<application ->CVS</application ->"> + <!ENTITY ctags "<command>ctags</command>"> + <!ENTITY CVS "<application>CVS</application>"> <!ENTITY cvs "CVS"> - <!ENTITY doxygen "<application ->Doxygen</application ->"> - <!ENTITY doxywizard "<application ->doxywizard</application ->"> - <!ENTITY egrep "<command ->egrep</command ->"> - <!ENTITY grep "<command ->grep</command ->"> - <!ENTITY HTML "<acronym ->HTML</acronym ->"> - <!ENTITY IDE "<acronym ->IDE</acronym ->"> - <!ENTITY libtool "<command ->libtool</command ->"> + <!ENTITY doxygen "<application>Doxygen</application>"> + <!ENTITY doxywizard "<application>doxywizard</application>"> + <!ENTITY egrep "<command>egrep</command>"> + <!ENTITY grep "<command>grep</command>"> + <!ENTITY HTML "<acronym>HTML</acronym>"> + <!ENTITY IDE "<acronym>IDE</acronym>"> + <!ENTITY libtool "<command>libtool</command>"> <!ENTITY nfwizard "New File Wizard"> - <!ENTITY python "<application ->Python</application ->"> - <!ENTITY perl "<application ->Perl</application ->"> - <!ENTITY php "<application ->PHP</application ->"> + <!ENTITY python "<application>Python</application>"> + <!ENTITY perl "<application>Perl</application>"> + <!ENTITY php "<application>PHP</application>"> <!ENTITY promanag "Project Manager"> - <!ENTITY qte "<application ->Qt/embedded</application ->"> - <!ENTITY ssh "<application ->ssh</application ->"> + <!ENTITY qte "<application>Qt/embedded</application>"> + <!ENTITY ssh "<application>ssh</application>"> <!-- chapters in separate docbook files --> <!ENTITY survey-manual SYSTEM "survey-manual.docbook"> @@ -104,8 +65,7 @@ <!-- book related entities --> <!ENTITY kappname "&tdevelop;"> <!ENTITY % addindex "INCLUDE"> - <!ENTITY % Swedish "INCLUDE" -> <!-- change language only here --> + <!ENTITY % Swedish "INCLUDE"> <!-- change language only here --> ]> <!-- @@ -116,128 +76,60 @@ Entries which require special treatment are marked with comments starting with ' <book lang="&language;"> <bookinfo> - <title ->Användarmanual &tdevelop;</title> + <title>Användarmanual &tdevelop;</title> - <date ->2006-06-19</date> - <releaseinfo ->&kdevrelease;</releaseinfo> + <date>2006-06-19</date> + <releaseinfo>&kdevrelease;</releaseinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -> <surname ->Gehrmann</surname -> <affiliation -> <address -><email ->bernd@kdevelop.org</email -></address> + <author><firstname>Bernd</firstname> <surname>Gehrmann</surname> <affiliation> <address><email>bernd@kdevelop.org</email></address> </affiliation> </author> - <author -><firstname ->Caleb</firstname -> <surname ->Tennis</surname -> <affiliation -> <address -><email ->caleb@aei-tech.com</email -></address> + <author><firstname>Caleb</firstname> <surname>Tennis</surname> <affiliation> <address><email>caleb@aei-tech.com</email></address> </affiliation> </author> - <author -><firstname ->Bernd</firstname -> <surname ->Pol</surname -> <affiliation -> <address -><email ->bernd.pol@online.de</email -></address> + <author><firstname>Bernd</firstname> <surname>Pol</surname> <affiliation> <address><email>bernd.pol@online.de</email></address> </affiliation> </author> - <author -><firstname ->Volker</firstname -> <surname ->Paul</surname -> <affiliation -> <address -><email ->volker.paul@tiscali.de</email -></address> + <author><firstname>Volker</firstname> <surname>Paul</surname> <affiliation> <address><email>volker.paul@tiscali.de</email></address> </affiliation> </author> </authorgroup> <copyright> - <year ->2002</year> - <holder ->Bernd Gehrmann</holder> + <year>2002</year> + <holder>Bernd Gehrmann</holder> </copyright> <copyright> - <year ->2002</year> - <holder ->Caleb Tennis</holder> + <year>2002</year> + <holder>Caleb Tennis</holder> </copyright> <copyright> - <year ->2004</year> - <holder ->Bernd Pol</holder> + <year>2004</year> + <holder>Bernd Pol</holder> </copyright> <copyright> - <year ->2005</year> - <holder ->Volker Paul</holder> + <year>2005</year> + <holder>Volker Paul</holder> </copyright> - <othercredit role="translator" -> <firstname ->Stefan</firstname -> <surname ->Asserhäll</surname -> <affiliation -><address -><email ->stefan.asserhall@comhem.se</email -></address -></affiliation -> <contrib ->Översättare</contrib -></othercredit -> - - <legalnotice ->&FDLNotice;</legalnotice> + <othercredit role="translator"> <firstname>Stefan</firstname> <surname>Asserhäll</surname> <affiliation><address><email>stefan.asserhall@comhem.se</email></address></affiliation> <contrib>Översättare</contrib></othercredit> + + <legalnotice>&FDLNotice;</legalnotice> <abstract> - <para ->&tdevelop; är en integrerad utvecklingsmiljö som kan användas för ett brett spektrum av programmeringsaktiviteter.</para> + <para>&tdevelop; är en integrerad utvecklingsmiljö som kan användas för ett brett spektrum av programmeringsaktiviteter.</para> </abstract> <keywordset> - <keyword ->KDE</keyword> - <keyword ->KDevelop</keyword> - <keyword ->IDE</keyword> - <keyword ->utveckling</keyword> - <keyword ->programmering</keyword> + <keyword>KDE</keyword> + <keyword>KDevelop</keyword> + <keyword>IDE</keyword> + <keyword>utveckling</keyword> + <keyword>programmering</keyword> </keywordset> </bookinfo> @@ -280,412 +172,182 @@ Entries which require special treatment are marked with comments starting with ' <!-- ====================================================================== --> <!-- ### Questionable, probably not IDE-specific enough. Check later again. <chapter id="python"> -<title ->Python</title> +<title>Python</title> -<para ->... +<para>... </para> -</chapter -> --> <!-- python --> +</chapter> --> <!-- python --> <!-- ====================================================================== --> <!-- ### Questionable, probably not IDE-specific enough. Check later again. <chapter id="php"> -<title ->PHP</title> +<title>PHP</title> -<para ->... +<para>... </para> -</chapter -> --> <!-- php --> +</chapter> --> <!-- php --> <!-- ====================================================================== --> -<!-- Note (bp, 2003-09-04): <bibliography -> should remain the last appendix --> +<!-- Note (bp, 2003-09-04): <bibliography> should remain the last appendix --> <!-- section because of a (meinproc???) bug which sends the Next selection --> <!-- in circles back to it. --> <!-- (LWatts: 2005-04-30) This is probably due to a missing id= somewhere, --> <!-- so I've added a couple in hopes it goes away. --> <appendix id="app-bibliography"> -<title ->Bibliografi</title> +<title>Bibliografi</title> -<para ->(... ännu inte skrivet ...)</para> +<para>(... ännu inte skrivet ...)</para> <bibliography id="bibliography"> <biblioentry> -<title -><ulink url="info://make/Top" ->GNU Make Manual</ulink -></title> +<title><ulink url="info://make/Top">GNU Make Manual</ulink></title> <authorgroup> -<author -><firstname ->Richard M.</firstname -><surname ->Stallman</surname -></author> -<author -><firstname ->Roland</firstname -><surname ->McGrath</surname -></author> +<author><firstname>Richard M.</firstname><surname>Stallman</surname></author> +<author><firstname>Roland</firstname><surname>McGrath</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://automake/Top" ->GNU Automake</ulink -></title> +<title><ulink url="info://automake/Top">GNU Automake</ulink></title> <authorgroup> -<author -><firstname ->David</firstname -><surname ->MacKenzie</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Tromey</surname -></author> +<author><firstname>David</firstname><surname>MacKenzie</surname></author> +<author><firstname>Tom</firstname><surname>Tromey</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -></title> +<title><ulink url="info://autoconf/Top">GNU Autoconf</ulink></title> <authorgroup> -<author -><firstname ->David</firstname -><surname ->MacKenzie</surname -></author> -<author -><firstname ->Ben</firstname -><surname ->Elliston</surname -></author> +<author><firstname>David</firstname><surname>MacKenzie</surname></author> +<author><firstname>Ben</firstname><surname>Elliston</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title -><ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -></title> -<author -><firstname ->Richard M.</firstname -><surname ->Stallman</surname -></author> +<title><ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink></title> +<author><firstname>Richard M.</firstname><surname>Stallman</surname></author> </biblioentry> <biblioentry> -<title -><ulink url="info://libtool/Top" ->GNU Libtool</ulink -></title> +<title><ulink url="info://libtool/Top">GNU Libtool</ulink></title> <authorgroup> -<author -><firstname ->Gordon</firstname -><surname ->Matzigkeit</surname -></author> -<author -><firstname ->Alexandre</firstname -><surname ->Oliva</surname -></author> -<author -><firstname ->Thomas</firstname -><surname ->Tanner</surname -></author> -<author -><firstname ->Gary V.</firstname -><surname ->Vaughan</surname -></author> +<author><firstname>Gordon</firstname><surname>Matzigkeit</surname></author> +<author><firstname>Alexandre</firstname><surname>Oliva</surname></author> +<author><firstname>Thomas</firstname><surname>Tanner</surname></author> +<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author> </authorgroup> </biblioentry> <biblioentry> -<title ->GNU Autoconf, Automake, and Libtool</title> -<edition ->1st edition</edition> -<pubdate ->October 2000</pubdate> +<title>GNU Autoconf, Automake, and Libtool</title> +<edition>1st edition</edition> +<pubdate>October 2000</pubdate> <authorgroup> -<author -><firstname ->Gary V.</firstname -><surname ->Vaughan</surname -></author> -<author -><firstname ->Ben</firstname -><surname ->Elliston</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Tromey</surname -></author> -<author -><firstname ->Ian Lance</firstname -><surname ->Taylor</surname -></author> +<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author> +<author><firstname>Ben</firstname><surname>Elliston</surname></author> +<author><firstname>Tom</firstname><surname>Tromey</surname></author> +<author><firstname>Ian Lance</firstname><surname>Taylor</surname></author> </authorgroup> -<publisher -><publishername ->New Riders Publishing</publishername -></publisher> -<isbn ->ISBN 1578701902</isbn> +<publisher><publishername>New Riders Publishing</publishername></publisher> +<isbn>ISBN 1578701902</isbn> </biblioentry> <biblioentry> -<title ->Advanced Programming in the &UNIX; Environment</title> -<edition ->1st edition</edition> -<pubdate ->June 1992</pubdate> -<author -><firstname ->W. Richard</firstname -><surname ->Stevens</surname -></author> -<publisher -><publishername ->Addison-Wesley Pub Co</publishername -></publisher> -<isbn ->ISBN 0201563177</isbn> +<title>Advanced Programming in the &UNIX; Environment</title> +<edition>1st edition</edition> +<pubdate>June 1992</pubdate> +<author><firstname>W. Richard</firstname><surname>Stevens</surname></author> +<publisher><publishername>Addison-Wesley Pub Co</publishername></publisher> +<isbn>ISBN 0201563177</isbn> </biblioentry> <biblioentry> -<title ->Thinking in C++, Volume 1: Introduction to Standard C++</title> -<edition ->2nd Edition</edition> -<pubdate ->April 15, 2000</pubdate> -<author -><firstname ->Bruce</firstname -><surname ->Eckel</surname -></author> -<publisher -><publishername ->Prentice Hall</publishername -></publisher> -<isbn ->ISBN 0139798099</isbn> +<title>Thinking in C++, Volume 1: Introduction to Standard C++</title> +<edition>2nd Edition</edition> +<pubdate>April 15, 2000</pubdate> +<author><firstname>Bruce</firstname><surname>Eckel</surname></author> +<publisher><publishername>Prentice Hall</publishername></publisher> +<isbn>ISBN 0139798099</isbn> </biblioentry> <biblioentry> -<title ->Open Source Development with CVS</title> -<edition ->2nd Edition</edition> -<pubdate ->October 12, 2001</pubdate> +<title>Open Source Development with CVS</title> +<edition>2nd Edition</edition> +<pubdate>October 12, 2001</pubdate> <authorgroup> -<author -><firstname ->Karl</firstname -><surname ->Fogel</surname -></author> -<author -><firstname ->Moshe</firstname -><surname ->Bar</surname -></author> +<author><firstname>Karl</firstname><surname>Fogel</surname></author> +<author><firstname>Moshe</firstname><surname>Bar</surname></author> </authorgroup> -<publisher -><publishername ->The Coriolis Group</publishername -></publisher> -<isbn ->ISBN 158880173X</isbn> +<publisher><publishername>The Coriolis Group</publishername></publisher> +<isbn>ISBN 158880173X</isbn> </biblioentry> <biblioentry> -<title ->Programming PHP</title> -<edition ->1st edition</edition> -<pubdate ->March 2002</pubdate> +<title>Programming PHP</title> +<edition>1st edition</edition> +<pubdate>March 2002</pubdate> <authorgroup> -<author -><firstname ->Rasmus</firstname -><surname ->Lerdorf</surname -></author> -<author -><firstname ->Kevin</firstname -><surname ->Tatroe</surname -></author> +<author><firstname>Rasmus</firstname><surname>Lerdorf</surname></author> +<author><firstname>Kevin</firstname><surname>Tatroe</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 1565926102</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 1565926102</isbn> </biblioentry> <biblioentry> -<title ->Programming Python</title> -<edition ->2nd Edition</edition> -<pubdate ->March 2001</pubdate> -<author -><firstname ->Mark</firstname -><surname ->Lutz</surname -></author> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596000855</isbn> +<title>Programming Python</title> +<edition>2nd Edition</edition> +<pubdate>March 2001</pubdate> +<author><firstname>Mark</firstname><surname>Lutz</surname></author> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596000855</isbn> </biblioentry> <biblioentry> -<title ->Gui Programming With Python : Using the Qt Toolkit</title> -<edition ->Bk&Cd-r edition</edition> -<pubdate ->January 2002</pubdate> -<author -><firstname ->Boudewijn</firstname -><surname ->Rempt</surname -></author> -<publisher -><publishername ->Opendocs Llc</publishername -></publisher> -<isbn ->ISBN 0970033044</isbn> +<title>Gui Programming With Python : Using the Qt Toolkit</title> +<edition>Bk&Cd-r edition</edition> +<pubdate>January 2002</pubdate> +<author><firstname>Boudewijn</firstname><surname>Rempt</surname></author> +<publisher><publishername>Opendocs Llc</publishername></publisher> +<isbn>ISBN 0970033044</isbn> </biblioentry> <biblioentry> -<title ->Programming Perl</title> -<subtitle ->Kamelboken</subtitle> -<edition ->3rd Edition</edition> -<pubdate ->July 2000</pubdate> +<title>Programming Perl</title> +<subtitle>Kamelboken</subtitle> +<edition>3rd Edition</edition> +<pubdate>July 2000</pubdate> <authorgroup> -<author -><firstname ->Larry</firstname -><surname ->Wall</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Christiansen</surname -></author> -<author -><firstname ->Jon</firstname -><surname ->Orwant</surname -></author> +<author><firstname>Larry</firstname><surname>Wall</surname></author> +<author><firstname>Tom</firstname><surname>Christiansen</surname></author> +<author><firstname>Jon</firstname><surname>Orwant</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596000278</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596000278</isbn> </biblioentry> <biblioentry> -<title ->Learning Perl</title> -<subtitle ->Lamaboken</subtitle> -<edition ->3rd Edition</edition> -<pubdate ->July 15, 2001</pubdate> +<title>Learning Perl</title> +<subtitle>Lamaboken</subtitle> +<edition>3rd Edition</edition> +<pubdate>July 15, 2001</pubdate> <authorgroup> -<author -><firstname ->Randal L.</firstname -><surname ->Schwartz</surname -></author> -<author -><firstname ->Tom</firstname -><surname ->Phoenix</surname -></author> +<author><firstname>Randal L.</firstname><surname>Schwartz</surname></author> +<author><firstname>Tom</firstname><surname>Phoenix</surname></author> </authorgroup> -<publisher -><publishername ->O'Reilly & Associates</publishername -></publisher> -<isbn ->ISBN 0596001320</isbn> +<publisher><publishername>O'Reilly & Associates</publishername></publisher> +<isbn>ISBN 0596001320</isbn> </biblioentry> </bibliography> <!-- --> -</appendix -> <!-- app-bibliography --> +</appendix> <!-- app-bibliography --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/nutshell.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/nutshell.docbook index b1c1d6223ee..38378440ad2 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/nutshell.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/nutshell.docbook @@ -1,6 +1,5 @@ <appendix id="nutshell"> -<title ->I korthet — Tips och trick</title> +<title>I korthet — Tips och trick</title> <!-- Traditionally, most of this stuff will have been put into a FAQ section. It is more useful, however, to put it at the very start of a manual, as this is the place the (inexperienced) user first looks for. @@ -10,367 +9,158 @@ Troubleshooting hints go in the appendix or a FAQ. Volker Paul. This chapter is meant to provide short hints and tips together with (mandatory) navigation links. There should be an additional FAQ section near the end nevertheless which contains more general stuff not directly related to navigating the manual. --> -<para ->Informationen i det här kapitlet är avsett som en snabbreferens för att genast komma igång om du (tillfälligt) glömt bort några grundläggande koncept. Det finns också korta tips om hur några vanliga problem vid arbete med &tdevelop; kan lösas. </para> -<para ->Om du vill ha mer information om ett ämne, följ bara länken i rubriken som erbjuder det. </para> -<para ->Information om följande ämnen är tillgänglig: </para> +<para>Informationen i det här kapitlet är avsett som en snabbreferens för att genast komma igång om du (tillfälligt) glömt bort några grundläggande koncept. Det finns också korta tips om hur några vanliga problem vid arbete med &tdevelop; kan lösas. </para> +<para>Om du vill ha mer information om ett ämne, följ bara länken i rubriken som erbjuder det. </para> +<para>Information om följande ämnen är tillgänglig: </para> <simplelist> - <member -><link linkend="nutshellitem-look-and-feel" ->Utseende och känsla</link -></member> - <member -><link linkend="nutshellitem-projects" ->Projekt</link -></member> - <member -><link linkend="nutshellitem-compilation" ->Kompilering</link -></member> - <member -><link linkend="nutshellitem-automake" ->Hantering av automake</link -></member> - <member -><link linkend="nutshellitem-compilemake" ->Problem med att kompilera och bygga</link -></member> - <member -><link linkend="nutshellitem-others" ->Övriga ämnen</link -></member> + <member><link linkend="nutshellitem-look-and-feel">Utseende och känsla</link></member> + <member><link linkend="nutshellitem-projects">Projekt</link></member> + <member><link linkend="nutshellitem-compilation">Kompilering</link></member> + <member><link linkend="nutshellitem-automake">Hantering av automake</link></member> + <member><link linkend="nutshellitem-compilemake">Problem med att kompilera och bygga</link></member> + <member><link linkend="nutshellitem-others">Övriga ämnen</link></member> </simplelist> <variablelist id="nutshellitem-look-and-feel"> -<title ->Utseende och känsla</title> +<title>Utseende och känsla</title> <varlistentry> -<term id="nutshell-ideal-tabs" -><link linkend="setup-ui-toolview" ->Tvinga mindre verktygsvyflikar i IDEA-läge</link -></term> +<term id="nutshell-ideal-tabs"><link linkend="setup-ui-toolview">Tvinga mindre verktygsvyflikar i IDEA-läge</link></term> <listitem> -<para ->Normalt startar &tdevelop; med flikar som har stora textbaserade verktygstips omkring arbetsytan. Du kan ändra detta utseende, för att spara utrymme, i inställningsdialogrutan för &tdevelop; (<menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -> <guimenuitem ->Användargränssnitt</guimenuitem -></menuchoice ->).</para> -<para ->Om du använder en äldre version av &tdevelop; 3, kanske den här inställningsdialogrutan inte är tillgänglig. För att ändra utseendet hos verktygsvyernas flikar för hand, lägg till posten <computeroutput ->MDIStyle</computeroutput -> under rubriken <computeroutput ->[UI]</computeroutput -> i inställningsfilen <filename ->$TDEHOME/share/config/tdeveloprc</filename -> enligt följande:</para> +<para>Normalt startar &tdevelop; med flikar som har stora textbaserade verktygstips omkring arbetsytan. Du kan ändra detta utseende, för att spara utrymme, i inställningsdialogrutan för &tdevelop; (<menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem> <guimenuitem>Användargränssnitt</guimenuitem></menuchoice>).</para> +<para>Om du använder en äldre version av &tdevelop; 3, kanske den här inställningsdialogrutan inte är tillgänglig. För att ändra utseendet hos verktygsvyernas flikar för hand, lägg till posten <computeroutput>MDIStyle</computeroutput> under rubriken <computeroutput>[UI]</computeroutput> i inställningsfilen <filename>$TDEHOME/share/config/tdeveloprc</filename> enligt följande:</para> <simplelist> -<member -><computeroutput ->MDIStyle=0</computeroutput ->: Bara ikoner</member> -<member -><computeroutput ->MDIStyle=1</computeroutput ->: bara text (normalvärde)</member> -<!--<member -><computeroutput ->MDIStyle=2</computeroutput ->: icons only on smaller tabs (not very useful)</member ->--> -<member -><computeroutput ->MDIStyle=3</computeroutput ->: ikoner och text</member> +<member><computeroutput>MDIStyle=0</computeroutput>: Bara ikoner</member> +<member><computeroutput>MDIStyle=1</computeroutput>: bara text (normalvärde)</member> +<!--<member><computeroutput>MDIStyle=2</computeroutput>: icons only on smaller tabs (not very useful)</member>--> +<member><computeroutput>MDIStyle=3</computeroutput>: ikoner och text</member> </simplelist> </listitem> </varlistentry> -<varlistentry -> <!-- ### remove this entry when the bug is repaired --> -<term id="nutshell-weird-style" ->Underligt färgade tecken och/eller skärmstil</term> +<varlistentry> <!-- ### remove this entry when the bug is repaired --> +<term id="nutshell-weird-style">Underligt färgade tecken och/eller skärmstil</term> <listitem> -<para ->Om du observerar slumpmässigt färgade bokstäver överallt (dvs. på flikar, verktygsrader, etc.) och &tdevelop;s fönster verkar använda en felaktig skärmstil, kan följande hjälpa:</para> +<para>Om du observerar slumpmässigt färgade bokstäver överallt (dvs. på flikar, verktygsrader, etc.) och &tdevelop;s fönster verkar använda en felaktig skärmstil, kan följande hjälpa:</para> <itemizedlist> -<listitem -><para ->Hitta raden <quote -><computeroutput ->Style=Checked</computeroutput -></quote -> i inställningsfilen <filename ->$TDEHOME/share/config/tdeveloprc</filename -> och ta bort den. Starta därefter om &tdevelop;. </para> +<listitem><para>Hitta raden <quote><computeroutput>Style=Checked</computeroutput></quote> i inställningsfilen <filename>$TDEHOME/share/config/tdeveloprc</filename> och ta bort den. Starta därefter om &tdevelop;. </para> </listitem> </itemizedlist> -<para ->(Beteendet uppstår ibland efter du vänsterklickat på en .ui-fil i en av filbläddrarna och &tdevelop; laddat <application ->KUIViewer</application -> för att visa det grafiska gränssnittet som skapats från filen.)</para> +<para>(Beteendet uppstår ibland efter du vänsterklickat på en .ui-fil i en av filbläddrarna och &tdevelop; laddat <application>KUIViewer</application> för att visa det grafiska gränssnittet som skapats från filen.)</para> </listitem> </varlistentry> <varlistentry> -<term id="nutshell-full-screen" -><link linkend="maximize-workspace" ->Fullskärmsläge</link -></term> +<term id="nutshell-full-screen"><link linkend="maximize-workspace">Fullskärmsläge</link></term> <listitem> -<para ->Välj <menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Fullskärmsläge</guimenuitem -></menuchoice -> i menyraden, eller tryck på <keycombo -><keycap ->Ctrl</keycap -> <keycap ->Skift</keycap -> <keycap ->F</keycap -></keycombo ->.</para> +<para>Välj <menuchoice><guimenu>Visa</guimenu> <guimenuitem>Fullskärmsläge</guimenuitem></menuchoice> i menyraden, eller tryck på <keycombo><keycap>Ctrl</keycap> <keycap>Skift</keycap> <keycap>F</keycap></keycombo>.</para> </listitem> </varlistentry> <varlistentry> -<term id="nutshell-hide-menu" -><link linkend="maximize-workspace" ->Visa eller dölj menyraden</link -></term> +<term id="nutshell-hide-menu"><link linkend="maximize-workspace">Visa eller dölj menyraden</link></term> <listitem> -<para ->För att dölja menyraden, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Visa menyrad</guimenuitem -></menuchoice -> i menyraden, eller tryck på <keycombo -><keycap ->Ctrl</keycap -> <keycap ->M</keycap -></keycombo ->. För att visa menyraden igen, är bara <keycombo -><keycap ->Ctrl</keycap -> <keycap ->M</keycap -></keycombo -> tillgängligt.</para> +<para>För att dölja menyraden, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Visa menyrad</guimenuitem></menuchoice> i menyraden, eller tryck på <keycombo><keycap>Ctrl</keycap> <keycap>M</keycap></keycombo>. För att visa menyraden igen, är bara <keycombo><keycap>Ctrl</keycap> <keycap>M</keycap></keycombo> tillgängligt.</para> </listitem> </varlistentry> </variablelist> <variablelist> -<title id="nutshellitem-projects" ->Projekt</title> +<title id="nutshellitem-projects">Projekt</title> <varlistentry> -<term -><link linkend="new-projects" ->Skapa nytt projekt</link -></term> +<term><link linkend="new-projects">Skapa nytt projekt</link></term> <listitem> -<para -><menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt...</guimenuitem -></menuchoice -> startar <link linkend="applicationwizard" ->programguiden</link ->.</para> +<para><menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt...</guimenuitem></menuchoice> startar <link linkend="applicationwizard">programguiden</link>.</para> </listitem> </varlistentry> <varlistentry> -<term id="nutshell-new-custom-project" ->Skapa ett eget projekt</term> +<term id="nutshell-new-custom-project">Skapa ett eget projekt</term> <listitem> -<para ->Det finns inte något sätt att direkt skapa ett eget projekt (dvs. ett projekt som använder sina egna byggfiler). Använd istället <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Importera befintligt projekt</guimenuitem -></menuchoice ->. Kom ihåg att ange passande <guilabel ->Projekttyp</guilabel -> i dialogrutan, med den extra texten <quote ->(Custom Makefiles)</quote ->.</para> +<para>Det finns inte något sätt att direkt skapa ett eget projekt (dvs. ett projekt som använder sina egna byggfiler). Använd istället <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Importera befintligt projekt</guimenuitem></menuchoice>. Kom ihåg att ange passande <guilabel>Projekttyp</guilabel> i dialogrutan, med den extra texten <quote>(Custom Makefiles)</quote>.</para> </listitem> </varlistentry> <varlistentry> -<term id="nutshell-project-options" ->Använd projektalternativ från början</term> +<term id="nutshell-project-options">Använd projektalternativ från början</term> <listitem> -<para ->Så fort du skapat ett nytt projekt, glöm inte att ställa in <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem -> Projektinställningar..</guimenuitem -></menuchoice -> enligt dina behov.</para> +<para>Så fort du skapat ett nytt projekt, glöm inte att ställa in <menuchoice><guimenu>Projekt</guimenu> <guimenuitem> Projektinställningar..</guimenuitem></menuchoice> enligt dina behov.</para> </listitem> </varlistentry> </variablelist> <variablelist id="nutshellitem-compilation"> -<title ->Kompilering</title> +<title>Kompilering</title> <varlistentry> -<term id="nutshell-compilemsg-detail" -><link -linkend="setup-main-compile" ->Detaljer i kompilatormeddelanden saknas</link -></term> +<term id="nutshell-compilemsg-detail"><link +linkend="setup-main-compile">Detaljer i kompilatormeddelanden saknas</link></term> <listitem> -<para ->Om du märker att en del värdefull information saknas i fönstret <guilabel ->Meddelandeutmatning</guilabel -> vid kompilering,kan du ha valt en detaljnivå för meddelanden som är för låg. Högerklicka på fönstret och välj en annan detaljnivå i menyn som dyker upp. </para> +<para>Om du märker att en del värdefull information saknas i fönstret <guilabel>Meddelandeutmatning</guilabel> vid kompilering,kan du ha valt en detaljnivå för meddelanden som är för låg. Högerklicka på fönstret och välj en annan detaljnivå i menyn som dyker upp. </para> </listitem> </varlistentry> </variablelist> <variablelist id="nutshellitem-automake"> -<title -><link linkend="automake-manager" ->Hantering av automake</link -></title> +<title><link linkend="automake-manager">Hantering av automake</link></title> <varlistentry> -<term ->Skapa nya filer i ett projekt</term> +<term>Skapa nya filer i ett projekt</term> <listitem> -<para ->Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill lägga till filerna och välj <guimenuitem ->Skapa ny fil..</guimenuitem ->.</para> +<para>Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill lägga till filerna och välj <guimenuitem>Skapa ny fil..</guimenuitem>.</para> </listitem> </varlistentry> <varlistentry id="nutshell-add-project-file"> -<term ->Lägga till befintliga filer i ett projekt</term> +<term>Lägga till befintliga filer i ett projekt</term> <listitem> -<para ->Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill lägga till filerna och välj <guimenuitem ->Lägg till befintliga filer..</guimenuitem ->.</para> +<para>Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill lägga till filerna och välj <guimenuitem>Lägg till befintliga filer..</guimenuitem>.</para> </listitem> </varlistentry> <varlistentry> -<term ->Ta bort en fil från ett projekt</term> +<term>Ta bort en fil från ett projekt</term> <listitem> -<para ->Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill ta bort filerna och välj <guimenuitem ->Ta bort</guimenuitem ->.</para> +<para>Välj delprojekt i övre delen av Hantering av automake, och högerklicka sedan i nedre delen på grupprubriken där du vill ta bort filerna och välj <guimenuitem>Ta bort</guimenuitem>.</para> </listitem> </varlistentry> </variablelist> <variablelist id="nutshellitem-compilemake"> -<title ->Problem med att kompilera och bygga</title> +<title>Problem med att kompilera och bygga</title> <varlistentry> -<term id="nutshell-builddirproblems" -><link -linkend="defaultbuild-warning" ->Projekt byggs inte igen efter byte till eller från målet default</link -></term> +<term id="nutshell-builddirproblems"><link +linkend="defaultbuild-warning">Projekt byggs inte igen efter byte till eller från målet default</link></term> <listitem> -<para ->Det finns ett problem med &automake; och &autoconf; maskineriet. Om <menuchoice -> <guimenu ->Projekt</guimenu -> <guimenuitem ->Bygginställningar</guimenuitem -></menuchoice -> ger möjlighet att välja bland tre byggkataloger: <guimenuitem ->default</guimenuitem ->, <guimenuitem ->optimized</guimenuitem -> och <guimenuitem ->debug</guimenuitem ->, håll dig för allt i världen <emphasis ->antingen</emphasis -> till målet default <emphasis ->eller</emphasis -> målen debug/optimize.</para> +<para>Det finns ett problem med &automake; och &autoconf; maskineriet. Om <menuchoice> <guimenu>Projekt</guimenu> <guimenuitem>Bygginställningar</guimenuitem></menuchoice> ger möjlighet att välja bland tre byggkataloger: <guimenuitem>default</guimenuitem>, <guimenuitem>optimized</guimenuitem> och <guimenuitem>debug</guimenuitem>, håll dig för allt i världen <emphasis>antingen</emphasis> till målet default <emphasis>eller</emphasis> målen debug/optimize.</para> <itemizedlist> <listitem> -<para ->När du väl har ställt in projektet med default, byggs det inte längre med debug eller optimized.</para> +<para>När du väl har ställt in projektet med default, byggs det inte längre med debug eller optimized.</para> </listitem> <listitem> -<para ->När du väl har ställt in projektet med debug eller optimized, byggs det inte längre med default.</para> +<para>När du väl har ställt in projektet med debug eller optimized, byggs det inte längre med default.</para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> -<term id="nutshell-autoconf-problem" -><quote ->Fel<command -> version av </command ->autoconf</quote ->, etc.</term> +<term id="nutshell-autoconf-problem"><quote>Fel<command> version av </command>autoconf</quote>, etc.</term> <listitem> -<para ->Det finns flera felmeddelanden som berör för gamla versioner av <application ->autoconf</application ->, etc. som förhindrar att <command ->configure</command -> fungerar som det ska. Kör <command ->autoreconf</command -> i katalogträdet där filerna <filename ->configure.in</filename -> i fråga finns. Kommandot försöker uppdatera informationen i &GNU; byggsystemfiler. Se <command ->man autoreconf</command -> för mer information.</para> +<para>Det finns flera felmeddelanden som berör för gamla versioner av <application>autoconf</application>, etc. som förhindrar att <command>configure</command> fungerar som det ska. Kör <command>autoreconf</command> i katalogträdet där filerna <filename>configure.in</filename> i fråga finns. Kommandot försöker uppdatera informationen i &GNU; byggsystemfiler. Se <command>man autoreconf</command> för mer information.</para> </listitem> </varlistentry> </variablelist> <variablelist id="nutshellitem-others"> -<title ->Övriga ämnen</title> +<title>Övriga ämnen</title> <varlistentry> -<term id="nutshell-others-files" -><link linkend="app-files" ->Inställningsfiler som används av &tdevelop;</link -></term> +<term id="nutshell-others-files"><link linkend="app-files">Inställningsfiler som används av &tdevelop;</link></term> <listitem> -<para ->Oftast ska du inte behöva bry dig om det, men det är mycket användbart att känna till om något har gått fel med dina inställningar.</para> -</listitem -> +<para>Oftast ska du inte behöva bry dig om det, men det är mycket användbart att känna till om något har gått fel med dina inställningar.</para> +</listitem> </varlistentry> </variablelist> -</appendix -> <!-- nutshell --> +</appendix> <!-- nutshell --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/plugin-tools.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/plugin-tools.docbook index e68b11330fa..07582776b34 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/plugin-tools.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/plugin-tools.docbook @@ -1,536 +1,211 @@ <appendix id="plugin-tools"> -<title ->Insticksverktyg</title> +<title>Insticksverktyg</title> <indexterm zone="plugin-tools"> - <primary ->insticksverktyg</primary -></indexterm> - -<para ->&tdevelop; innehåller ett stort antal små verktyg, som hjälper dig att utföra vissa uppgifter. De flesta fungerar som insticksprogram. Det betyder att om du inte behöver ett insticksprogram kan du helt enkelt inaktivera det.</para> -<para ->Det betyder också att om du letar efter funktioner som ska finnas, men inte gör det, kanske de är implementerade i ett insticksprogram och det insticksprogrammet är inaktiverat. Det finns till exempel en funktion för snabböppning i menyn Arkiv, men bara om den är aktiverad i dialogrutan Projekt - Projektinställningar. </para> + <primary>insticksverktyg</primary></indexterm> + +<para>&tdevelop; innehåller ett stort antal små verktyg, som hjälper dig att utföra vissa uppgifter. De flesta fungerar som insticksprogram. Det betyder att om du inte behöver ett insticksprogram kan du helt enkelt inaktivera det.</para> +<para>Det betyder också att om du letar efter funktioner som ska finnas, men inte gör det, kanske de är implementerade i ett insticksprogram och det insticksprogrammet är inaktiverat. Det finns till exempel en funktion för snabböppning i menyn Arkiv, men bara om den är aktiverad i dialogrutan Projekt - Projektinställningar. </para> -<para ->Tekniskt är insticksprogram baserade på klassen KDevPlugin definierad i lib/interfaces/kdevplugin.h. Det följande kommer från en kommentar där.</para> - -<para ->KDevPlugin är basklassen för alla insticksprogram i KDevelop. Ett insticksprogram är en komponent som laddas i KDevelop-skalet vid start eller på begäran. Ett insticksprogram har en omfattning som antingen kan vara: <itemizedlist> -<listitem -><simpara ->Kärna</simpara -></listitem> -<listitem -><simpara ->Global</simpara -></listitem> -<listitem -><simpara ->Projekt</simpara -></listitem> +<para>Tekniskt är insticksprogram baserade på klassen KDevPlugin definierad i lib/interfaces/kdevplugin.h. Det följande kommer från en kommentar där.</para> + +<para>KDevPlugin är basklassen för alla insticksprogram i KDevelop. Ett insticksprogram är en komponent som laddas i KDevelop-skalet vid start eller på begäran. Ett insticksprogram har en omfattning som antingen kan vara: <itemizedlist> +<listitem><simpara>Kärna</simpara></listitem> +<listitem><simpara>Global</simpara></listitem> +<listitem><simpara>Projekt</simpara></listitem> </itemizedlist> </para> -<para ->Kärninsticksprogram är globala insticksprogram som erbjuder någon viktig funktion för "kärnan", och sålunda inte kan väljas av användaren på inställningssidorna för insticksprogram.</para> - -<para ->Globala insticksprogram är de som bara kräver att skalet är laddad och inte använder sig av gränssnittet KDevProject och/eller använder information rörande hela projektet. Till exempel tillåter insticksprogrammet grafiskt gränssnittsläge utvecklare att välja vilket användargränssnitt de vill använda. </para> - -<para ->Projektinsticksprogram kräver att att projekt är laddad, och laddas eller laddas ur tillsammans med projektet. Om ett insticksprogram använder sig av projektrelaterad information är det ett projektinsticksprogram. Hantering av Automake behöver till exempel bara vara aktivt när ett projekt baserat på Automake för tillfället är laddat. </para> - -<para ->Som nämnts ovan kan inte kärninsticksprogram inaktiveras. Globala insticksprogram kan aktiveras eller inaktiveras med <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -></menuchoice -> under <guibutton ->insticksprogram</guibutton ->. Projektinsticksprogram kan aktiveras eller inaktiveras med <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Projektinställningar...</guimenuitem -></menuchoice -> under <guibutton ->insticksprogram</guibutton ->. Aktiva insticksprogram kan ge många effekter i KDevelop. Beroende på deras funktion kan de lägga till extra menyer, extra menyalternativ, extra knappar i verktygsraden, etc. </para> - -<para ->Insticksprogram som är inaktiverade skräpar inte ner menyerna och laddas inte i minnet. </para> - - -<para ->Följande lista över insticksprogram skapas av ett litet skript (listplugins.sh) skrivet av Volker Paul. Alla insticksprogram har en .desktop-fil där information som namn och kommentarer skrivs. Om kommentarerna i det följande inte är särskilt användbara, beror det på att insticksprogrammets upphovsmän gjorde dem på detta sätt.</para> -<para ->Insticksprogrammen är grupperade enligt omfattning (Kärna, Global, Projekt).</para> - -<para ->Omfattning: Kärna</para> +<para>Kärninsticksprogram är globala insticksprogram som erbjuder någon viktig funktion för "kärnan", och sålunda inte kan väljas av användaren på inställningssidorna för insticksprogram.</para> + +<para>Globala insticksprogram är de som bara kräver att skalet är laddad och inte använder sig av gränssnittet KDevProject och/eller använder information rörande hela projektet. Till exempel tillåter insticksprogrammet grafiskt gränssnittsläge utvecklare att välja vilket användargränssnitt de vill använda. </para> + +<para>Projektinsticksprogram kräver att att projekt är laddad, och laddas eller laddas ur tillsammans med projektet. Om ett insticksprogram använder sig av projektrelaterad information är det ett projektinsticksprogram. Hantering av Automake behöver till exempel bara vara aktivt när ett projekt baserat på Automake för tillfället är laddat. </para> + +<para>Som nämnts ovan kan inte kärninsticksprogram inaktiveras. Globala insticksprogram kan aktiveras eller inaktiveras med <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem></menuchoice> under <guibutton>insticksprogram</guibutton>. Projektinsticksprogram kan aktiveras eller inaktiveras med <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektinställningar...</guimenuitem></menuchoice> under <guibutton>insticksprogram</guibutton>. Aktiva insticksprogram kan ge många effekter i KDevelop. Beroende på deras funktion kan de lägga till extra menyer, extra menyalternativ, extra knappar i verktygsraden, etc. </para> + +<para>Insticksprogram som är inaktiverade skräpar inte ner menyerna och laddas inte i minnet. </para> + + +<para>Följande lista över insticksprogram skapas av ett litet skript (listplugins.sh) skrivet av Volker Paul. Alla insticksprogram har en .desktop-fil där information som namn och kommentarer skrivs. Om kommentarerna i det följande inte är särskilt användbara, beror det på att insticksprogrammets upphovsmän gjorde dem på detta sätt.</para> +<para>Insticksprogrammen är grupperade enligt omfattning (Kärna, Global, Projekt).</para> + +<para>Omfattning: Kärna</para> <itemizedlist> -<listitem -><formalpara id="KDevAppWizard"> -<title ->Programguide</title> -<para ->Programguide</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevDiff"> -<title ->Visning av skillnader</title> -<para ->Visning av skillnader</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevFileCreate"> -<title ->Skapa filer</title> -<para ->Skapa filer</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevFullScreen"> -<title ->Fullskärm</title> -<para ->Fullskärm</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevTipOfDay"> -<title ->Dagens tips</title> -<para ->Dagens tips</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevUIChooser"> -<title ->Val av användargränssnitt</title> -<para ->Tillhandahåller en dialogruta för val av användargränssnittsläge.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevVCSManager"> -<title ->Hantering av versionskontrollsystem</title> -<para ->Hantering av versionskontrollsystem </para -></formalpara -></listitem> +<listitem><formalpara id="KDevAppWizard"> +<title>Programguide</title> +<para>Programguide</para></formalpara></listitem> +<listitem><formalpara id="KDevDiff"> +<title>Visning av skillnader</title> +<para>Visning av skillnader</para></formalpara></listitem> +<listitem><formalpara id="KDevFileCreate"> +<title>Skapa filer</title> +<para>Skapa filer</para></formalpara></listitem> +<listitem><formalpara id="KDevFullScreen"> +<title>Fullskärm</title> +<para>Fullskärm</para></formalpara></listitem> +<listitem><formalpara id="KDevTipOfDay"> +<title>Dagens tips</title> +<para>Dagens tips</para></formalpara></listitem> +<listitem><formalpara id="KDevUIChooser"> +<title>Val av användargränssnitt</title> +<para>Tillhandahåller en dialogruta för val av användargränssnittsläge.</para></formalpara></listitem> +<listitem><formalpara id="KDevVCSManager"> +<title>Hantering av versionskontrollsystem</title> +<para>Hantering av versionskontrollsystem </para></formalpara></listitem> </itemizedlist> -<para ->Omfattning: Global</para> +<para>Omfattning: Global</para> <itemizedlist> -<listitem -><formalpara id="KDevAbbrev"> -<title ->Expansion av förkortningar</title> -<para ->Ger stöd för anpassningsbara förkortningar: korta ord som expanderas till vanligt använda kodstrukturer.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevDocumentation"> -<title ->Dokumentation</title> -<para ->Dokumentationsinsticksprogrammet erbjuder bläddring och sökning i lokal dokumentation och dokumentation på nätet, med stöd för flera dokumentationssystem.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevfilelist"> -<title ->Fillista</title> -<para ->Tillhandahåller en lista av alla för närvarande öppna filer. (Praktiskt när flikraden inte är riktigt bred nog.)</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevFileSelector"> -<title ->Filväljare</title> -<para ->Kraftfullt nätverkstransparent filbläddringsverktyg.</para -></formalpara -></listitem> -<listitem -><formalpara> -<title ->Skalfiltrering och infogning</title> -<para ->Erbjuder ett sätt att behandla editortext med kommandoradsverktyg. Finns i verktygsmenyn.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevGrepView"> -<title ->Gränssnitt till grep</title> -<para ->Integrerar "find | grep" med KDevelop - tillåter snabb sökning i flera filer med mönster eller reguljära uttryck.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevKonsoleView"> -<title ->Inbäddad terminal</title> -<para ->Insticksprogrammet ger KDevelop en inbyggd terminal för snabb och enkel åtkomst av kommandoraden.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevOpenWith"> -<title ->Menytillägg till "Öppna med"</title> -<para ->Insticksprogrammet tillhandahåller ytterligare "öppna" alternativ i diverse sammanhangsberoende menyer i KDevelop.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevPartExplorer"> -<title ->Delutforskningsverktyg</title> -<para ->Ett grafiskt verktyg för att utföra TDETrader-liknande förfrågningar om registrerade tjänster.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevRegexpTest"> -<title ->Test av reguljära uttryck</title> -<para ->Verktyg för att skapa och testa reguljära uttryck mot vanlig syntax för reguljära uttryck.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevReplace"> -<title ->Ersättning</title> -<para ->Insticksprogrammet är ett interaktivt verktyg för att "söka och ersätta" i hela projektet. Sök med en sträng eller reguljärt uttryck, och välj ersättningen som ska göras från en förhandsgranskning innan åtgärden slutförs. När det laddats visas det i redigeringsmenyn.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevscripting"> -<title ->Skriptanvändning</title> -<para ->Skriptinsticksprogrammet erbjuder KScript-baserad styrning av programmet KDevelop.</para -></formalpara -></listitem> -<listitem -><formalpara id="Code_Snippets"> -<title ->Kodsnuttar</title> -<para ->Det här insticksprogrammet gör det möjligt att lagra kodsnuttar och lägga till dem i din kod</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevTextTools"> -<title ->Textstruktur</title> -<para ->Tillhandahåller en strukturöversikt och navigering för HTML- och Tex-filer</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevTools"> -<title ->Tillägg i verktygsmenyn</title> -<para ->Insticksprogrammet tillhandahåller ett enkelt sätt att lägga till yttre program i verktygsmenyn och verktygsraden.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevvalgrind"> -<title ->Valgrind-gränssnitt</title> -<para ->Valgrind är ett verktyg som hjälper dig hitta minneshanteringsproblem i program. http://developer.kde.org/~sewardj/</para -></formalpara -></listitem> +<listitem><formalpara id="KDevAbbrev"> +<title>Expansion av förkortningar</title> +<para>Ger stöd för anpassningsbara förkortningar: korta ord som expanderas till vanligt använda kodstrukturer.</para></formalpara></listitem> +<listitem><formalpara id="KDevDocumentation"> +<title>Dokumentation</title> +<para>Dokumentationsinsticksprogrammet erbjuder bläddring och sökning i lokal dokumentation och dokumentation på nätet, med stöd för flera dokumentationssystem.</para></formalpara></listitem> +<listitem><formalpara id="KDevfilelist"> +<title>Fillista</title> +<para>Tillhandahåller en lista av alla för närvarande öppna filer. (Praktiskt när flikraden inte är riktigt bred nog.)</para></formalpara></listitem> +<listitem><formalpara id="KDevFileSelector"> +<title>Filväljare</title> +<para>Kraftfullt nätverkstransparent filbläddringsverktyg.</para></formalpara></listitem> +<listitem><formalpara> +<title>Skalfiltrering och infogning</title> +<para>Erbjuder ett sätt att behandla editortext med kommandoradsverktyg. Finns i verktygsmenyn.</para></formalpara></listitem> +<listitem><formalpara id="KDevGrepView"> +<title>Gränssnitt till grep</title> +<para>Integrerar "find | grep" med KDevelop - tillåter snabb sökning i flera filer med mönster eller reguljära uttryck.</para></formalpara></listitem> +<listitem><formalpara id="KDevKonsoleView"> +<title>Inbäddad terminal</title> +<para>Insticksprogrammet ger KDevelop en inbyggd terminal för snabb och enkel åtkomst av kommandoraden.</para></formalpara></listitem> +<listitem><formalpara id="KDevOpenWith"> +<title>Menytillägg till "Öppna med"</title> +<para>Insticksprogrammet tillhandahåller ytterligare "öppna" alternativ i diverse sammanhangsberoende menyer i KDevelop.</para></formalpara></listitem> +<listitem><formalpara id="KDevPartExplorer"> +<title>Delutforskningsverktyg</title> +<para>Ett grafiskt verktyg för att utföra TDETrader-liknande förfrågningar om registrerade tjänster.</para></formalpara></listitem> +<listitem><formalpara id="KDevRegexpTest"> +<title>Test av reguljära uttryck</title> +<para>Verktyg för att skapa och testa reguljära uttryck mot vanlig syntax för reguljära uttryck.</para></formalpara></listitem> +<listitem><formalpara id="KDevReplace"> +<title>Ersättning</title> +<para>Insticksprogrammet är ett interaktivt verktyg för att "söka och ersätta" i hela projektet. Sök med en sträng eller reguljärt uttryck, och välj ersättningen som ska göras från en förhandsgranskning innan åtgärden slutförs. När det laddats visas det i redigeringsmenyn.</para></formalpara></listitem> +<listitem><formalpara id="KDevscripting"> +<title>Skriptanvändning</title> +<para>Skriptinsticksprogrammet erbjuder KScript-baserad styrning av programmet KDevelop.</para></formalpara></listitem> +<listitem><formalpara id="Code_Snippets"> +<title>Kodsnuttar</title> +<para>Det här insticksprogrammet gör det möjligt att lagra kodsnuttar och lägga till dem i din kod</para></formalpara></listitem> +<listitem><formalpara id="KDevTextTools"> +<title>Textstruktur</title> +<para>Tillhandahåller en strukturöversikt och navigering för HTML- och Tex-filer</para></formalpara></listitem> +<listitem><formalpara id="KDevTools"> +<title>Tillägg i verktygsmenyn</title> +<para>Insticksprogrammet tillhandahåller ett enkelt sätt att lägga till yttre program i verktygsmenyn och verktygsraden.</para></formalpara></listitem> +<listitem><formalpara id="KDevvalgrind"> +<title>Valgrind-gränssnitt</title> +<para>Valgrind är ett verktyg som hjälper dig hitta minneshanteringsproblem i program. http://developer.kde.org/~sewardj/</para></formalpara></listitem> </itemizedlist> -<para ->Omfattning: Projekt</para> +<para>Omfattning: Projekt</para> <itemizedlist> -<listitem -><formalpara id="KDevannotation"> -<title ->Noteringsinsticksprogram</title> -<para ->Noteringsbeskrivning</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevAStyle"> -<title ->Källkodsformatering</title> -<para ->Ett insticksprogram för att formatera källkod enligt en given uppsättning regler. När det laddats finns det i verktygsmenyn.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevBookmarks"> -<title ->Bokmärken</title> -<para ->Insticksprogram som tillhandahåller navigering och översikt över aktiva källkodsbokmärken och gör dem bestående mellan sessioner.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevClassView"> -<title ->Klassvisning</title> -<para ->Insticksprogrammet visar en grafisk bild av alla klasser i ett projekt, tillsammans med metoder och egenskaper, och ger möjlighet till direkt navigering i källkoden.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevcopyto"> -<title ->Kopiera till</title> -<para ->Enkelt insticksprogram för uppladdning av filer. Det utför en filkopiering med alla protokoll som stöds av TDEIO.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevCTags2"> -<title ->Ctags-gränssnitt</title> -<para ->Ctags är ett verktyg för källkodsnavigering med stöd för många språk. När det laddats tillhandahåller det en sammanhangsberoende meny för att hitta typdeklarationer eller definitioner, och dessutom en frågedialogruta. http://ctags.sourceforge.net/</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevdistpart"> -<title ->Stöd för slutpaketering</title> -<para ->Hjälper till att bygga och publicera det färdiga projektet. Endast RPM-paketformatet stöds för närvarande.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevDoxygen"> -<title ->Doxygen-stöd</title> -<para ->Doxygen-insticksprogrammet tillhandahåller ett sätt att ange och styra hur dokument skapas för ett projekt, baserat på källkodens innehåll. Du måste ha installerat Doxygen för att kunna använda det. För mer information besök http://www.doxygen.org.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevQuickOpen"> -<title ->Snabböppna</title> -<para ->Erbjuder ett effektivt sätt att hitta och öppna filer, klasser och metoder i ett stort projekt. Finns i menyn Arkiv och Verktyg när det laddats.</para -></formalpara -></listitem> -<listitem -><formalpara id="KDevSecurity"> -<title ->Säkerhetskontroll</title> -<para ->Kodsäkerhetskontroll</para -></formalpara -></listitem> +<listitem><formalpara id="KDevannotation"> +<title>Noteringsinsticksprogram</title> +<para>Noteringsbeskrivning</para></formalpara></listitem> +<listitem><formalpara id="KDevAStyle"> +<title>Källkodsformatering</title> +<para>Ett insticksprogram för att formatera källkod enligt en given uppsättning regler. När det laddats finns det i verktygsmenyn.</para></formalpara></listitem> +<listitem><formalpara id="KDevBookmarks"> +<title>Bokmärken</title> +<para>Insticksprogram som tillhandahåller navigering och översikt över aktiva källkodsbokmärken och gör dem bestående mellan sessioner.</para></formalpara></listitem> +<listitem><formalpara id="KDevClassView"> +<title>Klassvisning</title> +<para>Insticksprogrammet visar en grafisk bild av alla klasser i ett projekt, tillsammans med metoder och egenskaper, och ger möjlighet till direkt navigering i källkoden.</para></formalpara></listitem> +<listitem><formalpara id="KDevcopyto"> +<title>Kopiera till</title> +<para>Enkelt insticksprogram för uppladdning av filer. Det utför en filkopiering med alla protokoll som stöds av TDEIO.</para></formalpara></listitem> +<listitem><formalpara id="KDevCTags2"> +<title>Ctags-gränssnitt</title> +<para>Ctags är ett verktyg för källkodsnavigering med stöd för många språk. När det laddats tillhandahåller det en sammanhangsberoende meny för att hitta typdeklarationer eller definitioner, och dessutom en frågedialogruta. http://ctags.sourceforge.net/</para></formalpara></listitem> +<listitem><formalpara id="KDevdistpart"> +<title>Stöd för slutpaketering</title> +<para>Hjälper till att bygga och publicera det färdiga projektet. Endast RPM-paketformatet stöds för närvarande.</para></formalpara></listitem> +<listitem><formalpara id="KDevDoxygen"> +<title>Doxygen-stöd</title> +<para>Doxygen-insticksprogrammet tillhandahåller ett sätt att ange och styra hur dokument skapas för ett projekt, baserat på källkodens innehåll. Du måste ha installerat Doxygen för att kunna använda det. För mer information besök http://www.doxygen.org.</para></formalpara></listitem> +<listitem><formalpara id="KDevQuickOpen"> +<title>Snabböppna</title> +<para>Erbjuder ett effektivt sätt att hitta och öppna filer, klasser och metoder i ett stort projekt. Finns i menyn Arkiv och Verktyg när det laddats.</para></formalpara></listitem> +<listitem><formalpara id="KDevSecurity"> +<title>Säkerhetskontroll</title> +<para>Kodsäkerhetskontroll</para></formalpara></listitem> </itemizedlist> -<para ->Så långt den skapade listan över insticksprogram.</para> +<para>Så långt den skapade listan över insticksprogram.</para> <table id="table-project-parts"> -<title ->Insticksprogram för projekthantering i &tdevelop;</title> -<tgroup cols="2" -><tbody> +<title>Insticksprogram för projekthantering i &tdevelop;</title> +<tgroup cols="2"><tbody> <row> - <entry ->antproject</entry> - <entry ->ANT-projekthantering (&Java;-program)</entry> + <entry>antproject</entry> + <entry>ANT-projekthantering (&Java;-program)</entry> </row> <row> - <entry ->autoprojekt</entry> - <entry ->Automake projekthantering</entry> + <entry>autoprojekt</entry> + <entry>Automake projekthantering</entry> </row> <row> - <entry ->customproject</entry> - <entry ->Egen projekthantering</entry> + <entry>customproject</entry> + <entry>Egen projekthantering</entry> </row> <row> - <entry ->trollproject</entry> - <entry ->Qmake-baserad projekthantering</entry> + <entry>trollproject</entry> + <entry>Qmake-baserad projekthantering</entry> </row> -</tbody -></tgroup> +</tbody></tgroup> </table> -<para ->Ovanstående insticksprogram är för närvarande (maj 2005) tomma. Kanske projekthanteringsstöd kommer att implementeras som insticksprogram i framtiden.</para> +<para>Ovanstående insticksprogram är för närvarande (maj 2005) tomma. Kanske projekthanteringsstöd kommer att implementeras som insticksprogram i framtiden.</para> <table> -<title ->Insticksprogram för språkstöd i &tdevelop;</title> +<title>Insticksprogram för språkstöd i &tdevelop;</title> <tgroup cols="2"> <tbody> -<row -><entry ->cppsupport</entry -><entry ->Stöd för C/C++</entry -></row> -<row -><entry ->fortransupport</entry -><entry ->Stöd för Fortran</entry -></row> -<row -><entry ->javasupport</entry -><entry ->Stöd för &Java;</entry -></row> -<row -><entry ->perlsupport</entry -><entry ->Stöd för Perl</entry -></row> -<row -><entry ->phpsupport</entry -><entry ->Stöd för PHP</entry -></row> -<row -><entry ->pythonsupport</entry -><entry ->Stöd för Python</entry -></row> -</tbody -></tgroup> +<row><entry>cppsupport</entry><entry>Stöd för C/C++</entry></row> +<row><entry>fortransupport</entry><entry>Stöd för Fortran</entry></row> +<row><entry>javasupport</entry><entry>Stöd för &Java;</entry></row> +<row><entry>perlsupport</entry><entry>Stöd för Perl</entry></row> +<row><entry>phpsupport</entry><entry>Stöd för PHP</entry></row> +<row><entry>pythonsupport</entry><entry>Stöd för Python</entry></row> +</tbody></tgroup> </table> -<para ->Vissa av insticksprogrammen beskrivs i detalj i det följande.</para> +<para>Vissa av insticksprogrammen beskrivs i detalj i det följande.</para> <itemizedlist> <listitem> <formalpara> -<title ->Insticksprogrammet <command ->Förkortningar</command -></title> -<indexterm zone="plugin-tools" -><primary -><command ->Förkortningar</command -></primary -></indexterm> - -<para ->Det här insticksprogrammet fyller i förkortningar av ofta använda kodfragment. Det aktiveras genom att trycka på <keycombo -><keycap ->Ctrl</keycap -><keycap ->Mellanslag</keycap -></keycombo ->. Om du till exempel skriver in <literal ->"ife"</literal -> i C++ editorn, och trycker på <keycombo -><keycap ->Ctrl</keycap -><keycap ->Mellanslag</keycap -></keycombo ->, får du en <literal ->if-else</literal -> kodmall och sparar några tangentnertryckningar. Uppsättningen med förkortningar som stöds beror på den redigerade filens programspråk. För till exempel PHP är du naturligtvis intresserad av andra kodmallar än för &Java;. </para> +<title>Insticksprogrammet <command>Förkortningar</command></title> +<indexterm zone="plugin-tools"><primary><command>Förkortningar</command></primary></indexterm> + +<para>Det här insticksprogrammet fyller i förkortningar av ofta använda kodfragment. Det aktiveras genom att trycka på <keycombo><keycap>Ctrl</keycap><keycap>Mellanslag</keycap></keycombo>. Om du till exempel skriver in <literal>"ife"</literal> i C++ editorn, och trycker på <keycombo><keycap>Ctrl</keycap><keycap>Mellanslag</keycap></keycombo>, får du en <literal>if-else</literal> kodmall och sparar några tangentnertryckningar. Uppsättningen med förkortningar som stöds beror på den redigerade filens programspråk. För till exempel PHP är du naturligtvis intresserad av andra kodmallar än för &Java;. </para> </formalpara> -<para ->Uppsättningen med kodmallar kan anpassas. Om insticksprogrammet är aktiverat, kan du se vilka som är tillgängliga med dialogrutan <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -></menuchoice -> under <guibutton ->Förkortningar</guibutton ->. </para> +<para>Uppsättningen med kodmallar kan anpassas. Om insticksprogrammet är aktiverat, kan du se vilka som är tillgängliga med dialogrutan <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem></menuchoice> under <guibutton>Förkortningar</guibutton>. </para> </listitem> <listitem> <formalpara id="KDevFilter"> -<title ->Insticksprogrammet <command ->filter</command -></title> -<indexterm zone="plugin-tools" -><primary -><command ->filter</command -></primary -></indexterm> - -<para ->Detta erbjuder två funktioner. Om du väljer <menuchoice -><guimenu ->Verktyg</guimenu -><guimenuitem ->Kör kommando</guimenuitem -></menuchoice -> kan du skriva in ett skalkommando. Utmatningen från kommandot infogas i editorns buffer när du trycker på knappen <guibutton ->Starta</guibutton ->. </para> +<title>Insticksprogrammet <command>filter</command></title> +<indexterm zone="plugin-tools"><primary><command>filter</command></primary></indexterm> + +<para>Detta erbjuder två funktioner. Om du väljer <menuchoice><guimenu>Verktyg</guimenu><guimenuitem>Kör kommando</guimenuitem></menuchoice> kan du skriva in ett skalkommando. Utmatningen från kommandot infogas i editorns buffer när du trycker på knappen <guibutton>Starta</guibutton>. </para> </formalpara> -<para ->En liknande funktion är tillgänglig med <menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Filtrera markering genom kommando...</guimenuitem -></menuchoice ->. För att använda den måste du markera ett textområde i editorn. Om du nu skriver in ett skalkommando och klickar på knappen <guibutton ->Starta</guibutton ->, startas kommandot och markeringen används som standardinmatning till det. Standardutmatningen från kommandot infogas därefter i editorn, och ersätter markeringen. </para> - -<para ->Om du till exempel skriver dokumentation, behöver du ofta hänvisa till menyalternativ. För att gör det på rätt sätt för t.ex. kopieringskommandot i menyn Redigera, måste du skriva <programlisting -><menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice></programlisting -> Det är omständigt, alltså skriver du hellre bara "Redigera" - "Kopera" och låter datorn utföra taggningen. Du kan göra det så här: Du skriver ett litet skalskript som heter mef, som du till exempel placerar i underkatalogen bin i din hemkatalog: <programlisting ->sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/</programlisting -> Glöm inte att göra det körbart. Det är allt. Nu skriver du "Redigera" - "Kopiera" i dokumentationens .dokbook-källkod. Du markerar texten du just skrivit in, väljer <menuchoice -><guimenu ->Verktyg</guimenu -><guimenuitem ->Filtrera markering genom kommando...</guimenuitem -></menuchoice -> och anropar ~/bin/mef. Omedelbart ersätts "Redigera" - "Kopiera" med <programlisting -><menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice></programlisting> +<para>En liknande funktion är tillgänglig med <menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Filtrera markering genom kommando...</guimenuitem></menuchoice>. För att använda den måste du markera ett textområde i editorn. Om du nu skriver in ett skalkommando och klickar på knappen <guibutton>Starta</guibutton>, startas kommandot och markeringen används som standardinmatning till det. Standardutmatningen från kommandot infogas därefter i editorn, och ersätter markeringen. </para> + +<para>Om du till exempel skriver dokumentation, behöver du ofta hänvisa till menyalternativ. För att gör det på rätt sätt för t.ex. kopieringskommandot i menyn Redigera, måste du skriva <programlisting><menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice></programlisting> Det är omständigt, alltså skriver du hellre bara "Redigera" - "Kopera" och låter datorn utföra taggningen. Du kan göra det så här: Du skriver ett litet skalskript som heter mef, som du till exempel placerar i underkatalogen bin i din hemkatalog: <programlisting>sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/</programlisting> Glöm inte att göra det körbart. Det är allt. Nu skriver du "Redigera" - "Kopiera" i dokumentationens .dokbook-källkod. Du markerar texten du just skrivit in, väljer <menuchoice><guimenu>Verktyg</guimenu><guimenuitem>Filtrera markering genom kommando...</guimenuitem></menuchoice> och anropar ~/bin/mef. Omedelbart ersätts "Redigera" - "Kopiera" med <programlisting><menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice></programlisting> </para> @@ -538,194 +213,75 @@ <listitem> <formalpara> -<title ->Insticksprogrammet &doxygen;</title> -<indexterm zone="plugin-tools" -><primary ->&doxygen;</primary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->dokumentationsverktyg</primary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->API-dokumentation</primary -></indexterm> - -<para ->Detta hjälper dig att använda API-dokumentationsverktyget &doxygen; (<ulink url="http://www.doxygen.org" -></ulink ->). Du kan välja <menuchoice -><guimenu ->Projekt</guimenu -><guimenuitem ->Kör Doxygen</guimenuitem -></menuchoice -> för att skapa API-dokumentation för det nuvarande projektet baserat på konfigurationen som anges av filen <filename ->Doxyfile</filename -> i projektkatalogen. </para> +<title>Insticksprogrammet &doxygen;</title> +<indexterm zone="plugin-tools"><primary>&doxygen;</primary></indexterm> +<indexterm zone="plugin-tools"><primary>dokumentationsverktyg</primary></indexterm> +<indexterm zone="plugin-tools"><primary>API-dokumentation</primary></indexterm> + +<para>Detta hjälper dig att använda API-dokumentationsverktyget &doxygen; (<ulink url="http://www.doxygen.org"></ulink>). Du kan välja <menuchoice><guimenu>Projekt</guimenu><guimenuitem>Kör Doxygen</guimenuitem></menuchoice> för att skapa API-dokumentation för det nuvarande projektet baserat på konfigurationen som anges av filen <filename>Doxyfile</filename> i projektkatalogen. </para> </formalpara> -<para ->Dessutom kan du anpassa &doxygen; med dialogrutan <menuchoice -><guimenu ->Projekt</guimenu -><guimenuitem ->Projektinställningar...</guimenuitem -></menuchoice ->. Dialogrutan är mycket lik verktyget &doxywizard;. </para> +<para>Dessutom kan du anpassa &doxygen; med dialogrutan <menuchoice><guimenu>Projekt</guimenu><guimenuitem>Projektinställningar...</guimenuitem></menuchoice>. Dialogrutan är mycket lik verktyget &doxywizard;. </para> </listitem> <listitem> <formalpara> -<title ->Insticksprogrammet &ctags;</title> -<indexterm zone="plugin-tools" -><primary ->&ctags;</primary -></indexterm> - -<para ->Även om klassbläddraren ger dig utförlig överblick över symboler och klasser i projektet, kan du också vilja använda ctags-verktyget. Det stöder i synnerhet många fler språk än klassbläddraren. </para> +<title>Insticksprogrammet &ctags;</title> +<indexterm zone="plugin-tools"><primary>&ctags;</primary></indexterm> + +<para>Även om klassbläddraren ger dig utförlig överblick över symboler och klasser i projektet, kan du också vilja använda ctags-verktyget. Det stöder i synnerhet många fler språk än klassbläddraren. </para> </formalpara> -<para ->Du aktiverar insticksprogrammet under <menuchoice -><guimenu ->Verktyg</guimenu -><guimenuitem ->CTags...</guimenuitem -></menuchoice ->. När du startar det för första gången, blir du tillfrågad om att först skapa en sökdatabas. När du accepterar detta, startas &ctags;-programmet och skapar en fil som heter <filename ->tags</filename -> i projektkatalogen. Detta är en textfil som innehåller alla symboler i källkodsfilerna. </para> - -<para ->Du kan söka på två sätt i symboldatabasen: när rutan <guilabel ->Matcha med reguljärt uttryck</guilabel -> är markerad, tolkas texten som du skriver in som ett reguljärt uttryck (POSIX-varianten) och matchas med befintliga symboler. Texten <literal ->.*Widget</literal -> söker till exempel efter alla symboler som slutar med <literal ->Widget</literal ->. Om rutan inte är markerad, är sökningen verbatim. </para> - -<para ->Under sökningen visas en lista med matchade symboler, tillsammans med radnummer där de definieras. Du hoppar till respektive ställe genom att klicka i listan. </para> - -<para ->För vissa språk skiljer &ctags; mellan olika typer av symboler. Python har till exempel klasser och funktioner. Du kan söka enbart efter klasser genom att kryssa in motsvarande typ i dialogrutan. </para> - -<para ->Symboldatabasen uppdateras normalt inte när källkoden ändras. På grund av detta kommer inte radnumren vara riktiga längre efter ett tag, och nytillagda klasser och funktioner kommer att saknas. Därför bör du uppdatera filen <filename ->tags</filename -> med regelbundna intervall, genom att trycka på knappen <guibutton ->Skapa om</guibutton ->. </para> +<para>Du aktiverar insticksprogrammet under <menuchoice><guimenu>Verktyg</guimenu><guimenuitem>CTags...</guimenuitem></menuchoice>. När du startar det för första gången, blir du tillfrågad om att först skapa en sökdatabas. När du accepterar detta, startas &ctags;-programmet och skapar en fil som heter <filename>tags</filename> i projektkatalogen. Detta är en textfil som innehåller alla symboler i källkodsfilerna. </para> + +<para>Du kan söka på två sätt i symboldatabasen: när rutan <guilabel>Matcha med reguljärt uttryck</guilabel> är markerad, tolkas texten som du skriver in som ett reguljärt uttryck (POSIX-varianten) och matchas med befintliga symboler. Texten <literal>.*Widget</literal> söker till exempel efter alla symboler som slutar med <literal>Widget</literal>. Om rutan inte är markerad, är sökningen verbatim. </para> + +<para>Under sökningen visas en lista med matchade symboler, tillsammans med radnummer där de definieras. Du hoppar till respektive ställe genom att klicka i listan. </para> + +<para>För vissa språk skiljer &ctags; mellan olika typer av symboler. Python har till exempel klasser och funktioner. Du kan söka enbart efter klasser genom att kryssa in motsvarande typ i dialogrutan. </para> + +<para>Symboldatabasen uppdateras normalt inte när källkoden ändras. På grund av detta kommer inte radnumren vara riktiga längre efter ett tag, och nytillagda klasser och funktioner kommer att saknas. Därför bör du uppdatera filen <filename>tags</filename> med regelbundna intervall, genom att trycka på knappen <guibutton>Skapa om</guibutton>. </para> </listitem> <listitem> <formalpara> -<title ->Insticksprogrammet <command ->A-stil</command -></title> -<indexterm zone="plugin-tools" -><primary -><command ->a-stil</command -></primary -></indexterm> -<indexterm zone="plugin-tools" -><primary -><application ->Artistisk stil</application -></primary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->indrag</primary -></indexterm> - -<para ->A-stil är ett insticksprogram för att formatera källkoden enligt en specificerad uppsättning regler. </para> +<title>Insticksprogrammet <command>A-stil</command></title> +<indexterm zone="plugin-tools"><primary><command>a-stil</command></primary></indexterm> +<indexterm zone="plugin-tools"><primary><application>Artistisk stil</application></primary></indexterm> +<indexterm zone="plugin-tools"><primary>indrag</primary></indexterm> + +<para>A-stil är ett insticksprogram för att formatera källkoden enligt en specificerad uppsättning regler. </para> </formalpara> </listitem> <listitem> <formalpara> -<title ->Insticksprogrammet <command ->regexptest</command -></title> -<indexterm zone="plugin-tools" -><primary -><command ->regexptest</command -></primary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->avlusning</primary -><secondary ->reguljära uttryck</secondary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->reguljära uttryck</primary -><secondary ->avlusning</secondary -></indexterm> - -<para ->Att konstruera reguljära uttryck kan vara ett hårt arbete. Ofta matchar det första försöket med ett uttryck för många strängar. I synnerhet vid arbete med ett kompilerat språk kan cykeltiden vid avlusning av ett reguljärt uttryck vara besvärlig. Insticksprogrammet regexptest låter dig direkt utforska ändringar i ett reguljärt uttryck. Det aktiveras genom att välja <menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Avlusa reguljärt uttryck...</guimenuitem -></menuchoice ->. </para> +<title>Insticksprogrammet <command>regexptest</command></title> +<indexterm zone="plugin-tools"><primary><command>regexptest</command></primary></indexterm> +<indexterm zone="plugin-tools"><primary>avlusning</primary><secondary>reguljära uttryck</secondary></indexterm> +<indexterm zone="plugin-tools"><primary>reguljära uttryck</primary><secondary>avlusning</secondary></indexterm> + +<para>Att konstruera reguljära uttryck kan vara ett hårt arbete. Ofta matchar det första försöket med ett uttryck för många strängar. I synnerhet vid arbete med ett kompilerat språk kan cykeltiden vid avlusning av ett reguljärt uttryck vara besvärlig. Insticksprogrammet regexptest låter dig direkt utforska ändringar i ett reguljärt uttryck. Det aktiveras genom att välja <menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Avlusa reguljärt uttryck...</guimenuitem></menuchoice>. </para> </formalpara> -<para ->I variantkombinationsrutan kan du välja vilken variant av reguljära uttryck som ska användas. För närvarande stöds varianten som definieras av POSIX-standarden, som används av programmet &grep;, och den utökade POSIX-syntaxen som används av programmet &egrep;. </para> +<para>I variantkombinationsrutan kan du välja vilken variant av reguljära uttryck som ska användas. För närvarande stöds varianten som definieras av POSIX-standarden, som används av programmet &grep;, och den utökade POSIX-syntaxen som används av programmet &egrep;. </para> -<para ->När du skriver in ett uttryck, får du omedelbart återmatning om eventuella syntaxfel i det. Genom att skriva in en text under <guilabel ->Teststräng</guilabel ->, kan du se om uttrycket matchar strängen. I synnerhet om det reguljära uttrycket innehåller grupper, som <literal ->"([a-z])"</literal ->, visas innehållet av de matchade delgrupperna i en listruta. </para> +<para>När du skriver in ett uttryck, får du omedelbart återmatning om eventuella syntaxfel i det. Genom att skriva in en text under <guilabel>Teststräng</guilabel>, kan du se om uttrycket matchar strängen. I synnerhet om det reguljära uttrycket innehåller grupper, som <literal>"([a-z])"</literal>, visas innehållet av de matchade delgrupperna i en listruta. </para> </listitem> <!-- <listitem> <formalpara> -<title ->The <command ->konsole</command -> Plugin</title> -<indexterm zone="plugin-tools" -><primary -><command ->konsole</command -></primary -></indexterm> -<indexterm zone="plugin-tools" -><primary ->terminal</primary -><secondary ->embedded</secondary -></indexterm> -<para -></para> +<title>The <command>konsole</command> Plugin</title> +<indexterm zone="plugin-tools"><primary><command>konsole</command></primary></indexterm> +<indexterm zone="plugin-tools"><primary>terminal</primary><secondary>embedded</secondary></indexterm> +<para></para> </formalpara> </listitem> --> </itemizedlist> -</appendix -> <!-- plugin-tools --> +</appendix> <!-- plugin-tools --> <!-- ====================================================================== --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/project-advanced.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/project-advanced.docbook index 0ed7266d1f4..78c8eea1ffb 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/project-advanced.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/project-advanced.docbook @@ -2,110 +2,69 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Avancerad projekthantering</title> +<title>Avancerad projekthantering</title> <sect1 id="oldprojects"> -<title ->Ladda projekt</title> +<title>Ladda projekt</title> <sect2 id="loading-recent-project"> -<title ->Ladda ett av de senast använda projekten</title> +<title>Ladda ett av de senast använda projekten</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="open-recent-project.png" format="PNG"/> </imageobject> - <caption -><para ->Hur man öppnar ett av de senast använda projekten </para -></caption> + <caption><para>Hur man öppnar ett av de senast använda projekten </para></caption> </mediaobject> </screenshot> -</sect2 -> <!-- loading-recent-project --> +</sect2> <!-- loading-recent-project --> <sect2 id="loading-project"> -<title ->Ladda ett befintligt projekt</title> +<title>Ladda ett befintligt projekt</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- loading-project --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- loading-project --> <sect2 id="converting-projects"> -<title ->Konvertera gamla KDevelop projektfiler</title> - -<para ->&tdevelop; tillåter att du öppnar gamla KDevelop 2.x projektfiler och konverterar dem till &tdevelop;-filer. För att göra det, gå till <guimenuitem ->Öppna projekt...</guimenuitem -> och välj <guilabel ->KDevelop 2 projektfiler</guilabel -> under <guilabel ->Filter:</guilabel ->. Välj därefter projektfilen som du vill öppna. Projektet konverteras till &tdevelop; och sparas som en <guilabel ->&tdevelop; projektfil</guilabel ->. </para> - -</sect2 -> <!-- converting-projects --> +<title>Konvertera gamla KDevelop projektfiler</title> + +<para>&tdevelop; tillåter att du öppnar gamla KDevelop 2.x projektfiler och konverterar dem till &tdevelop;-filer. För att göra det, gå till <guimenuitem>Öppna projekt...</guimenuitem> och välj <guilabel>KDevelop 2 projektfiler</guilabel> under <guilabel>Filter:</guilabel>. Välj därefter projektfilen som du vill öppna. Projektet konverteras till &tdevelop; och sparas som en <guilabel>&tdevelop; projektfil</guilabel>. </para> + +</sect2> <!-- converting-projects --> <sect2 id="importing-projects"> -<title ->Importera ett befintligt projekt</title> +<title>Importera ett befintligt projekt</title> -<para ->För att importera en befintlig katalog till &tdevelop;, välj <guimenuitem ->Importera befintligt projekt</guimenuitem -> i menyn <guimenu ->Projekt</guimenu ->. Du ska då se guiden för att importera ett projekt, som visas nedan: </para> +<para>För att importera en befintlig katalog till &tdevelop;, välj <guimenuitem>Importera befintligt projekt</guimenuitem> i menyn <guimenu>Projekt</guimenu>. Du ska då se guiden för att importera ett projekt, som visas nedan: </para> <figure id="screenshot-importdirectory" float="1"> -<title ->Dialogrutan för importera projekt</title> +<title>Dialogrutan för importera projekt</title> <mediaobject> -<imageobject -><imagedata fileref="importdirectory.png"/></imageobject> +<imageobject><imagedata fileref="importdirectory.png"/></imageobject> </mediaobject> </figure> -</sect2 -> <!-- importing-projects --> +</sect2> <!-- importing-projects --> -</sect1 -> <!-- oldprojects --> +</sect1> <!-- oldprojects --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="project-options"> -<title ->Skräddarsy Projekt — Projektinställningar</title> +<title>Skräddarsy Projekt — Projektinställningar</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect1 -> <!-- project-options --> +</sect1> <!-- project-options --> -</chapter -> <!-- projects-advanced --> +</chapter> <!-- projects-advanced --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/project-management.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/project-management.docbook index a9e5656514b..0670faea58b 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/project-management.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/project-management.docbook @@ -2,475 +2,137 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> - <author -><firstname ->Ian</firstname -><surname ->Wadham</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> + <author><firstname>Ian</firstname><surname>Wadham</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Bygga och projekthantering</title> +<title>Bygga och projekthantering</title> -<para ->Det här kapitlet behandlar bara kompilerade projekt, som projekt med C++, &Java; eller Fortran. Projekt för skriptspråk som Python och PHP, fungerar mycket annorlunda. </para> +<para>Det här kapitlet behandlar bara kompilerade projekt, som projekt med C++, &Java; eller Fortran. Projekt för skriptspråk som Python och PHP, fungerar mycket annorlunda. </para> -<para ->Här hittar du information om följande ämnen:</para> +<para>Här hittar du information om följande ämnen:</para> <itemizedlist> - <listitem -><para -><link linkend="automake-manager-summary" ->Sammanfattning av Hantering av automake</link -> innehåller en översikt över Hantering av automake, </para -></listitem> - <listitem -><para -><link linkend="automake-manager-operation" ->Användning av Hantering av automake</link -> beskriver grunderna i hur man arbetar med Hantering av automake. </para -></listitem> + <listitem><para><link linkend="automake-manager-summary">Sammanfattning av Hantering av automake</link> innehåller en översikt över Hantering av automake, </para></listitem> + <listitem><para><link linkend="automake-manager-operation">Användning av Hantering av automake</link> beskriver grunderna i hur man arbetar med Hantering av automake. </para></listitem> </itemizedlist> <sect1 id="automake-manager-summary"> -<title ->Sammanfattning av Hantering av automake</title> - -<para ->I kapitlet <link linkend="unixdev-buildsystems" ->Byggsystem</link -> har vi gett en grov översikt av de byggsystem som vanligen används på Unix-system. I följande avsnitt tittar vi på detta i mer detalj. </para> -<para ->Det finns en viss förvirring angående hur sådana ting ska namnges. &GNU; kallar dem <quote ->byggsystem</quote -> när Automake, Autoconf och Libtool beskrivs. Qmake kallas <quote ->ett verktyg att skriva Makefiles för olika kompilatorer och plattformar</quote ->. I KDE används ofta uttrycket <quote ->projekthanteringssystem</quote ->. Vi använder det uttrycket i en vidare bemärkelse för att beskriva de inbyggda miljöer i &tdevelop; som används för att organisera och bygga projekt. I det här avsnittets sammanhang, talar vi dock i huvudsak om <quote ->automatiserade byggsystem</quote ->. </para> +<title>Sammanfattning av Hantering av automake</title> + +<para>I kapitlet <link linkend="unixdev-buildsystems">Byggsystem</link> har vi gett en grov översikt av de byggsystem som vanligen används på Unix-system. I följande avsnitt tittar vi på detta i mer detalj. </para> +<para>Det finns en viss förvirring angående hur sådana ting ska namnges. &GNU; kallar dem <quote>byggsystem</quote> när Automake, Autoconf och Libtool beskrivs. Qmake kallas <quote>ett verktyg att skriva Makefiles för olika kompilatorer och plattformar</quote>. I KDE används ofta uttrycket <quote>projekthanteringssystem</quote>. Vi använder det uttrycket i en vidare bemärkelse för att beskriva de inbyggda miljöer i &tdevelop; som används för att organisera och bygga projekt. I det här avsnittets sammanhang, talar vi dock i huvudsak om <quote>automatiserade byggsystem</quote>. </para> <sect2 id="automake-manager-summary-buildsys"> -<title ->Behovet av ett automatiserat byggsystem</title> - -<para ->Om du har ett enkelt program som skriver ut <quote ->Hej allihop</quote ->, skrivet i C, kan du kompilera och länka det med &gcc; <parameter ->-o hej hej.c</parameter -> och köra det med <command ->./hej</command ->, så du behöver inte ens en <filename ->Makefile</filename ->. </para> -<para ->Om du har ett C-program med flera moduler och deklarationsfiler och du bara ska köra det på din dator (dvs. det är ett lokalt program), behöver du bara en vanlig <filename ->Makefile</filename ->, som är ganska enkel att skriva för hand (använd <userinput ->info make</userinput -> för att lära dig mer). </para> -<para ->Komplikationerna börjar när: </para> +<title>Behovet av ett automatiserat byggsystem</title> + +<para>Om du har ett enkelt program som skriver ut <quote>Hej allihop</quote>, skrivet i C, kan du kompilera och länka det med &gcc; <parameter>-o hej hej.c</parameter> och köra det med <command>./hej</command>, så du behöver inte ens en <filename>Makefile</filename>. </para> +<para>Om du har ett C-program med flera moduler och deklarationsfiler och du bara ska köra det på din dator (dvs. det är ett lokalt program), behöver du bara en vanlig <filename>Makefile</filename>, som är ganska enkel att skriva för hand (använd <userinput>info make</userinput> för att lära dig mer). </para> +<para>Komplikationerna börjar när: </para> <itemizedlist> - <listitem -><para ->Din källkod, dokumentation, grafik, ljud, översättningar, datafiler etc. finns i mer än en katalog, </para -></listitem> - <listitem -><para ->Du har en hierarki av kataloger och underkataloger, </para -></listitem> - <listitem -><para ->Du använder bibliotek som inte är en del av den traditionella uppsättningen på &UNIX;, som &Qt;-objektbiblioteket eller &kde;-skrivbordsbibliotek, </para -></listitem> - <listitem -><para ->Du använder en preprocessor för att skapa en del av din källkod, som Qt:s MOC prekompilator, </para -></listitem> - <listitem -><para ->Du siktar på att distribuera programmet i hela världen, till personer som inte har samma &UNIX;- eller &Linux;-system, programvara och hårdvara som du, </para -></listitem> - <listitem -><para ->Du kräver en automatisk funktion för installation och avinstallation, </para -></listitem> - <listitem -><para ->Du siktar på att göra ditt program en del av &kde;:s uppsättning med skrivbordsprogram. </para -></listitem> + <listitem><para>Din källkod, dokumentation, grafik, ljud, översättningar, datafiler etc. finns i mer än en katalog, </para></listitem> + <listitem><para>Du har en hierarki av kataloger och underkataloger, </para></listitem> + <listitem><para>Du använder bibliotek som inte är en del av den traditionella uppsättningen på &UNIX;, som &Qt;-objektbiblioteket eller &kde;-skrivbordsbibliotek, </para></listitem> + <listitem><para>Du använder en preprocessor för att skapa en del av din källkod, som Qt:s MOC prekompilator, </para></listitem> + <listitem><para>Du siktar på att distribuera programmet i hela världen, till personer som inte har samma &UNIX;- eller &Linux;-system, programvara och hårdvara som du, </para></listitem> + <listitem><para>Du kräver en automatisk funktion för installation och avinstallation, </para></listitem> + <listitem><para>Du siktar på att göra ditt program en del av &kde;:s uppsättning med skrivbordsprogram. </para></listitem> </itemizedlist> -<para ->Om du befinner dig i några eller alla av ovanstående situationer, behöver du troligen ett <emphasis ->byggsystem</emphasis ->. I exemplet ovan använde vi &gcc; för att kompilera och bygga programmet <quote ->Hej</quote ->, men alla C-kompilatorer heter inte <quote ->&gcc;</quote ->. Så om du distribuerar programmet till någon som använder en annan C-kompilator, måste din Makefile på något sätt använda namnet på den personens kompilator, annars misslyckas kompileringen av programmet. Detta är bara ett av många exempel på vad som kan gå fel. </para> -<para ->Ett byggsystem jämnar ut skillnaderna åt dig. </para> +<para>Om du befinner dig i några eller alla av ovanstående situationer, behöver du troligen ett <emphasis>byggsystem</emphasis>. I exemplet ovan använde vi &gcc; för att kompilera och bygga programmet <quote>Hej</quote>, men alla C-kompilatorer heter inte <quote>&gcc;</quote>. Så om du distribuerar programmet till någon som använder en annan C-kompilator, måste din Makefile på något sätt använda namnet på den personens kompilator, annars misslyckas kompileringen av programmet. Detta är bara ett av många exempel på vad som kan gå fel. </para> +<para>Ett byggsystem jämnar ut skillnaderna åt dig. </para> <itemizedlist> - <listitem -><para ->Det kontrollerar att biblioteken som behövs finns på varje dator som tar emot programmet, </para -></listitem> - <listitem -><para ->avsöker automatiskt alla programkataloger efter filer att förbehandla, kompilera eller installera och </para -></listitem> - <listitem -><para ->installerar komponenterna som programmet består av i rätt kataloger, och försäkrar att </para -></listitem> - <listitem -><para ->katalogerna på datorn som tar emot programmet skapas efter behov. </para -></listitem> + <listitem><para>Det kontrollerar att biblioteken som behövs finns på varje dator som tar emot programmet, </para></listitem> + <listitem><para>avsöker automatiskt alla programkataloger efter filer att förbehandla, kompilera eller installera och </para></listitem> + <listitem><para>installerar komponenterna som programmet består av i rätt kataloger, och försäkrar att </para></listitem> + <listitem><para>katalogerna på datorn som tar emot programmet skapas efter behov. </para></listitem> </itemizedlist> -<para ->I korthet erbjuder ett byggsystem säkra metoder för att kompilera och installera programmet på alla datorer som tar emot programmet. Som vi har visat tidigare i översikten <link linkend="makesystems" ->Projekthanteringssystem</link ->, erbjuder &tdevelop; tre automatiserade byggsystem och möjlighet att skapa din egen Makefile. I korthet (klicka på projektnamnen för mer information): </para> +<para>I korthet erbjuder ett byggsystem säkra metoder för att kompilera och installera programmet på alla datorer som tar emot programmet. Som vi har visat tidigare i översikten <link linkend="makesystems">Projekthanteringssystem</link>, erbjuder &tdevelop; tre automatiserade byggsystem och möjlighet att skapa din egen Makefile. I korthet (klicka på projektnamnen för mer information): </para> <itemizedlist> - <listitem -><para -><link linkend="automake-project" ->Automake-projekt</link -> som använder de vanliga utvecklingsverktygen för &GNU;. </para -></listitem> - <listitem -><para -><link linkend="qmake-project" ->Qmake-projekt</link -> som använder Trolltechs Qmake-projekthantering. </para -></listitem> - <listitem -><para -><link linkend="ant-project" ->ANT-projekt</link -> som använder Apaches ANT-projekthantering för &Java;-utveckling. </para -></listitem> - <listitem -><para -><link linkend="custom-project" ->Eget projekt</link -> som kräver att du underhåller din egen <filename ->Makefile</filename ->. </para -></listitem> + <listitem><para><link linkend="automake-project">Automake-projekt</link> som använder de vanliga utvecklingsverktygen för &GNU;. </para></listitem> + <listitem><para><link linkend="qmake-project">Qmake-projekt</link> som använder Trolltechs Qmake-projekthantering. </para></listitem> + <listitem><para><link linkend="ant-project">ANT-projekt</link> som använder Apaches ANT-projekthantering för &Java;-utveckling. </para></listitem> + <listitem><para><link linkend="custom-project">Eget projekt</link> som kräver att du underhåller din egen <filename>Makefile</filename>. </para></listitem> </itemizedlist> <important> -<para ->Ett av de fyra alternativen måste väljas när du skapar ett projekt, och <emphasis ->valet är svårt att senare ändra</emphasis ->, så du bör tänka efter innan du börjar. </para> +<para>Ett av de fyra alternativen måste väljas när du skapar ett projekt, och <emphasis>valet är svårt att senare ändra</emphasis>, så du bör tänka efter innan du börjar. </para> </important> -</sect2 -> <!-- automake-manager-summary-buildsys --> +</sect2> <!-- automake-manager-summary-buildsys --> <sect2 id="automake-references"> -<title ->Handledningar om Autoconf, Automake och Libtool</title> -<para ->Det finns flera handledningar tillgängliga om &GNU;:s byggsystem (<command ->Autoconf</command ->, <command ->Automake</command -> och <command ->Libtool</command ->) som Hantering av automake använder sig av. </para> +<title>Handledningar om Autoconf, Automake och Libtool</title> +<para>Det finns flera handledningar tillgängliga om &GNU;:s byggsystem (<command>Autoconf</command>, <command>Automake</command> och <command>Libtool</command>) som Hantering av automake använder sig av. </para> <itemizedlist> - <listitem -><para ->En kort <ulink url="http://www.kdevelop.org/index.html?filename=tutorial_autoconf.html" ->handledning om autoconf</ulink ->, skriven av Christopher W. Curtis finns tillgänglig på &tdevelop;s hemsida. Den koncentrerar sig på några grundläggande steg för att ändra en <filename ->Makefile</filename ->. </para -></listitem> - <listitem -><para ->En mer detaljerad handledning finns som en del av en större uppsättning handledningar under <ulink url="http://www.amath.washington.edu/~lf/tutorials/autoconf/toolsmanual_toc.html" -><quote ->Utveckla programvara med GNU</quote -></ulink ->. </para -></listitem> - <listitem -><para ->Den berömda <ulink url="http://sources.redhat.com/autobook" -><quote ->getboken</quote -></ulink ->, som heter <quote ->Autoconf, Automake, and Libtool</quote ->, finns också. Den är en lättläst, men ändå kortfattad, introduktion till alla viktiga aspekter av &GNU;:s autoverktyg. </para -></listitem> + <listitem><para>En kort <ulink url="http://www.kdevelop.org/index.html?filename=tutorial_autoconf.html">handledning om autoconf</ulink>, skriven av Christopher W. Curtis finns tillgänglig på &tdevelop;s hemsida. Den koncentrerar sig på några grundläggande steg för att ändra en <filename>Makefile</filename>. </para></listitem> + <listitem><para>En mer detaljerad handledning finns som en del av en större uppsättning handledningar under <ulink url="http://www.amath.washington.edu/~lf/tutorials/autoconf/toolsmanual_toc.html"><quote>Utveckla programvara med GNU</quote></ulink>. </para></listitem> + <listitem><para>Den berömda <ulink url="http://sources.redhat.com/autobook"><quote>getboken</quote></ulink>, som heter <quote>Autoconf, Automake, and Libtool</quote>, finns också. Den är en lättläst, men ändå kortfattad, introduktion till alla viktiga aspekter av &GNU;:s autoverktyg. </para></listitem> </itemizedlist> -</sect2 -> <!-- automake-references --> +</sect2> <!-- automake-references --> <sect2 id="automake-manager-basics"> -<title ->Vad gör Hantering av automake?</title> - -<para -><link linkend="applicationwizard" ->Programguiden</link -> har skapat några ursprungliga <filename ->Makefile.am</filename -> filer när du skapade ett <guilabel ->nytt projekt</guilabel -> av en typ som använder &GNU;:s byggsystem, som <menuchoice -><guimenuitem ->C++</guimenuitem -> <guimenuitem ->KDE</guimenuitem -> <guimenuitem ->Application framework</guimenuitem -></menuchoice ->. Under utvecklingen skapar Hantering av automake alla ytterligare <filename ->Makefile.am</filename -> filer för projekt som använder &GNU;:s byggsystem, och underhåller alla, både de som skapats med programguiden och Hantering av automake. </para> -<para ->Det finns en <filename ->Makefile.am</filename -> i varje projektkatalog som innehåller filer som ska kompileras eller installeras. Den innehåller dina specifikationer för att kompilera, bygga och installera filer och en referens till alla underkataloger som också har en <filename ->Makefile.am</filename -> och möjligen några filer att kompilera, bygga och installera. </para> - -<note -><para ->Projektets kataloger och källkodsfiler kan struktureras till vilket djup som helst, eller du kanske föredrar en platt projektstruktur med alla underkataloger på toppnivå. </para -></note> - -<para ->Målet med &GNU;:s byggsystem är att skapa filstrukturer för källkod som kan kompileras, byggas och installeras på vilket &UNIX;- eller &Linux;-system som helst med de enkla kommandona: </para> - -<screen ->./configure +<title>Vad gör Hantering av automake?</title> + +<para><link linkend="applicationwizard">Programguiden</link> har skapat några ursprungliga <filename>Makefile.am</filename> filer när du skapade ett <guilabel>nytt projekt</guilabel> av en typ som använder &GNU;:s byggsystem, som <menuchoice><guimenuitem>C++</guimenuitem> <guimenuitem>KDE</guimenuitem> <guimenuitem>Application framework</guimenuitem></menuchoice>. Under utvecklingen skapar Hantering av automake alla ytterligare <filename>Makefile.am</filename> filer för projekt som använder &GNU;:s byggsystem, och underhåller alla, både de som skapats med programguiden och Hantering av automake. </para> +<para>Det finns en <filename>Makefile.am</filename> i varje projektkatalog som innehåller filer som ska kompileras eller installeras. Den innehåller dina specifikationer för att kompilera, bygga och installera filer och en referens till alla underkataloger som också har en <filename>Makefile.am</filename> och möjligen några filer att kompilera, bygga och installera. </para> + +<note><para>Projektets kataloger och källkodsfiler kan struktureras till vilket djup som helst, eller du kanske föredrar en platt projektstruktur med alla underkataloger på toppnivå. </para></note> + +<para>Målet med &GNU;:s byggsystem är att skapa filstrukturer för källkod som kan kompileras, byggas och installeras på vilket &UNIX;- eller &Linux;-system som helst med de enkla kommandona: </para> + +<screen>./configure make make install # Oftast som systemadministratör. </screen> -<para ->och kan avinstalleras med kommandot <command ->make uninstall</command -> (oftast som systemadministratör). </para> - -<para ->Hur fungerar det? Ja, <command ->configure</command -> är ett skript som: <itemizedlist> - <listitem -><para ->arbetar fram detaljinformation om systemet som det körs på, som vilken kompilator och vilka bibliotek som ska användas, var de finns, och därefter </para -></listitem> - <listitem -><para ->rekursivt skapar filerna <filename ->Makefile</filename -> genom att fylla i det som ska ersättas i motsvarande <filename ->Makefile.in</filename ->. </para -></listitem> +<para>och kan avinstalleras med kommandot <command>make uninstall</command> (oftast som systemadministratör). </para> + +<para>Hur fungerar det? Ja, <command>configure</command> är ett skript som: <itemizedlist> + <listitem><para>arbetar fram detaljinformation om systemet som det körs på, som vilken kompilator och vilka bibliotek som ska användas, var de finns, och därefter </para></listitem> + <listitem><para>rekursivt skapar filerna <filename>Makefile</filename> genom att fylla i det som ska ersättas i motsvarande <filename>Makefile.in</filename>. </para></listitem> </itemizedlist> </para> -<para ->Filen <filename ->Makefile.am</filename -> är <quote ->indata</quote ->, en mall som ger grundläggande information för den <filename ->Makefile</filename -> som ska skapas, genom att fylla i viss systemberoende information. Den skapas av verktyget <command ->Automake</command -> från filen <filename ->Makefile.am</filename ->. </para> -<para ->Processen att komma från en <filename ->Makefile.am</filename -> (där <filename ->.am</filename -> anger mallfiler för <quote ->Automake</quote ->) till <filename ->Makefile</filename -> hanteras automatiskt av &tdevelop;s Hantering av automake med verktyget <command ->Autoconf</command ->, <command ->M4</command ->-makron och andra mysterier vi inte behöver gå in på här. </para> -<para ->Så när <command ->make</command -> kör, hämtar det automatiskt rätt information från den nuvarande miljön, som kompilatorer och bibliotek. På samma sätt, placerar <command ->make install</command -> delarna av programmet, som körbara filer, dokumentation och datafiler på rätt plats i den miljön. </para> - -<para ->Om du distribuerar programmet som ett <quote ->tar-arkiv</quote -> (en enda komprimerad fil som &tdevelop; kan skapa åt dig), innehåller den filerna <filename ->Makefile.in</filename -> och skriptfilen <filename ->configure</filename ->, så att mottagaren kan kompilera, bygga och installera programmet utan att ha <command ->Automake</command ->, <command ->Autoconf</command -> eller KDevelop på sin dator. Filerna <filename ->Makefile.am</filename -> ingår också, ifall mottagaren måste göra några ändringar i källkoden. </para> -<note -><para ->Reglerna är väsentligt annorlunda om du distribuerar via ett webbaserat källkodsarkiv som &kde;:s &cvs;. </para -></note> - -</sect2 -> <!-- automake-manager-basics --> +<para>Filen <filename>Makefile.am</filename> är <quote>indata</quote>, en mall som ger grundläggande information för den <filename>Makefile</filename> som ska skapas, genom att fylla i viss systemberoende information. Den skapas av verktyget <command>Automake</command> från filen <filename>Makefile.am</filename>. </para> +<para>Processen att komma från en <filename>Makefile.am</filename> (där <filename>.am</filename> anger mallfiler för <quote>Automake</quote>) till <filename>Makefile</filename> hanteras automatiskt av &tdevelop;s Hantering av automake med verktyget <command>Autoconf</command>, <command>M4</command>-makron och andra mysterier vi inte behöver gå in på här. </para> +<para>Så när <command>make</command> kör, hämtar det automatiskt rätt information från den nuvarande miljön, som kompilatorer och bibliotek. På samma sätt, placerar <command>make install</command> delarna av programmet, som körbara filer, dokumentation och datafiler på rätt plats i den miljön. </para> + +<para>Om du distribuerar programmet som ett <quote>tar-arkiv</quote> (en enda komprimerad fil som &tdevelop; kan skapa åt dig), innehåller den filerna <filename>Makefile.in</filename> och skriptfilen <filename>configure</filename>, så att mottagaren kan kompilera, bygga och installera programmet utan att ha <command>Automake</command>, <command>Autoconf</command> eller KDevelop på sin dator. Filerna <filename>Makefile.am</filename> ingår också, ifall mottagaren måste göra några ändringar i källkoden. </para> +<note><para>Reglerna är väsentligt annorlunda om du distribuerar via ett webbaserat källkodsarkiv som &kde;:s &cvs;. </para></note> + +</sect2> <!-- automake-manager-basics --> <sect2 id="automake-manager-basics-summary"> -<title ->Sammanfattning av vad Hantering av automake gör</title> +<title>Sammanfattning av vad Hantering av automake gör</title> <itemizedlist> - <listitem -><para ->Skapar filerna <filename ->Makefile.am</filename -> i underkatalogerna som det känner till som <quote ->delprojekt</quote ->. </para -></listitem> - <listitem -><para ->Uppdaterar filerna <filename ->Makefile.am</filename -> när projektstrukturen ändras. </para -></listitem> - <listitem -><para ->Uppdaterar filerna <filename ->Makefile.am</filename -> när filer läggs till i eller tas bort från projekt. </para -></listitem> - <listitem -><para ->Accepterar definitioner om hur de olika filerna ska byggas eller installeras, och ändrar <filename ->Makefile.am</filename -> enligt dem. </para -></listitem> - <listitem -><para ->Accepterar parametrar som används vid byggning eller installation (t.ex. biblioteksnamn), och försäkrar att de används i de nödvändiga kompilerings- och byggstegen. </para -></listitem> + <listitem><para>Skapar filerna <filename>Makefile.am</filename> i underkatalogerna som det känner till som <quote>delprojekt</quote>. </para></listitem> + <listitem><para>Uppdaterar filerna <filename>Makefile.am</filename> när projektstrukturen ändras. </para></listitem> + <listitem><para>Uppdaterar filerna <filename>Makefile.am</filename> när filer läggs till i eller tas bort från projekt. </para></listitem> + <listitem><para>Accepterar definitioner om hur de olika filerna ska byggas eller installeras, och ändrar <filename>Makefile.am</filename> enligt dem. </para></listitem> + <listitem><para>Accepterar parametrar som används vid byggning eller installation (t.ex. biblioteksnamn), och försäkrar att de används i de nödvändiga kompilerings- och byggstegen. </para></listitem> </itemizedlist> -</sect2 -> <!-- automake-manager-basics-summary --> +</sect2> <!-- automake-manager-basics-summary --> <sect2 id="automake-file-contents"> -<title ->Innehåll i automake-filer</title> - -<para ->Filen <filename ->Makefile.am</filename -> har rader som innehåller variabelnamn följda av ett likhetstecken och en lista med filer eller parametervärden. <quote ->Variabler</quote -> har tvådelade namn, som <varname ->bin_PROGRAMS</varname ->, <varname ->mittpgm_SOURCES</varname -> eller <varname ->kdelnk_DATA</varname ->. Den andra delen kallas <emphasis ->den primära</emphasis -> och representerar något som ska byggas eller installeras. Den första delen kallas <emphasis ->prefix</emphasis -> och representerar: </para> +<title>Innehåll i automake-filer</title> + +<para>Filen <filename>Makefile.am</filename> har rader som innehåller variabelnamn följda av ett likhetstecken och en lista med filer eller parametervärden. <quote>Variabler</quote> har tvådelade namn, som <varname>bin_PROGRAMS</varname>, <varname>mittpgm_SOURCES</varname> eller <varname>kdelnk_DATA</varname>. Den andra delen kallas <emphasis>den primära</emphasis> och representerar något som ska byggas eller installeras. Den första delen kallas <emphasis>prefix</emphasis> och representerar: </para> <itemizedlist> - <listitem -><para ->En <emphasis ->katalog</emphasis -> där installationen ska göras (t.ex. <filename ->bin</filename ->), </para -></listitem> - <listitem -><para ->En <emphasis ->kvalifikation</emphasis -> för den primära delen (t.ex. <emphasis ->mittpgm</emphasis -> för <varname ->SOURCES</varname ->, som anger att källkodsfiler som listas efter <varname ->mittpgm_SOURCES</varname -> ingår i att bygga <varname ->mittpgm</varname ->. </para -></listitem> - <listitem -><para ->Ett särskilt <emphasis ->prefix</emphasis -> <varname ->noinst</varname -> (kort för <quote ->ingen installation</quote ->), som oftast används för att lista programmets deklarationsfiler (<filename ->.h</filename ->), </para -></listitem> - <listitem -><para ->Eller det speciella prefixet <varname ->EXTRA</varname ->, för <emphasis ->konfigurationsberoende</emphasis -> saker. </para -></listitem> + <listitem><para>En <emphasis>katalog</emphasis> där installationen ska göras (t.ex. <filename>bin</filename>), </para></listitem> + <listitem><para>En <emphasis>kvalifikation</emphasis> för den primära delen (t.ex. <emphasis>mittpgm</emphasis> för <varname>SOURCES</varname>, som anger att källkodsfiler som listas efter <varname>mittpgm_SOURCES</varname> ingår i att bygga <varname>mittpgm</varname>. </para></listitem> + <listitem><para>Ett särskilt <emphasis>prefix</emphasis> <varname>noinst</varname> (kort för <quote>ingen installation</quote>), som oftast används för att lista programmets deklarationsfiler (<filename>.h</filename>), </para></listitem> + <listitem><para>Eller det speciella prefixet <varname>EXTRA</varname>, för <emphasis>konfigurationsberoende</emphasis> saker. </para></listitem> </itemizedlist> -<para ->För mer information om <command ->Automake</command -> och filerna <filename ->Makefile.am</filename ->, slå upp den med <userinput ->info Automake</userinput ->. </para> -<para ->I huvudsak skapar och uppdaterar Hantering av automake variabelnamn och fillistor eller parametrar. Se följande exempel på en <filename ->Makefile.am</filename -> för ett typiskt program, som kallas <filename ->mittpgm</filename ->. </para> - -<screen ->## Makefile.am för mittpgm +<para>För mer information om <command>Automake</command> och filerna <filename>Makefile.am</filename>, slå upp den med <userinput>info Automake</userinput>. </para> +<para>I huvudsak skapar och uppdaterar Hantering av automake variabelnamn och fillistor eller parametrar. Se följande exempel på en <filename>Makefile.am</filename> för ett typiskt program, som kallas <filename>mittpgm</filename>. </para> + +<screen>## Makefile.am för mittpgm # det här är programmet som installeras. dess namn används för alla # andra Makefile.am variablerna @@ -507,791 +169,328 @@ rc_DATA = mittpgm_ui.rc AM_CXXFLAGS = -DMITT_C++_PREPROCESSOR_ALTERNATIV </screen> -<para ->Som du kan se är många av objekten på högersidan symboler på formen <varname ->$(xxxx)</varname ->. De är <emphasis ->miljövariabler</emphasis -> som definieras i själva &kde;-miljön och ersätts med riktiga värden när <command ->./configure</command -> skapar de slutliga filerna <filename ->Makefile</filename -> på datorn som tar emot programmet. </para> - -<para ->Det är också en god idé att köra kommandot <command ->./configure --help</command -> någon gång efter du har börjat med &tdevelop;, som visar dig de olika saker du kan ändra vid bygg- och installationstid, såsom en testmiljö. I synnerhet kommandot: <screen> +<para>Som du kan se är många av objekten på högersidan symboler på formen <varname>$(xxxx)</varname>. De är <emphasis>miljövariabler</emphasis> som definieras i själva &kde;-miljön och ersätts med riktiga värden när <command>./configure</command> skapar de slutliga filerna <filename>Makefile</filename> på datorn som tar emot programmet. </para> + +<para>Det är också en god idé att köra kommandot <command>./configure --help</command> någon gång efter du har börjat med &tdevelop;, som visar dig de olika saker du kan ändra vid bygg- och installationstid, såsom en testmiljö. I synnerhet kommandot: <screen> ./configure --prefix=/var/du/vill -</screen -> flyttar hela installationen till en katalogstruktur som du väljer, genom att ändra den interna variabeln <varname ->$(prefix)</varname -> till värdet <filename class="directory" ->/var/du/vill</filename ->. </para> +</screen> flyttar hela installationen till en katalogstruktur som du väljer, genom att ändra den interna variabeln <varname>$(prefix)</varname> till värdet <filename class="directory">/var/du/vill</filename>. </para> -</sect2 -> <!-- automake-file-contents --> +</sect2> <!-- automake-file-contents --> -</sect1 -> <!-- automake-manager-summary --> +</sect1> <!-- automake-manager-summary --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="automake-manager-operation"> -<title ->Användning av Hantering av automake</title> - -<para ->I det här kapitlet hittar du en grundläggande beskrivning av elementen i Hantering av automake, och hur de används. Det täcker: <itemizedlist> - <listitem -><para -><link linkend="automake-manager-operation-window" ->Fönstret Hantering av automake</link -> beskriver den grundläggande strukturen hos huvudfönstret i Hantering av automake. </para -></listitem> - <listitem -><para -><link linkend="automake-manager-operation-survey-window" ->Översiktsfönstret</link -> beskriver elementen i det övre delfönstret. </para -></listitem> - <listitem -><para -><link linkend="automake-manager-operation-detail-window" ->Detaljfönstret</link -> beskriver elementen i det undre delfönstret. </para -></listitem> - <listitem -><para -><link linkend="automake-manager-operation-navigate" ->Navigera i Hantering av automake</link -> listar några grundläggande åtgärder du kan utföra i Hantering av automake. </para -></listitem> - <listitem -><para -><link linkend="automake-manager-operation-popups" ->Sammanhangsberoende menyer i Hantering av automake</link -> beskriver menyerna som dyker upp när du väljer en åtgärd i Hantering av automake. </para -></listitem> +<title>Användning av Hantering av automake</title> + +<para>I det här kapitlet hittar du en grundläggande beskrivning av elementen i Hantering av automake, och hur de används. Det täcker: <itemizedlist> + <listitem><para><link linkend="automake-manager-operation-window">Fönstret Hantering av automake</link> beskriver den grundläggande strukturen hos huvudfönstret i Hantering av automake. </para></listitem> + <listitem><para><link linkend="automake-manager-operation-survey-window">Översiktsfönstret</link> beskriver elementen i det övre delfönstret. </para></listitem> + <listitem><para><link linkend="automake-manager-operation-detail-window">Detaljfönstret</link> beskriver elementen i det undre delfönstret. </para></listitem> + <listitem><para><link linkend="automake-manager-operation-navigate">Navigera i Hantering av automake</link> listar några grundläggande åtgärder du kan utföra i Hantering av automake. </para></listitem> + <listitem><para><link linkend="automake-manager-operation-popups">Sammanhangsberoende menyer i Hantering av automake</link> beskriver menyerna som dyker upp när du väljer en åtgärd i Hantering av automake. </para></listitem> </itemizedlist> </para> <sect2 id="automake-manager-operation-window"> -<title ->Fönstret Hantering av automake</title> +<title>Fönstret Hantering av automake</title> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<tgroup cols="2"><tbody><row> + <entry><inlinemediaobject> <imageobject> <imagedata fileref="automakemanager.png" format="PNG"/> </imageobject> - </inlinemediaobject -></entry> - <entry valign="top" -><itemizedlist> - <listitem -><para ->Hantering av automake använder ett delat fönster. Den övre delen kallas <emphasis ->Översiktsfönstret</emphasis -> och den undre delen kallas <emphasis ->Detaljfönstret</emphasis ->. Mellan dem finns en smal rad som kan dras med musen för att justera fönsterstorlekarna. I IDEA-fönsterläge kan du också dra sidokanten på det delade fönstret för att ändra bredden. </para -></listitem> - <listitem -><para ->Ovanför varje fönster finns en <emphasis ->verktygsrad</emphasis ->, där knapparna blir aktiva när ett element i fönstret markeras. Det här erbjuder ett sätt som du kan komma åt åtgärderna som tillhandahålls för det elementet. Det andra sättet är sammanhangsberoende menyer, som dyker upp vid klick med höger musknapp som beskrivs nedan. </para -></listitem> - <listitem -><para ->I IDEA-fönsterläge finns det ytterligare två små knappar till vänster i namnlisten på fönstret Hantering av automake: en triangelformat högerpil, och en knapp med en punkt. Pilknappen används för att <emphasis ->stänga fönstret</emphasis ->. Å andra sidan, behåller punktknappen <emphasis ->fönstret öppet</emphasis -> även om ett annat fönster väljs i &tdevelop;. (Annars stängs fönstret Hantering av automake automatiskt så fort ett annat fönster får inmatningsfokus.) </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="top"><itemizedlist> + <listitem><para>Hantering av automake använder ett delat fönster. Den övre delen kallas <emphasis>Översiktsfönstret</emphasis> och den undre delen kallas <emphasis>Detaljfönstret</emphasis>. Mellan dem finns en smal rad som kan dras med musen för att justera fönsterstorlekarna. I IDEA-fönsterläge kan du också dra sidokanten på det delade fönstret för att ändra bredden. </para></listitem> + <listitem><para>Ovanför varje fönster finns en <emphasis>verktygsrad</emphasis>, där knapparna blir aktiva när ett element i fönstret markeras. Det här erbjuder ett sätt som du kan komma åt åtgärderna som tillhandahålls för det elementet. Det andra sättet är sammanhangsberoende menyer, som dyker upp vid klick med höger musknapp som beskrivs nedan. </para></listitem> + <listitem><para>I IDEA-fönsterläge finns det ytterligare två små knappar till vänster i namnlisten på fönstret Hantering av automake: en triangelformat högerpil, och en knapp med en punkt. Pilknappen används för att <emphasis>stänga fönstret</emphasis>. Å andra sidan, behåller punktknappen <emphasis>fönstret öppet</emphasis> även om ett annat fönster väljs i &tdevelop;. (Annars stängs fönstret Hantering av automake automatiskt så fort ett annat fönster får inmatningsfokus.) </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect2 -> <!-- automake-manager-operation-window --> +</sect2> <!-- automake-manager-operation-window --> <sect2 id="automake-manager-operation-survey-window"> -<title ->Översiktsfönstret</title> +<title>Översiktsfönstret</title> -<para ->Översiktsfönstret innehåller en trädlista med alla kataloger i projektet som innehåller programfiler, dokumentation eller data. Varje sådan katalog innehåller en fil <filename ->Makefile.am</filename -> och är känd som ett <emphasis ->delprojekt</emphasis -> i Hantering av automake. Det finns tre typiska delprojekt i ett &kde;-baserat projekt, som visas på bilden ovan: </para> +<para>Översiktsfönstret innehåller en trädlista med alla kataloger i projektet som innehåller programfiler, dokumentation eller data. Varje sådan katalog innehåller en fil <filename>Makefile.am</filename> och är känd som ett <emphasis>delprojekt</emphasis> i Hantering av automake. Det finns tre typiska delprojekt i ett &kde;-baserat projekt, som visas på bilden ovan: </para> <itemizedlist> - <listitem -><para -><filename ->src</filename ->: källkodsfiler för programmet, </para -></listitem> - <listitem -><para -><filename ->doc</filename ->: användarmanualen eller handboken, </para -></listitem> - <listitem -><para -><filename ->po</filename ->: utdrag av strängar i dina källkodsfiler som kräver översättning till andra mänskliga språk (t.ex. fönsterrubriker, menynamn, namn på knappar, text i dialogrutor och meddelanden av olika slag). </para -></listitem> + <listitem><para><filename>src</filename>: källkodsfiler för programmet, </para></listitem> + <listitem><para><filename>doc</filename>: användarmanualen eller handboken, </para></listitem> + <listitem><para><filename>po</filename>: utdrag av strängar i dina källkodsfiler som kräver översättning till andra mänskliga språk (t.ex. fönsterrubriker, menynamn, namn på knappar, text i dialogrutor och meddelanden av olika slag). </para></listitem> </itemizedlist> -<para ->Observera att delprojektet <filename ->doc</filename -> alltid har ett delprojekt som heter <filename ->en</filename ->, som du kan se om du klickar på symbolen <symbol ->+</symbol -> intill ordet <filename ->doc</filename ->. Det beror på att grundspråket för all dokumentation i KDE är engelska (en). Om programmet blir en del av KDE, kan KDE:s översättningsgrupper översätta din dokumentation från engelska till andra språk, och översättningarna hamnar då i andra delprojekt, som <filename ->sv</filename -> (svenska), <filename ->de</filename -> (tyska) eller <filename ->fr</filename -> (franska). Strängarna i delprojektet <filename ->po</filename -> kan också översättas och lagras i andra filer under <filename ->po</filename ->, för att på så sätt låta programmet hanteras av personer som inte kan engelska. </para> - -<note -><para ->Delprojekten <filename ->doc</filename -> och <filename ->po</filename -> tjänar olika syften. <filename ->doc</filename -> innehåller <emphasis ->dokumentation</emphasis ->, som en användarhandbok, medan <filename ->po</filename -> innehåller textsträngar som kan översättas från <emphasis ->användargränssnittet</emphasis -> som ingår i programmets källkod. </para -></note> - -<para ->Översiktsfönstret fungerar bland annat som ett navigeringsverktyg. Om du väljer ett delprojekt i översiktsfönstret, visas motsvarande detaljinformation i detaljfönstret. </para> - -</sect2 -> <!-- automake-manager-operation-survey-window --> +<para>Observera att delprojektet <filename>doc</filename> alltid har ett delprojekt som heter <filename>en</filename>, som du kan se om du klickar på symbolen <symbol>+</symbol> intill ordet <filename>doc</filename>. Det beror på att grundspråket för all dokumentation i KDE är engelska (en). Om programmet blir en del av KDE, kan KDE:s översättningsgrupper översätta din dokumentation från engelska till andra språk, och översättningarna hamnar då i andra delprojekt, som <filename>sv</filename> (svenska), <filename>de</filename> (tyska) eller <filename>fr</filename> (franska). Strängarna i delprojektet <filename>po</filename> kan också översättas och lagras i andra filer under <filename>po</filename>, för att på så sätt låta programmet hanteras av personer som inte kan engelska. </para> + +<note><para>Delprojekten <filename>doc</filename> och <filename>po</filename> tjänar olika syften. <filename>doc</filename> innehåller <emphasis>dokumentation</emphasis>, som en användarhandbok, medan <filename>po</filename> innehåller textsträngar som kan översättas från <emphasis>användargränssnittet</emphasis> som ingår i programmets källkod. </para></note> + +<para>Översiktsfönstret fungerar bland annat som ett navigeringsverktyg. Om du väljer ett delprojekt i översiktsfönstret, visas motsvarande detaljinformation i detaljfönstret. </para> + +</sect2> <!-- automake-manager-operation-survey-window --> <sect2 id="automake-manager-operation-detail-window"> -<title ->Detaljfönstret</title> +<title>Detaljfönstret</title> -<para ->Detaljfönstret innehåller en lista med alla filer i delprojektet som för närvarande är markerat i översiktsfönstret, samt kompilerings-, bygg- och installationsreglerna för delprojektet. På så sätt kan fönstren tillsammans ge dig möjlighet att komma åt alla komponenter i programmet, och all information om hur det ska kompileras, byggas och installeras. </para> +<para>Detaljfönstret innehåller en lista med alla filer i delprojektet som för närvarande är markerat i översiktsfönstret, samt kompilerings-, bygg- och installationsreglerna för delprojektet. På så sätt kan fönstren tillsammans ge dig möjlighet att komma åt alla komponenter i programmet, och all information om hur det ska kompileras, byggas och installeras. </para> <sect3> -<title ->Mål</title> - -<para ->Trädlistan i detaljfönstret har två nivåer. Den översta nivån består av så kallade <emphasis ->mål</emphasis -> i Hantering av automake, och nästa nivå innehåller listor med filer som används för att skapa varje mål. </para> - -<para ->Det här konceptet med ett mål i Hantering av automake, skiljer sig något från vad ett mål i en <filename ->Makefile</filename -> oftast är. I korthet:</para> +<title>Mål</title> + +<para>Trädlistan i detaljfönstret har två nivåer. Den översta nivån består av så kallade <emphasis>mål</emphasis> i Hantering av automake, och nästa nivå innehåller listor med filer som används för att skapa varje mål. </para> + +<para>Det här konceptet med ett mål i Hantering av automake, skiljer sig något från vad ett mål i en <filename>Makefile</filename> oftast är. I korthet:</para> <itemizedlist> - <listitem -><para ->Definitionen av hur ett antal filer ska kompileras, byggas eller installeras är känt som ett <emphasis ->mål</emphasis -> i Hantering av automake, men som en <emphasis ->variabel</emphasis -> i själva <command ->Automake</command ->. </para -></listitem> - <listitem -><para ->Ett <emphasis ->mål</emphasis -> i <command ->make</command -> är ofta något helt annat, eftersom det kan vara en väljare till kommandot <command ->make</command -> (t.ex. <userinput ->make install</userinput ->, <userinput ->make clean</userinput ->). </para> - <para ->Vissa av variablerna i <filename ->Makefile.am</filename -> representerar dock ett underliggande <emphasis ->delmål</emphasis -> för <command ->make</command ->. </para -></listitem> + <listitem><para>Definitionen av hur ett antal filer ska kompileras, byggas eller installeras är känt som ett <emphasis>mål</emphasis> i Hantering av automake, men som en <emphasis>variabel</emphasis> i själva <command>Automake</command>. </para></listitem> + <listitem><para>Ett <emphasis>mål</emphasis> i <command>make</command> är ofta något helt annat, eftersom det kan vara en väljare till kommandot <command>make</command> (t.ex. <userinput>make install</userinput>, <userinput>make clean</userinput>). </para> + <para>Vissa av variablerna i <filename>Makefile.am</filename> representerar dock ett underliggande <emphasis>delmål</emphasis> för <command>make</command>. </para></listitem> </itemizedlist> </sect3> -</sect2 -> <!-- automake-manager-operation-detail-window --> +</sect2> <!-- automake-manager-operation-detail-window --> <sect2 id="automake-manager-operation-navigate"> -<title ->Navigera i Hantering av automake</title> - -<para ->Både i översiktsfönstret och detaljfönstret kan du vänsterklicka på <symbol ->+</symbol -> eller <symbol ->-</symbol -> intill ett delprojekt eller målnamn för att expandera eller dra ihop trädvyn. Om du gör det med ett <emphasis ->delprojekt</emphasis -> i översiktsfönstret, visas eller döljs delprojektets nästa underliggande nivå (om det finns någon). Om du gör det med ett <emphasis ->mål</emphasis -> i detaljfönstret, visas eller döljs listan med filer som ingår i målet. </para> +<title>Navigera i Hantering av automake</title> + +<para>Både i översiktsfönstret och detaljfönstret kan du vänsterklicka på <symbol>+</symbol> eller <symbol>-</symbol> intill ett delprojekt eller målnamn för att expandera eller dra ihop trädvyn. Om du gör det med ett <emphasis>delprojekt</emphasis> i översiktsfönstret, visas eller döljs delprojektets nästa underliggande nivå (om det finns någon). Om du gör det med ett <emphasis>mål</emphasis> i detaljfönstret, visas eller döljs listan med filer som ingår i målet. </para> <variablelist> <varlistentry> -<term ->Öppna en fil för redigering</term> +<term>Öppna en fil för redigering</term> <listitem> -<para ->Om du <emphasis ->vänsterklickar</emphasis -> på ett filnamn i detaljfönstret, öppnas motsvarande fil i &tdevelop;s redigeringsfönster.</para> +<para>Om du <emphasis>vänsterklickar</emphasis> på ett filnamn i detaljfönstret, öppnas motsvarande fil i &tdevelop;s redigeringsfönster.</para> </listitem> </varlistentry> <varlistentry> -<term ->Aktivera verktygsradsknapparna i Hantering av automake</term> +<term>Aktivera verktygsradsknapparna i Hantering av automake</term> <listitem> -<para ->Om du <emphasis ->vänsterklickar</emphasis -> på ett delprojektnamn i översiktsfönstret eller ett mål i detaljfönstret, markeras namnet och vissa knappar i verktygsraden blir aktiva längst upp i fönstret.</para> +<para>Om du <emphasis>vänsterklickar</emphasis> på ett delprojektnamn i översiktsfönstret eller ett mål i detaljfönstret, markeras namnet och vissa knappar i verktygsraden blir aktiva längst upp i fönstret.</para> <note> - <para ->Du rekommenderas använda <emphasis ->höger musknapp och sammanhangsberoende menyer</emphasis ->, istället för knapparna i verktygsraden, eftersom det är då mycket enklare att se och förstå vad du gör. </para> - <para ->Åtgärder för delprojekt och mål har långtgående effekter för struktur, kompilering, byggning och installation av programmet. </para> + <para>Du rekommenderas använda <emphasis>höger musknapp och sammanhangsberoende menyer</emphasis>, istället för knapparna i verktygsraden, eftersom det är då mycket enklare att se och förstå vad du gör. </para> + <para>Åtgärder för delprojekt och mål har långtgående effekter för struktur, kompilering, byggning och installation av programmet. </para> </note> </listitem> </varlistentry> <varlistentry> -<term ->Välja åtgärder och sammanhangsberoende menyer</term> +<term>Välja åtgärder och sammanhangsberoende menyer</term> <listitem> -<para ->Om du <emphasis ->högerklickar</emphasis -> på ett delprojektnamn, mål eller fil, dyker en meny upp och du kan därefter välja åtgärder att utföra för delprojektet, målet eller filen, som att lägga till ett mål i delprojektet, lägga till en fil i målet eller logiskt ta bort den markerade filen från sitt mål. </para> +<para>Om du <emphasis>högerklickar</emphasis> på ett delprojektnamn, mål eller fil, dyker en meny upp och du kan därefter välja åtgärder att utföra för delprojektet, målet eller filen, som att lägga till ett mål i delprojektet, lägga till en fil i målet eller logiskt ta bort den markerade filen från sitt mål. </para> </listitem> </varlistentry> </variablelist> -</sect2 -> <!-- automake-manager-operation-navigate --> +</sect2> <!-- automake-manager-operation-navigate --> <sect2 id="automake-manager-operation-popups"> -<title ->Sammanhangsberoende menyer i Hantering av automake</title> +<title>Sammanhangsberoende menyer i Hantering av automake</title> -<para ->Följande avsnitt förklarar kortfattat vilka åtgärder som menyerna gör tillgängliga, som dyker upp vid klick med höger musknapp i fönstret Hantering av automake. Avsnitten är bara avsedda som en översikt. Du hittar detaljerade beskrivningar av de flesta åtgärderna i ett senare kapitel. </para> +<para>Följande avsnitt förklarar kortfattat vilka åtgärder som menyerna gör tillgängliga, som dyker upp vid klick med höger musknapp i fönstret Hantering av automake. Avsnitten är bara avsedda som en översikt. Du hittar detaljerade beskrivningar av de flesta åtgärderna i ett senare kapitel. </para> <!-- ### add a link to this chapter when ready --> <sect3 id="automake-manager-operation-popups-file"> -<title ->Sammanhangsberoende menyn för en fil</title> - -<para ->När du högerklickar på ett <emphasis ->filnamn</emphasis -> i detaljfönstret, dyker följande meny upp som låter dig välja en av flera åtgärder att utföra med filen. I bilden nedan, markerades ikonfilen <filename ->hi-16app-mittpgm.png</filename -> i målet <guilabel ->Ikondata i kde_icon</guilabel -> från delprojektet <guilabel ->mittpgm/src</guilabel ->. </para> +<title>Sammanhangsberoende menyn för en fil</title> + +<para>När du högerklickar på ett <emphasis>filnamn</emphasis> i detaljfönstret, dyker följande meny upp som låter dig välja en av flera åtgärder att utföra med filen. I bilden nedan, markerades ikonfilen <filename>hi-16app-mittpgm.png</filename> i målet <guilabel>Ikondata i kde_icon</guilabel> från delprojektet <guilabel>mittpgm/src</guilabel>. </para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<tgroup cols="2"><tbody><row> + <entry><inlinemediaobject> <imageobject> <imagedata fileref="automake-file-popup.png" format="PNG"/> </imageobject> - </inlinemediaobject -></entry> - <entry valign="bottom" -><itemizedlist> - <listitem -><para ->Det huvudsakliga alternativet i den sammanhangsberoende menyn är att <guimenuitem ->Ta bort</guimenuitem -> filen från målet (dvs. den kommer inte längre att användas för att kompilera, bygga eller installera det målet). </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->CVS</guimenuitem -> erbjuder en hel del olika CVS-åtgärder för filen. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Öppna med</guimenuitem -> låter dig öppna filen med ett antal editorer eller med vilket program som helst (t.ex. kan du öppna ikonfilen i vårt exempel med <application ->Kicon</application ->). </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Perforce</guimenuitem -> används för liknande åtgärder som i CVS, men med det kommersiella versionshanteringssystemet <quote -><application ->Perforce</application -></quote ->. </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="bottom"><itemizedlist> + <listitem><para>Det huvudsakliga alternativet i den sammanhangsberoende menyn är att <guimenuitem>Ta bort</guimenuitem> filen från målet (dvs. den kommer inte längre att användas för att kompilera, bygga eller installera det målet). </para></listitem> + <listitem><para>Alternativet <guimenuitem>CVS</guimenuitem> erbjuder en hel del olika CVS-åtgärder för filen. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Öppna med</guimenuitem> låter dig öppna filen med ett antal editorer eller med vilket program som helst (t.ex. kan du öppna ikonfilen i vårt exempel med <application>Kicon</application>). </para></listitem> + <listitem><para>Alternativet <guimenuitem>Perforce</guimenuitem> används för liknande åtgärder som i CVS, men med det kommersiella versionshanteringssystemet <quote><application>Perforce</application></quote>. </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect3 -> <!-- automake-manager-operation-popups-file --> +</sect3> <!-- automake-manager-operation-popups-file --> <sect3 id="automake-manager-operation-popups-target"> -<title ->Sammanhangsberoende menyn för ett mål</title> - -<para ->När du högerklickar på ett <emphasis ->mål</emphasis -> i detaljfönstret, dyker följande meny upp som låter dig välja en av flera åtgärder att utföra med det. I bilden nedan, markerades målet <emphasis ->mittpgm (Program i bin)</emphasis -> i delprojektet <guilabel ->mittpgm/src</guilabel ->. </para> +<title>Sammanhangsberoende menyn för ett mål</title> + +<para>När du högerklickar på ett <emphasis>mål</emphasis> i detaljfönstret, dyker följande meny upp som låter dig välja en av flera åtgärder att utföra med det. I bilden nedan, markerades målet <emphasis>mittpgm (Program i bin)</emphasis> i delprojektet <guilabel>mittpgm/src</guilabel>. </para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<tgroup cols="2"><tbody><row> + <entry><inlinemediaobject> <imageobject> <imagedata fileref="automake-target-popup.png" format="PNG"/> </imageobject> - </inlinemediaobject -></entry> - <entry valign="bottom" -><itemizedlist> - <listitem -><para ->Alternativet <guimenuitem ->Inställningar</guimenuitem -> för ett mål gäller bara källkodsfiler. I motsvarande dialogruta kan du ange länkargument och sökvägar där bibliotek kan hittas, och du kan ange en lista med verkliga bibliotek som ska länkas med i programmet. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Skapa ny fil</guimenuitem -> visar en dialogruta där du kan ange filnamnet och filtypen som ska skapas (i en kombinationsruta). </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Lägg till befintliga filer</guimenuitem -> visar en dialogruta där du kan lägga till en befintlig fil till målet. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Ta bort</guimenuitem -> för ett mål låter dig logiskt ta bort målet och alla dess filer från projektstrukturen. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Gör mål aktivt</guimenuitem -> gäller bara för mål som innehåller källkodsfiler. Nya filer läggs alltid till i ett sådant aktivt mål. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Bygg mål</guimenuitem -> anropar alla nödvändiga kompilerings- och byggåtgärder för att bygga koden enbart för detta mål. </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="bottom"><itemizedlist> + <listitem><para>Alternativet <guimenuitem>Inställningar</guimenuitem> för ett mål gäller bara källkodsfiler. I motsvarande dialogruta kan du ange länkargument och sökvägar där bibliotek kan hittas, och du kan ange en lista med verkliga bibliotek som ska länkas med i programmet. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Skapa ny fil</guimenuitem> visar en dialogruta där du kan ange filnamnet och filtypen som ska skapas (i en kombinationsruta). </para></listitem> + <listitem><para>Alternativet <guimenuitem>Lägg till befintliga filer</guimenuitem> visar en dialogruta där du kan lägga till en befintlig fil till målet. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Ta bort</guimenuitem> för ett mål låter dig logiskt ta bort målet och alla dess filer från projektstrukturen. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Gör mål aktivt</guimenuitem> gäller bara för mål som innehåller källkodsfiler. Nya filer läggs alltid till i ett sådant aktivt mål. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Bygg mål</guimenuitem> anropar alla nödvändiga kompilerings- och byggåtgärder för att bygga koden enbart för detta mål. </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect3 -> <!-- automake-manager-operation-popups-target --> +</sect3> <!-- automake-manager-operation-popups-target --> <sect3 id="automake-manager-operation-popups-subproject"> -<title ->Sammanhangsberoende menyn för ett delprojekt</title> +<title>Sammanhangsberoende menyn för ett delprojekt</title> -<para ->När du högerklickar på ett <emphasis ->delprojekt</emphasis -> i översiktsfönstret, dyker följande meny upp som låter dig göra större ändringar i projektets struktur och sättet det kompileras, byggs och installeras. Du kan använda den för att utöka eller ändra den grundläggande projektstrukturen som programguiden har skapat. </para> +<para>När du högerklickar på ett <emphasis>delprojekt</emphasis> i översiktsfönstret, dyker följande meny upp som låter dig göra större ändringar i projektets struktur och sättet det kompileras, byggs och installeras. Du kan använda den för att utöka eller ändra den grundläggande projektstrukturen som programguiden har skapat. </para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<tgroup cols="2"><tbody><row> + <entry><inlinemediaobject> <imageobject> <imagedata fileref="automake-subproject-popup.png" format="PNG"/> </imageobject> - </inlinemediaobject -></entry> - <entry valign="bottom" -><itemizedlist> - <listitem -><para ->Alternativet <guimenuitem ->Inställningar</guimenuitem -> för ett delprojekt styr sättet som delprojektet kompileras, byggs och installeras. Dialogrutan som dyker upp har flikar för Kompilator, Deklarationsfiler, Prefix och Byggordning. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Lägg till delprojekt</guimenuitem -> skapar en ny katalog och Makefile.am skelettfil. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Lägg till mål</guimenuitem -> visar en dialogruta, där du kan ställa in regler för kompilering, byggning eller installation för en filgrupp inne i delprojektet. </para -></listitem> - <listitem -><para -><guimenuitem ->Lägg till tjänst</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para -><guimenuitem ->Lägg till program</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para -><guimenuitem ->Lägg till befintliga delprojekt</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Ta bort delprojekt</guimenuitem -> i den sammanhangsberoende menyn för ett delprojekt är det riktiga sättet att ta bort ett delprojekt. Det justerar filerna <filename ->Makefile.am</filename -> på motsvarande sätt. Du erbjuds också möjlighet att ta bort alla filer (eller länkar) i motsvarande underkatalog. Uppenbarligen ska funktionen användas med försiktighet. </para -></listitem> - <listitem -><para ->Alternativet <guimenuitem ->Bygg</guimenuitem -> anropar alla nödvändiga kompilerings- och byggåtgärder för att bygga koden för enbart detta delprojekt. </para -></listitem> - <listitem -><para -><guimenuitem ->Tvinga omredigering</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para -><guimenuitem ->Rensa</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para -><guimenuitem ->Installera</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - <listitem -><para -><guimenuitem ->Installera (som systemadministratör)</guimenuitem -> (... ännu inte skrivet ...) </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="bottom"><itemizedlist> + <listitem><para>Alternativet <guimenuitem>Inställningar</guimenuitem> för ett delprojekt styr sättet som delprojektet kompileras, byggs och installeras. Dialogrutan som dyker upp har flikar för Kompilator, Deklarationsfiler, Prefix och Byggordning. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Lägg till delprojekt</guimenuitem> skapar en ny katalog och Makefile.am skelettfil. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Lägg till mål</guimenuitem> visar en dialogruta, där du kan ställa in regler för kompilering, byggning eller installation för en filgrupp inne i delprojektet. </para></listitem> + <listitem><para><guimenuitem>Lägg till tjänst</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para><guimenuitem>Lägg till program</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para><guimenuitem>Lägg till befintliga delprojekt</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para>Alternativet <guimenuitem>Ta bort delprojekt</guimenuitem> i den sammanhangsberoende menyn för ett delprojekt är det riktiga sättet att ta bort ett delprojekt. Det justerar filerna <filename>Makefile.am</filename> på motsvarande sätt. Du erbjuds också möjlighet att ta bort alla filer (eller länkar) i motsvarande underkatalog. Uppenbarligen ska funktionen användas med försiktighet. </para></listitem> + <listitem><para>Alternativet <guimenuitem>Bygg</guimenuitem> anropar alla nödvändiga kompilerings- och byggåtgärder för att bygga koden för enbart detta delprojekt. </para></listitem> + <listitem><para><guimenuitem>Tvinga omredigering</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para><guimenuitem>Rensa</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para><guimenuitem>Installera</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + <listitem><para><guimenuitem>Installera (som systemadministratör)</guimenuitem> (... ännu inte skrivet ...) </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect3 -> <!-- automake-manager-operation-popups-subproject --> +</sect3> <!-- automake-manager-operation-popups-subproject --> -</sect2 -> <!-- automake-manager-operation-popups --> +</sect2> <!-- automake-manager-operation-popups --> -</sect1 -> <!-- automake-manager-operation --> +</sect1> <!-- automake-manager-operation --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="autoproject"> -<title ->Automake-projekt</title> -<indexterm zone="autoproject" -><primary -><command ->autoproject</command -></primary -></indexterm> -<indexterm zone="autoproject" -><primary ->&automake;</primary -></indexterm> -<indexterm zone="autoproject" -><primary ->&autoconf;</primary -></indexterm> -<indexterm zone="autoproject" -><primary ->&libtool;</primary -></indexterm> - -<para ->(... ännu inte skrivet ...) </para> +<title>Automake-projekt</title> +<indexterm zone="autoproject"><primary><command>autoproject</command></primary></indexterm> +<indexterm zone="autoproject"><primary>&automake;</primary></indexterm> +<indexterm zone="autoproject"><primary>&autoconf;</primary></indexterm> +<indexterm zone="autoproject"><primary>&libtool;</primary></indexterm> + +<para>(... ännu inte skrivet ...) </para> <sect2 id="autoconf"> -<title ->Autoconf</title> -<indexterm zone="autoconf" -><primary -><filename ->configure</filename ->-skriptet</primary -></indexterm> -<indexterm zone="autoconf" -><primary -><filename ->config.status</filename ->-skriptet</primary -></indexterm> -<indexterm zone="autoconf" -><primary -><filename ->Makefile.in</filename -></primary -></indexterm> -<indexterm zone="autoconf" -><primary -><filename ->config.h.in</filename -></primary -></indexterm> - -<para -><filename ->Makefile.in</filename -> till <filename ->Makefile</filename -> </para> - -<programlisting ->prefix = @prefix@ +<title>Autoconf</title> +<indexterm zone="autoconf"><primary><filename>configure</filename>-skriptet</primary></indexterm> +<indexterm zone="autoconf"><primary><filename>config.status</filename>-skriptet</primary></indexterm> +<indexterm zone="autoconf"><primary><filename>Makefile.in</filename></primary></indexterm> +<indexterm zone="autoconf"><primary><filename>config.h.in</filename></primary></indexterm> + +<para><filename>Makefile.in</filename> till <filename>Makefile</filename> </para> + +<programlisting>prefix = @prefix@ INSTALL = @INSTALL@ build_triplet = @build@ CXX = @CXX@ </programlisting> -<programlisting ->prefix = /home/bernd/kde3 +<programlisting>prefix = /home/bernd/kde3 INSTALL = /usr/bin/ginstall -c -p build_triplet = i686-pc-linux-gnu CXX = g++ </programlisting> -<para -><filename ->config.h.in</filename -> till <filename ->config.h</filename -> </para> +<para><filename>config.h.in</filename> till <filename>config.h</filename> </para> -<programlisting ->/* Define if you have libz */ +<programlisting>/* Define if you have libz */ #undef HAVE_LIBZ /* The size of a `int', as computed by sizeof. */ #undef SIZEOF_INT </programlisting> -<programlisting ->/* Define if you have libz */ +<programlisting>/* Define if you have libz */ #define HAVE_LIBZ 1 /* The size of a `int', as computed by sizeof. */ #define SIZEOF_INT 4 </programlisting> -</sect2 -> <!-- autoconf --> +</sect2> <!-- autoconf --> <sect2 id="automake"> -<title ->Automake</title> +<title>Automake</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!--automake --> +</sect2> <!--automake --> <sect2 id="automake-manager"> -<title ->&tdevelop;s Hantering av automake</title> +<title>&tdevelop;s Hantering av automake</title> <figure id="screenshot-automake-manager" float="1"> -<title ->En skärmbild av Hantering av automake</title> +<title>En skärmbild av Hantering av automake</title> <mediaobject> -<imageobject -><imagedata fileref="automake-manager.png"/></imageobject> +<imageobject><imagedata fileref="automake-manager.png"/></imageobject> </mediaobject> </figure> -</sect2 -> <!-- automake-manager --> +</sect2> <!-- automake-manager --> <sect2 id="automakelibrary"> -<title ->Bygga och installera bibliotek</title> +<title>Bygga och installera bibliotek</title> <para> <itemizedlist> -<listitem -><para ->-rpath </para -></listitem> -<listitem -><para ->PIC </para -></listitem> -<listitem -><para ->static </para -></listitem> -<listitem -><para ->insticksprogram: no-undefined </para -></listitem> +<listitem><para>-rpath </para></listitem> +<listitem><para>PIC </para></listitem> +<listitem><para>static </para></listitem> +<listitem><para>insticksprogram: no-undefined </para></listitem> </itemizedlist> </para> -</sect2 -> <!-- automakelibrary --> +</sect2> <!-- automakelibrary --> -</sect1 -> <!-- autoproject --> +</sect1> <!-- autoproject --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="customproject"> -<title ->Egna byggfiler och byggskript</title> -<indexterm zone="customproject" -><primary -><filename ->Makefile</filename -></primary -></indexterm> -<indexterm zone="customproject" -><primary -><filename ->build.xml</filename -></primary -></indexterm> - -<para ->(... ännu inte skrivet ...) </para> - -</sect1 -> <!-- customproject --> +<title>Egna byggfiler och byggskript</title> +<indexterm zone="customproject"><primary><filename>Makefile</filename></primary></indexterm> +<indexterm zone="customproject"><primary><filename>build.xml</filename></primary></indexterm> + +<para>(... ännu inte skrivet ...) </para> + +</sect1> <!-- customproject --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="compileroptions"> -<title ->Kompilatorinställningar</title> +<title>Kompilatorinställningar</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect1 -> <!-- compileroptions --> +</sect1> <!-- compileroptions --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="makeoptions"> -<title ->Byggalternativ</title> +<title>Byggalternativ</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect1 -> <!-- makeoptions --> +</sect1> <!-- makeoptions --> -</chapter -> <!-- project-management --> +</chapter> <!-- project-management --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/setup.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/setup.docbook index 892188d4867..4b185fca87a 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/setup.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/setup.docbook @@ -2,27 +2,14 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Anpassa &tdevelop;</title> +<title>Anpassa &tdevelop;</title> -<para ->&tdevelop; är en mycket kraftfull och flexibel integrerad utvecklingsmiljö, som erbjuder många möjligheter för anpassning enligt dina behov. För att göra inställningar, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice ->. Det gör att inställningsdialogrutan dyker upp, som består av ett fönster för att välja inställningar till vänster och inställningsdialogrutan till höger, vars innehåll varierar beroende på gruppen av inställningar du valt. </para> +<para>&tdevelop; är en mycket kraftfull och flexibel integrerad utvecklingsmiljö, som erbjuder många möjligheter för anpassning enligt dina behov. För att göra inställningar, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice>. Det gör att inställningsdialogrutan dyker upp, som består av ett fönster för att välja inställningar till vänster och inställningsdialogrutan till höger, vars innehåll varierar beroende på gruppen av inställningar du valt. </para> <screenshot> <mediaobject> @@ -30,187 +17,89 @@ <imagedata fileref="configure-select.png" format="PNG"/> </imageobject> <textobject> -<phrase ->Välj en grupp av inställningar</phrase> +<phrase>Välj en grupp av inställningar</phrase> </textobject> - <caption -><para ->Välj en grupp av inställningar </para -></caption> + <caption><para>Välj en grupp av inställningar </para></caption> </mediaobject> </screenshot> -<para ->Vi beskriver inställningarna i en annan ordning, uppdelat i huvudämnena <link linkend="setup-general" ->Allmänna inställningar</link ->, <link linkend="setup-docu" ->Anpassa dokumentationen</link -> och <link linkend="setup-advanced" ->Avancerade inställningar</link ->, vilket leder till en intuitivare läsupplevelse. </para> -<para ->Om du vill slå upp en viss grupp av inställningar direkt, använd en av följande länkar. </para> +<para>Vi beskriver inställningarna i en annan ordning, uppdelat i huvudämnena <link linkend="setup-general">Allmänna inställningar</link>, <link linkend="setup-docu">Anpassa dokumentationen</link> och <link linkend="setup-advanced">Avancerade inställningar</link>, vilket leder till en intuitivare läsupplevelse. </para> +<para>Om du vill slå upp en viss grupp av inställningar direkt, använd en av följande länkar. </para> <simplelist> - <member -><link linkend="setup-main" ->Allmänt</link -></member> - <member -><link linkend="setup-ui" ->Användargränssnitt</link -></member> - <member -><link linkend="setup-templates" ->Filmallar</link -></member> -<member -><link linkend="setup-editor" ->Editor</link -></member> - <member -><link linkend="setup-abbrev" ->Förkortningar</link -></member> - <member -><link linkend="setup-scripting" ->Skript</link -></member> - <member -><link linkend="setup-menu-standard" ->Menyn Verktyg</link -></member> - <member -><link linkend="setup-menu-external" ->Externa verktyg</link -></member> - <member -><link linkend="setup-docu" ->Dokumentation</link -></member> - <member -><link linkend="setup-snippets" ->Kodsnuttar</link -></member> - <member -><link linkend="setup-file-list" ->Fillista</link -></member> - <member -><link linkend="setup-file-selector" ->Filväljare</link -></member> - <member -><link linkend="setup-cpp-generator" ->Skapa ny klass i C++</link -></member> - <member -><link linkend="setup-format" ->Formatering</link -></member> - <member -><link linkend="setup-cpp-parsing" ->Tolkning av C++</link -></member> + <member><link linkend="setup-main">Allmänt</link></member> + <member><link linkend="setup-ui">Användargränssnitt</link></member> + <member><link linkend="setup-templates">Filmallar</link></member> +<member><link linkend="setup-editor">Editor</link></member> + <member><link linkend="setup-abbrev">Förkortningar</link></member> + <member><link linkend="setup-scripting">Skript</link></member> + <member><link linkend="setup-menu-standard">Menyn Verktyg</link></member> + <member><link linkend="setup-menu-external">Externa verktyg</link></member> + <member><link linkend="setup-docu">Dokumentation</link></member> + <member><link linkend="setup-snippets">Kodsnuttar</link></member> + <member><link linkend="setup-file-list">Fillista</link></member> + <member><link linkend="setup-file-selector">Filväljare</link></member> + <member><link linkend="setup-cpp-generator">Skapa ny klass i C++</link></member> + <member><link linkend="setup-format">Formatering</link></member> + <member><link linkend="setup-cpp-parsing">Tolkning av C++</link></member> </simplelist> <sect1 id="setup-general"> -<title ->Allmänna inställningar</title> +<title>Allmänna inställningar</title> -<para ->Allmänna inställningar rör de vanligare aktiviteterna för att anpassa &tdevelop;, där det finns: </para> +<para>Allmänna inställningar rör de vanligare aktiviteterna för att anpassa &tdevelop;, där det finns: </para> <itemizedlist> - <listitem -><para> - <link linkend="setup-main" ->Allmän inställning</link> - </para -></listitem> - <listitem -><para> - <link linkend="setup-ui" ->Välja användargränssnitt</link> - </para -></listitem> + <listitem><para> + <link linkend="setup-main">Allmän inställning</link> + </para></listitem> + <listitem><para> + <link linkend="setup-ui">Välja användargränssnitt</link> + </para></listitem> <listitem> <itemizedlist> -<title ->Aktiviteter för källkodsredigering</title> - <listitem -><para> - <link linkend="setup-editor" ->Välja en editor</link> - </para -></listitem> - <listitem -><para> - <link linkend="setup-format" ->Välja stil för källkodsformatering</link> - </para -></listitem> - <listitem -><para> - <link linkend="setup-snippets" ->Ställa in verktyget för kodsnuttar</link> - </para -></listitem> +<title>Aktiviteter för källkodsredigering</title> + <listitem><para> + <link linkend="setup-editor">Välja en editor</link> + </para></listitem> + <listitem><para> + <link linkend="setup-format">Välja stil för källkodsformatering</link> + </para></listitem> + <listitem><para> + <link linkend="setup-snippets">Ställa in verktyget för kodsnuttar</link> + </para></listitem> </itemizedlist> </listitem> - <listitem -><para> - <link linkend="setup-file-selector" ->Anpassa filväljaren</link> - </para -></listitem> + <listitem><para> + <link linkend="setup-file-selector">Anpassa filväljaren</link> + </para></listitem> </itemizedlist> <sect2 id="setup-main"> -<title ->Allmän inställning</title> +<title>Allmän inställning</title> -<para ->Inställningsdialogrutan <guilabel ->Allmänt</guilabel -> låter dig definiera grundläggande beteende hos &tdevelop; som sällan ändras under dagligt arbete. Det rör: </para> +<para>Inställningsdialogrutan <guilabel>Allmänt</guilabel> låter dig definiera grundläggande beteende hos &tdevelop; som sällan ändras under dagligt arbete. Det rör: </para> <variablelist> <varlistentry> -<term ->Allmänna projektinställningar som</term> +<term>Allmänna projektinställningar som</term> <listitem> <itemizedlist> - <listitem -><para ->definiera en <link linkend="setup-main-projects" ->standardprojektkatalog</link -> som &tdevelop; ska använda för nya projekt. </para -></listitem> - <listitem -><para ->bestämma om du vill att &tdevelop; <link linkend="setup-main-preload" ->automatiskt ska ladda</link -> projektet du senast arbetade med. </para -></listitem> + <listitem><para>definiera en <link linkend="setup-main-projects">standardprojektkatalog</link> som &tdevelop; ska använda för nya projekt. </para></listitem> + <listitem><para>bestämma om du vill att &tdevelop; <link linkend="setup-main-preload">automatiskt ska ladda</link> projektet du senast arbetade med. </para></listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> -<term ->Välja ett teckensnitt för de oftast använda utmatningsfönstren, nämligen:</term> +<term>Välja ett teckensnitt för de oftast använda utmatningsfönstren, nämligen:</term> <listitem> <itemizedlist> <listitem> -<para -><link linkend="setup-main-messages-font" ->Meddelandeutmatningen</link -> som &tdevelop; använder för att visa t.ex. kompileringsprocesser, och</para> +<para><link linkend="setup-main-messages-font">Meddelandeutmatningen</link> som &tdevelop; använder för att visa t.ex. kompileringsprocesser, och</para> </listitem> <listitem> -<para ->Programutmatningen, som visar fel- och tillståndsinformation som rör ett program som kör.</para> +<para>Programutmatningen, som visar fel- och tillståndsinformation som rör ett program som kör.</para> </listitem> </itemizedlist> @@ -218,34 +107,18 @@ </varlistentry> <varlistentry> -<term ->En del vanliga beteenden som rör rader som visas i fönstret <guilabel ->Meddelandeutmatning</guilabel ->, nämligen:</term> +<term>En del vanliga beteenden som rör rader som visas i fönstret <guilabel>Meddelandeutmatning</guilabel>, nämligen:</term> <listitem> <itemizedlist> <listitem> -<para ->om långa rader <link linkend="setup-main-wrap" ->radbryts</link ->, och </para> +<para>om långa rader <link linkend="setup-main-wrap">radbryts</link>, och </para> </listitem> <listitem> -<para ->om <link linkend="setup-main-navigation" ->meddelanden om katalogbyte</link -> som ges av <command ->make</command -> visas.</para> +<para>om <link linkend="setup-main-navigation">meddelanden om katalogbyte</link> som ges av <command>make</command> visas.</para> </listitem> </itemizedlist> -<para -><link linkend="setup-main-compile" ->Detaljnivån</link -> för meddelanden om kompileringsprocessen som visas i fönstret <guilabel ->Meddelandeutmatning</guilabel ->.</para> +<para><link linkend="setup-main-compile">Detaljnivån</link> för meddelanden om kompileringsprocessen som visas i fönstret <guilabel>Meddelandeutmatning</guilabel>.</para> </listitem> </varlistentry> </variablelist> @@ -255,253 +128,103 @@ <imageobject> <imagedata fileref="configure-general.png" format="PNG"/> </imageobject> - <caption -><para ->Dialogrutan för allmänna inställningar </para -></caption> + <caption><para>Dialogrutan för allmänna inställningar </para></caption> </mediaobject> </screenshot> <variablelist> <varlistentry> -<term id="setup-main-preload" -><guilabel ->Ladda senaste projekt vid start</guilabel -></term> +<term id="setup-main-preload"><guilabel>Ladda senaste projekt vid start</guilabel></term> <listitem> -<para ->Markera den här kryssrutan om du vill fortsätta att arbeta med det senaste projektet du arbetade med. Det gör att &tdevelop; automatiskt laddar projektet vid start. Det visas oftast med samma tillstånd som du lämnade arbetet, så att du enkelt kan fortsätta. </para> +<para>Markera den här kryssrutan om du vill fortsätta att arbeta med det senaste projektet du arbetade med. Det gör att &tdevelop; automatiskt laddar projektet vid start. Det visas oftast med samma tillstånd som du lämnade arbetet, så att du enkelt kan fortsätta. </para> </listitem> </varlistentry> <varlistentry> <term id="setup-main-projects"> -<guilabel ->Standardprojektkatalog:</guilabel -></term> +<guilabel>Standardprojektkatalog:</guilabel></term> <listitem> -<para ->Normalt använder &tdevelop; en gemensam överliggande katalog för alla nya projekt. Skriv in absolut sökväg till denna gemensamma katalog i rutan eller välj den i katalogstrukturen. &tdevelop; placerar alla nya projekt här som underkataloger.</para> -<note -><para ->Du kan förstås ändra katalogsökvägen för ett nytt projekt när du ställer in det i <link linkend="applicationwizard" ->Projektguiden</link ->. </para -></note> +<para>Normalt använder &tdevelop; en gemensam överliggande katalog för alla nya projekt. Skriv in absolut sökväg till denna gemensamma katalog i rutan eller välj den i katalogstrukturen. &tdevelop; placerar alla nya projekt här som underkataloger.</para> +<note><para>Du kan förstås ändra katalogsökvägen för ett nytt projekt när du ställer in det i <link linkend="applicationwizard">Projektguiden</link>. </para></note> </listitem> </varlistentry> <varlistentry> -<term id="setup-main-messages-font" -><guilabel ->Fönsterteckensnitt</guilabel -></term> +<term id="setup-main-messages-font"><guilabel>Fönsterteckensnitt</guilabel></term> <listitem> -<para ->Fönstret <guilabel ->Programutmatning</guilabel -> används för att visa fel- och tillståndsinformation från program som körs inne i &tdevelop;. Det är information som programmen oftast skickar till konsollen när de körs fristående. Alltså behöver du inte lämna den grafiska utvecklingsmiljön när du testar programmet du för närvarande arbetar med. </para> -<para ->För att välja ett lämpligt teckensnitt för fönstret <guilabel ->Meddelandeutmatning</guilabel ->, klicka på knappen <guilabel ->Fönsterteckensnitt</guilabel -> som visar teckensnittet som för närvarande är valt (det står <quote ->Arial</quote -> på bilden ovan). &kde;:s vanliga dialogruta <guilabel ->Välj teckensnitt</guilabel -> dyker upp, där du kan välja teckensnittet som ska användas. </para> -<note -><para ->När &tdevelop; först startar initieras teckensnittsinställningen till det standardteckensnitt som &kde;-användaren har inställt. <emphasis ->Den här inställningen är fast</emphasis ->, så om du ändrar <menuchoice -><guimenuitem ->Inställningar</guimenuitem -> <guimenuitem ->Utseende och teman</guimenuitem -> <guimenuitem ->Teckensnitt</guimenuitem -></menuchoice -> i <guilabel ->Inställningscentralen</guilabel -> påverkas inte &tdevelop;s teckensnittsval. Du måste explicit välja ett nytt teckensnitt för fönstret <guilabel ->Meddelandeutmatning</guilabel ->. </para -></note> +<para>Fönstret <guilabel>Programutmatning</guilabel> används för att visa fel- och tillståndsinformation från program som körs inne i &tdevelop;. Det är information som programmen oftast skickar till konsollen när de körs fristående. Alltså behöver du inte lämna den grafiska utvecklingsmiljön när du testar programmet du för närvarande arbetar med. </para> +<para>För att välja ett lämpligt teckensnitt för fönstret <guilabel>Meddelandeutmatning</guilabel>, klicka på knappen <guilabel>Fönsterteckensnitt</guilabel> som visar teckensnittet som för närvarande är valt (det står <quote>Arial</quote> på bilden ovan). &kde;:s vanliga dialogruta <guilabel>Välj teckensnitt</guilabel> dyker upp, där du kan välja teckensnittet som ska användas. </para> +<note><para>När &tdevelop; först startar initieras teckensnittsinställningen till det standardteckensnitt som &kde;-användaren har inställt. <emphasis>Den här inställningen är fast</emphasis>, så om du ändrar <menuchoice><guimenuitem>Inställningar</guimenuitem> <guimenuitem>Utseende och teman</guimenuitem> <guimenuitem>Teckensnitt</guimenuitem></menuchoice> i <guilabel>Inställningscentralen</guilabel> påverkas inte &tdevelop;s teckensnittsval. Du måste explicit välja ett nytt teckensnitt för fönstret <guilabel>Meddelandeutmatning</guilabel>. </para></note> </listitem> </varlistentry> <varlistentry> -<term id="setup-main-compile" -><guilabel ->Kompilatorutmatning</guilabel -></term> +<term id="setup-main-compile"><guilabel>Kompilatorutmatning</guilabel></term> <listitem> -<para ->&tdevelop; förbehandlar meddelanden som fönstret <guilabel ->Meddelandeutmatning</guilabel -> visar under byggprocessen för att filtrera onödig information. Du kan styra detaljnivån som &tdevelop; visar med kombinationsrutan i det här fältet. </para> +<para>&tdevelop; förbehandlar meddelanden som fönstret <guilabel>Meddelandeutmatning</guilabel> visar under byggprocessen för att filtrera onödig information. Du kan styra detaljnivån som &tdevelop; visar med kombinationsrutan i det här fältet. </para> <variablelist> <varlistentry> -<term -><guilabel ->Mycket kort</guilabel -></term> -<listitem -><para ->Visa bara varningar, fel och filnamnen som kompileras. </para -></listitem> +<term><guilabel>Mycket kort</guilabel></term> +<listitem><para>Visa bara varningar, fel och filnamnen som kompileras. </para></listitem> </varlistentry> <varlistentry> -<term -><guilabel ->Kort</guilabel -></term> -<listitem -><para ->Undertryck alla kompileringsflaggor, och ändra format till något mer läsbart. </para -></listitem> +<term><guilabel>Kort</guilabel></term> +<listitem><para>Undertryck alla kompileringsflaggor, och ändra format till något mer läsbart. </para></listitem> </varlistentry> <varlistentry> -<term -><guilabel ->Fullständig</guilabel -></term> -<listitem -><para ->Visa all utmatning utan förändring. </para -></listitem> +<term><guilabel>Fullständig</guilabel></term> +<listitem><para>Visa all utmatning utan förändring. </para></listitem> </varlistentry> </variablelist> -<tip -><para ->Det finns ett alternativt sätt att ändra detaljnivå för kompilatorutmatning. Högerklicka bara i fönstret <guilabel ->Meddelandeutmatning</guilabel -> och välj motsvarande detaljnivå i menyn som dyker upp. </para -></tip> +<tip><para>Det finns ett alternativt sätt att ändra detaljnivå för kompilatorutmatning. Högerklicka bara i fönstret <guilabel>Meddelandeutmatning</guilabel> och välj motsvarande detaljnivå i menyn som dyker upp. </para></tip> </listitem> </varlistentry> <varlistentry> -<term id="setup-main-wrap" -><guilabel ->Radbrytning</guilabel -></term> +<term id="setup-main-wrap"><guilabel>Radbrytning</guilabel></term> <listitem> -<para ->Normalt radbryter &tdevelop; långa rader i fönstret <guilabel ->Meddelandeutmatning</guilabel -> så att värdefull information inte lätt förbises. Ibland kan detta skräpa ner långa meddelandelistor. Ta bort kryssmarkeringen om du inte vill att radbrytning ska ske. </para> -<tip -><para ->Det finns ett alternativt sätt att ändra radbrytningen. Högerklicka bara i fönstret <guilabel ->Meddelandeutmatning</guilabel -> och markera eller avmarkera alternativet <guimenuitem ->Radbrytning</guimenuitem -> i menyn som dyker upp. </para -></tip> +<para>Normalt radbryter &tdevelop; långa rader i fönstret <guilabel>Meddelandeutmatning</guilabel> så att värdefull information inte lätt förbises. Ibland kan detta skräpa ner långa meddelandelistor. Ta bort kryssmarkeringen om du inte vill att radbrytning ska ske. </para> +<tip><para>Det finns ett alternativt sätt att ändra radbrytningen. Högerklicka bara i fönstret <guilabel>Meddelandeutmatning</guilabel> och markera eller avmarkera alternativet <guimenuitem>Radbrytning</guimenuitem> i menyn som dyker upp. </para></tip> </listitem> </varlistentry> <varlistentry> -<term id="setup-main-navigation" -><guilabel ->Meddelanden om katalogbyte</guilabel -></term> +<term id="setup-main-navigation"><guilabel>Meddelanden om katalogbyte</guilabel></term> <listitem> -<para ->Verktyget <command ->make</command -> visar oftast meddelanden som <quote ->Entering directory</quote -> eller <quote ->Leaving directory</quote -> när byte av arbetskatalog sker. Eftersom det här skräpar ner listan med meddelanden i fönstret <guilabel ->Meddelandeutmatning</guilabel -> undertrycker &tdevelop; normalt dessa meddelanden. Markera kryssrutan om du vill observera vilka kataloger som <command ->make</command -> arbetar i. </para> -<note -><para ->Ändringar av inställningen påverkar bara behandling av nya meddelanden. Gamla katalogbytesmeddelanden förblir synliga när den här funktionen stängs av. </para -></note> +<para>Verktyget <command>make</command> visar oftast meddelanden som <quote>Entering directory</quote> eller <quote>Leaving directory</quote> när byte av arbetskatalog sker. Eftersom det här skräpar ner listan med meddelanden i fönstret <guilabel>Meddelandeutmatning</guilabel> undertrycker &tdevelop; normalt dessa meddelanden. Markera kryssrutan om du vill observera vilka kataloger som <command>make</command> arbetar i. </para> +<note><para>Ändringar av inställningen påverkar bara behandling av nya meddelanden. Gamla katalogbytesmeddelanden förblir synliga när den här funktionen stängs av. </para></note> </listitem> </varlistentry> <varlistentry> -<term id="ui-designer-integration" -><guilabel ->Integrering med Designer för grafiskt gränssnitt</guilabel -></term> +<term id="ui-designer-integration"><guilabel>Integrering med Designer för grafiskt gränssnitt</guilabel></term> <listitem> -<para ->Det här låter dig välja hur du vill att <filename ->.ui</filename ->-filer ska visas i &tdevelop;. &tdevelop; levereras med sin egen Designer för grafiska gränssnitt som heter KDevDesigner. Den kan antingen inbäddas eller köras som ett separat program. Qt Designer kan också användas för att redigera <filename ->.ui</filename ->-filer. </para> +<para>Det här låter dig välja hur du vill att <filename>.ui</filename>-filer ska visas i &tdevelop;. &tdevelop; levereras med sin egen Designer för grafiska gränssnitt som heter KDevDesigner. Den kan antingen inbäddas eller köras som ett separat program. Qt Designer kan också användas för att redigera <filename>.ui</filename>-filer. </para> <itemizedlist> - <listitem -><para ->Använd &tdevelop;s inbäddade Designer </para -><para ->Använder &tdevelop;s egen Designer inbäddad i &tdevelop;.</para -></listitem> - <listitem -><para ->Kör &tdevelop; Designer som ett separat program </para -><para ->Programmet KDevDesigner körs separat i ett eget fönster.</para> + <listitem><para>Använd &tdevelop;s inbäddade Designer </para><para>Använder &tdevelop;s egen Designer inbäddad i &tdevelop;.</para></listitem> + <listitem><para>Kör &tdevelop; Designer som ett separat program </para><para>Programmet KDevDesigner körs separat i ett eget fönster.</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="kdevdesigner.png" format="PNG"/> </imageobject> - <caption -><para ->KDevDesigner i eget fönster </para -></caption> + <caption><para>KDevDesigner i eget fönster </para></caption> </mediaobject> </screenshot> </listitem> - <listitem -><para ->Kör Qt Designer </para -><para ->Qt-Designer från installationen av Qt kommer att startas externt, när du klickar på en <filename ->.ui</filename ->-fil i &tdevelop;.</para -></listitem> + <listitem><para>Kör Qt Designer </para><para>Qt-Designer från installationen av Qt kommer att startas externt, när du klickar på en <filename>.ui</filename>-fil i &tdevelop;.</para></listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> -<term id="terminal-emulation" -><guilabel ->Terminalemulering</guilabel -></term> +<term id="terminal-emulation"><guilabel>Terminalemulering</guilabel></term> <listitem> -<para ->Här väljer du vilken terminal du vill ska integreras i KDevelop. </para> +<para>Här väljer du vilken terminal du vill ska integreras i KDevelop. </para> <itemizedlist> - <listitem -><para ->Använd &kde;-inställning </para -><para ->Använder &kde;:s inställning som anges i Inställningscentralen under fliken <guilabel ->&kde;-komponenter</guilabel -><guilabel ->Komponentväljare</guilabel ->, som anger vilket terminalprogram som används av alla &kde;-program som behöver en terminal.</para -></listitem> - <listitem -><para ->Annan: </para -><para ->Välj någon annan terminal som skiljer sig från den förvalda.</para> + <listitem><para>Använd &kde;-inställning </para><para>Använder &kde;:s inställning som anges i Inställningscentralen under fliken <guilabel>&kde;-komponenter</guilabel><guilabel>Komponentväljare</guilabel>, som anger vilket terminalprogram som används av alla &kde;-program som behöver en terminal.</para></listitem> + <listitem><para>Annan: </para><para>Välj någon annan terminal som skiljer sig från den förvalda.</para> </listitem> </itemizedlist> </listitem> @@ -509,646 +232,316 @@ </variablelist> -</sect2 -> <!-- setup-main --> +</sect2> <!-- setup-main --> <sect2 id="setup-ui"> -<title ->Välja användargränssnitt</title> +<title>Välja användargränssnitt</title> <indexterm zone="setup-ui"> - <primary ->användargränssnitt</primary> - <secondary ->byta läge</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>byta läge</secondary></indexterm> <indexterm zone="setup-ui"> - <primary ->byta gränssnittsläget</primary -></indexterm> - -<para ->Som redan nämnts i kapitlet <link linkend="uimodes-survey" ->Tillgängliga lägen för användargränssnitt</link -> finns det fem olika sätt som &tdevelop;s arbetsområde kan ställas in, nämligen: </para> + <primary>byta gränssnittsläget</primary></indexterm> + +<para>Som redan nämnts i kapitlet <link linkend="uimodes-survey">Tillgängliga lägen för användargränssnitt</link> finns det fem olika sätt som &tdevelop;s arbetsområde kan ställas in, nämligen: </para> <itemizedlist> - <listitem -><para> - <link linkend="ideal-desc" ->Förenklat IDEA-fönsterläge</link> - </para -><para ->Det här är en förenklad version av IDEA-användargränssnittet. Det är konstruerat för att vara enkelt och rent. Det använder inte heller dockade verktygsvyer.</para -></listitem> - <listitem -><para> - <link linkend="ideal-desc" ->IDEA-fönsterläge</link> - </para -><para ->Det här är en klon av IDEA-användargränssnittet som liknar fliksidläge, och är förvalt läge.</para -></listitem> - <listitem -><para> - <link linkend="mdi-desc" ->Underramsläge</link> - </para -><para ->Alla verktygsvyer är dockade i huvudramen från början. Editorn och bläddringsvyer existerar som toppnivåfönster inne i huvudramens vyområde. Ett typiskt exempel på detta användargränssnitt är MS Visual Studio 6.0.</para -></listitem> - <listitem -><para> - <link linkend="tabbed-desc" ->Fliksidläge</link> - </para -><para ->Alla verktygsvyer är dockade i huvudramen från början. Editorn och bläddringsvyer läggs ovanpå varandra i ett flikfönster. Ett typiskt exempel på detta användargränssnitt är KDEStudio, en annan C++ integrerad utvecklingsmiljö i KDE-världen.</para -></listitem> - <listitem -><para> - <link linkend="toplevel-desc" ->Toppnivåläge</link> - </para -><para ->Alla editorvyer, bläddringsvyer och verktygsvyer är toppnivåfönster (direkt på skrivbordet). Huvudkomponenten innehåller bara menyn, verktygsrader och statusraden. Ett typiskt exempel på detta användargränssnitt är Borland Delphi 6.0.</para -></listitem> + <listitem><para> + <link linkend="ideal-desc">Förenklat IDEA-fönsterläge</link> + </para><para>Det här är en förenklad version av IDEA-användargränssnittet. Det är konstruerat för att vara enkelt och rent. Det använder inte heller dockade verktygsvyer.</para></listitem> + <listitem><para> + <link linkend="ideal-desc">IDEA-fönsterläge</link> + </para><para>Det här är en klon av IDEA-användargränssnittet som liknar fliksidläge, och är förvalt läge.</para></listitem> + <listitem><para> + <link linkend="mdi-desc">Underramsläge</link> + </para><para>Alla verktygsvyer är dockade i huvudramen från början. Editorn och bläddringsvyer existerar som toppnivåfönster inne i huvudramens vyområde. Ett typiskt exempel på detta användargränssnitt är MS Visual Studio 6.0.</para></listitem> + <listitem><para> + <link linkend="tabbed-desc">Fliksidläge</link> + </para><para>Alla verktygsvyer är dockade i huvudramen från början. Editorn och bläddringsvyer läggs ovanpå varandra i ett flikfönster. Ett typiskt exempel på detta användargränssnitt är KDEStudio, en annan C++ integrerad utvecklingsmiljö i KDE-världen.</para></listitem> + <listitem><para> + <link linkend="toplevel-desc">Toppnivåläge</link> + </para><para>Alla editorvyer, bläddringsvyer och verktygsvyer är toppnivåfönster (direkt på skrivbordet). Huvudkomponenten innehåller bara menyn, verktygsrader och statusraden. Ett typiskt exempel på detta användargränssnitt är Borland Delphi 6.0.</para></listitem> </itemizedlist> -<para ->För att byta användargränssnittets läge välj <menuchoice -> <guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du ska välja <guilabel ->Användargränssnitt</guilabel -> i trädet till vänster. Då visas följande inställningsdialogruta till höger:</para> +<para>För att byta användargränssnittets läge välj <menuchoice> <guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du ska välja <guilabel>Användargränssnitt</guilabel> i trädet till vänster. Då visas följande inställningsdialogruta till höger:</para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="select-user-interface-0.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Välj ett användargränssnittsläge</phrase -></textobject> - <caption -><para ->Välj ett användargränssnittsläge </para -></caption> +<textobject><phrase>Välj ett användargränssnittsläge</phrase></textobject> + <caption><para>Välj ett användargränssnittsläge </para></caption> </mediaobject> </screenshot> -<para ->Markera alternativknappen för gränssnittsläget du vill byta till, och klicka därefter på <guibutton ->Ok</guibutton ->. </para> - -<note -><para ->Glöm inte att starta om &tdevelop; för att alla dessa val ska få effekt. </para -></note> - -<para ->Om du antingen valt <guilabel ->Förenklat IDEA-fönsterläge</guilabel ->, <guilabel ->IDEA-fönsterläge</guilabel -> eller <guilabel ->Fliksidläge</guilabel -> blir ytterligare två inställningsrutor tillgängliga: <link linkend="setup-ui-tabs" ->Använd flikar</link -> och <link linkend="setup-ui-hover" ->Använd stäng när musen hålls stilla</link ->. De gör det möjligt att anpassa under vilka omständigheter flikar visas ovanför dokumentfönster, och om du kan stänga dokument med ett klick på flikens ikon. </para> - -<para ->I <guilabel ->Förenklat IDEA-fönsterläge</guilabel -> och <guilabel ->IDEA-fönsterläge</guilabel -> finns ännu en inställningsruta tillgänglig, <link linkend="setup-ui-toolview" ->Fliklayout för verktygsvy</link -> som låter dig välja mellan olika storlekar hos flikarna för verktygsvyer som omger huvudarbetsytan i dessa lägen. </para> +<para>Markera alternativknappen för gränssnittsläget du vill byta till, och klicka därefter på <guibutton>Ok</guibutton>. </para> + +<note><para>Glöm inte att starta om &tdevelop; för att alla dessa val ska få effekt. </para></note> + +<para>Om du antingen valt <guilabel>Förenklat IDEA-fönsterläge</guilabel>, <guilabel>IDEA-fönsterläge</guilabel> eller <guilabel>Fliksidläge</guilabel> blir ytterligare två inställningsrutor tillgängliga: <link linkend="setup-ui-tabs">Använd flikar</link> och <link linkend="setup-ui-hover">Använd stäng när musen hålls stilla</link>. De gör det möjligt att anpassa under vilka omständigheter flikar visas ovanför dokumentfönster, och om du kan stänga dokument med ett klick på flikens ikon. </para> + +<para>I <guilabel>Förenklat IDEA-fönsterläge</guilabel> och <guilabel>IDEA-fönsterläge</guilabel> finns ännu en inställningsruta tillgänglig, <link linkend="setup-ui-toolview">Fliklayout för verktygsvy</link> som låter dig välja mellan olika storlekar hos flikarna för verktygsvyer som omger huvudarbetsytan i dessa lägen. </para> <variablelist> <varlistentry> -<term id="setup-ui-tabs" ->Anpassa visningen av flikraden för dokumentation</term> +<term id="setup-ui-tabs">Anpassa visningen av flikraden för dokumentation</term> <listitem> -<para ->Med IDEA-fönsterläge och fliksidläge finns det normalt namngivna flikar ovanför dokumentfönstren, så att du enkelt kan välja olika dokument med ett vänsterklick. Om du föredrar att ge mer utrymme till dokumentfönstren på huvudarbetsytan i &tdevelop;, kan du byta till ett annat beteende i inställningsrutan <guilabel ->Använd flikar</guilabel ->. </para> +<para>Med IDEA-fönsterläge och fliksidläge finns det normalt namngivna flikar ovanför dokumentfönstren, så att du enkelt kan välja olika dokument med ett vänsterklick. Om du föredrar att ge mer utrymme till dokumentfönstren på huvudarbetsytan i &tdevelop;, kan du byta till ett annat beteende i inställningsrutan <guilabel>Använd flikar</guilabel>. </para> <variablelist> <varlistentry> - <term -><guilabel ->Alltid</guilabel -></term> - <listitem -><para ->Det här är standardvärdet: Visa en flik som består av en ikon och dokumentnamnet ovanför varje dokumentfönster på huvudytan av skärmen i &tdevelop;. </para -></listitem> + <term><guilabel>Alltid</guilabel></term> + <listitem><para>Det här är standardvärdet: Visa en flik som består av en ikon och dokumentnamnet ovanför varje dokumentfönster på huvudytan av skärmen i &tdevelop;. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Vid mer än en</guilabel -></term> - <listitem -><para ->Visa inte en flik när bara ett dokument är öppet. Om mer än ett dokument är öppet, visar &tdevelop; dock en flikrad som motsvarar valet <guilabel ->Alltid</guilabel -> ovan. Du kan vilja använda det här läget om du oftast arbetar med ett enda dokument, eftersom läget tillhandahåller ett större vertikalt utrymme. </para -></listitem> + <term><guilabel>Vid mer än en</guilabel></term> + <listitem><para>Visa inte en flik när bara ett dokument är öppet. Om mer än ett dokument är öppet, visar &tdevelop; dock en flikrad som motsvarar valet <guilabel>Alltid</guilabel> ovan. Du kan vilja använda det här läget om du oftast arbetar med ett enda dokument, eftersom läget tillhandahåller ett större vertikalt utrymme. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Aldrig</guilabel -></term> - <listitem -><para ->Visa aldrig en flikrad för att välja dokument. Du kanske föredrar det här läget om du sällan använder musen för att byta mellan dokument. Det tillhandahåller ett större vertikalt utrymme för alla dokumentfönster. Använd menyn <guimenu ->Fönster</guimenu -> i &tdevelop; för att välja ett annat dokumentfönster eller stänga något. </para -></listitem> + <term><guilabel>Aldrig</guilabel></term> + <listitem><para>Visa aldrig en flikrad för att välja dokument. Du kanske föredrar det här läget om du sällan använder musen för att byta mellan dokument. Det tillhandahåller ett större vertikalt utrymme för alla dokumentfönster. Använd menyn <guimenu>Fönster</guimenu> i &tdevelop; för att välja ett annat dokumentfönster eller stänga något. </para></listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> -<term id="setup-ui-hover" ->Ställa in att stänga ett dokument genom att klicka på dess flik</term> +<term id="setup-ui-hover">Ställa in att stänga ett dokument genom att klicka på dess flik</term> <listitem> -<para ->När du anpassar &tdevelop; att visa flikraden för dokument, antingen alltid eller när mer än ett dokument är öppet på huvudarbetsytan, kan du lägga till ytterligare en funktion till flikarna förutom möjligheten att välja dokument. Använd inställningsrutan <guilabel ->Använd stäng när musen hålls stilla</guilabel -> för detta. </para> +<para>När du anpassar &tdevelop; att visa flikraden för dokument, antingen alltid eller när mer än ett dokument är öppet på huvudarbetsytan, kan du lägga till ytterligare en funktion till flikarna förutom möjligheten att välja dokument. Använd inställningsrutan <guilabel>Använd stäng när musen hålls stilla</guilabel> för detta. </para> <variablelist> <varlistentry> - <term -><guilabel ->Nej</guilabel -></term> - <listitem -><para ->Det här är standardbeteendet. Ingen extra funktion läggs till för flikarna. De kan bara användas för att välja dokumentfönster med vänsterklick. </para -></listitem> + <term><guilabel>Nej</guilabel></term> + <listitem><para>Det här är standardbeteendet. Ingen extra funktion läggs till för flikarna. De kan bara användas för att välja dokumentfönster med vänsterklick. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Ja</guilabel -></term> - <listitem -><para ->När du markerar den här alternativknappen, låter &tdevelop; dig stänga ett dokumentfönster med ett vänsterklick. Använd musen för att peka på den lilla ikonen till vänster i flikraden. Den ändras till en stängningssymbol. Klicka nu med vänsterknappen på den ändrade symbolen, så stänger &tdevelop; motsvarande dokumentfönster. </para -></listitem> + <term><guilabel>Ja</guilabel></term> + <listitem><para>När du markerar den här alternativknappen, låter &tdevelop; dig stänga ett dokumentfönster med ett vänsterklick. Använd musen för att peka på den lilla ikonen till vänster i flikraden. Den ändras till en stängningssymbol. Klicka nu med vänsterknappen på den ändrade symbolen, så stänger &tdevelop; motsvarande dokumentfönster. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Ja, fördröjd</guilabel -></term> - <listitem -><para ->När den här alternativknappen är markerad, låter &tdevelop; dig stänga ett dokumentfönster som beskrivits för fallet <guilabel ->Ja</guilabel -> ovan. Ikonen ändras dock inte omedelbart, utan det blir en kort fördröjning innan stängningsikonen dyker upp. </para -></listitem> + <term><guilabel>Ja, fördröjd</guilabel></term> + <listitem><para>När den här alternativknappen är markerad, låter &tdevelop; dig stänga ett dokumentfönster som beskrivits för fallet <guilabel>Ja</guilabel> ovan. Ikonen ändras dock inte omedelbart, utan det blir en kort fördröjning innan stängningsikonen dyker upp. </para></listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> -<term id="setup-ui-toolview" ->Anpassa fliklayout för verktygsvyn</term> +<term id="setup-ui-toolview">Anpassa fliklayout för verktygsvyn</term> <listitem> -<para ->Inställningsrutan <guilabel ->Fliklayout för verktygsvy</guilabel -> är bara tillgänglig i IDEA-fönsterläge. Använd alternativknapparna för att ställa in utseendet för verktygsvyernas flikar som omger huvudarbetsytan i detta läge. </para> +<para>Inställningsrutan <guilabel>Fliklayout för verktygsvy</guilabel> är bara tillgänglig i IDEA-fönsterläge. Använd alternativknapparna för att ställa in utseendet för verktygsvyernas flikar som omger huvudarbetsytan i detta läge. </para> <variablelist> <varlistentry> - <term -><guilabel ->Ikoner</guilabel -></term> + <term><guilabel>Ikoner</guilabel></term> <listitem> - <para ->Varje flik visar bara en ikon. Om motsvarande verktygsvy visas, öppnas fliken och en beskrivande text för verktygsvyn visas. Du kan vilja använda det här läget om du arbetar med en bildskärm med begränsad upplösning. </para> - <para ->Ikonerna är dock inte särskilt beskrivande. Om du vill ta reda på vilken verktygsvy som hör ihop med en given flik, peka på den med musen och vänta en sekund. Ett kort verktygstips dyker då upp med verktygsvyns namn. </para> + <para>Varje flik visar bara en ikon. Om motsvarande verktygsvy visas, öppnas fliken och en beskrivande text för verktygsvyn visas. Du kan vilja använda det här läget om du arbetar med en bildskärm med begränsad upplösning. </para> + <para>Ikonerna är dock inte särskilt beskrivande. Om du vill ta reda på vilken verktygsvy som hör ihop med en given flik, peka på den med musen och vänta en sekund. Ett kort verktygstips dyker då upp med verktygsvyns namn. </para> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Text</guilabel -></term> - <listitem -><para ->Det här är standardläget för visning av verktygsvyernas flikar. Varje flik visar namnet på tillhörande verktygsvy. </para -></listitem> + <term><guilabel>Text</guilabel></term> + <listitem><para>Det här är standardläget för visning av verktygsvyernas flikar. Varje flik visar namnet på tillhörande verktygsvy. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Text och ikoner</guilabel -></term> - <listitem -><para ->Om du tycker att den vanliga visningen av text för verktygsvyerna verkar för trist, och du arbetar på en bildskärm med hög upplösning, kan du vilja markera den här alternativknappen. Den gör att namnet för motsvarande verktygsvy visas på varje flik med en ikon till vänster om det, vilket gör det enklare att skilja på flikarna. Ett exempel visas på illustrationen <link linkend="folded-toolview-tabs" ->Radbrytning av verktygsvyernas flikar</link -> nedan. </para -></listitem> + <term><guilabel>Text och ikoner</guilabel></term> + <listitem><para>Om du tycker att den vanliga visningen av text för verktygsvyerna verkar för trist, och du arbetar på en bildskärm med hög upplösning, kan du vilja markera den här alternativknappen. Den gör att namnet för motsvarande verktygsvy visas på varje flik med en ikon till vänster om det, vilket gör det enklare att skilja på flikarna. Ett exempel visas på illustrationen <link linkend="folded-toolview-tabs">Radbrytning av verktygsvyernas flikar</link> nedan. </para></listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> -<term ->Radbrytning av verktygsvyernas flikar</term> +<term>Radbrytning av verktygsvyernas flikar</term> <listitem> -<para ->Om du valde att låta IDEA-fönsterlägets flikar för verktygsvyer visa text (med eller utan tillhörande ikoner) behöver du inte oroa dig för att de döljs bakom något verktygsvyfönster. Om ett av de nedre verktygsvyfönstren upptar mer utrymme än vad som är tillgängligt för att visa alla (vertikala) flikar, radbryts de som illustrationen visar: </para> +<para>Om du valde att låta IDEA-fönsterlägets flikar för verktygsvyer visa text (med eller utan tillhörande ikoner) behöver du inte oroa dig för att de döljs bakom något verktygsvyfönster. Om ett av de nedre verktygsvyfönstren upptar mer utrymme än vad som är tillgängligt för att visa alla (vertikala) flikar, radbryts de som illustrationen visar: </para> <screenshot> <mediaobject id="folded-toolview-tabs"> <imageobject> <imagedata fileref="folded-tabs.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Verktygsvyernas flikar radbryts för att inte döljas bakom ett annat fönster som visas</phrase -></textobject> - <caption -><para ->Verktygsvyernas flikar radbryts för att inte döljas bakom ett annat fönster som visas </para -></caption> +<textobject><phrase>Verktygsvyernas flikar radbryts för att inte döljas bakom ett annat fönster som visas</phrase></textobject> + <caption><para>Verktygsvyernas flikar radbryts för att inte döljas bakom ett annat fönster som visas </para></caption> </mediaobject> </screenshot> -<note -><para ->Det aktiva verktygsvyfönstret måste visas fast (utan överlappning), och dela arbetsytan med andra fönster, för att tvinga fram en sådan radbrytning av flikar. Klicka på den lilla fyrkanten i fönsterramen för att åstadkomma läget som visas i exemplet. </para -></note> +<note><para>Det aktiva verktygsvyfönstret måste visas fast (utan överlappning), och dela arbetsytan med andra fönster, för att tvinga fram en sådan radbrytning av flikar. Klicka på den lilla fyrkanten i fönsterramen för att åstadkomma läget som visas i exemplet. </para></note> </listitem> </varlistentry> </variablelist> -</sect2 -> <!-- setup-ui --> +</sect2> <!-- setup-ui --> <sect2 id="setup-templates"> -<title ->Filmallar</title> -<!--TODO fill--><para -></para> +<title>Filmallar</title> +<!--TODO fill--><para></para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-file-templates.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Anpassa filmallar</phrase -></textobject> - <caption -><para ->Anpassa filmallar </para -></caption> +<textobject><phrase>Anpassa filmallar</phrase></textobject> + <caption><para>Anpassa filmallar </para></caption> </mediaobject> </screenshot> -</sect2 -> <!-- setup-templates --> +</sect2> <!-- setup-templates --> <sect2 id="setup-editor"> -<title ->Välja en editor</title> +<title>Välja en editor</title> -<para ->&tdevelop; låter dig välja ditt favoritverktyg för textredigering. Markera raden <guilabel ->Editor</guilabel -> i trädet till vänster i fönstret <guilabel ->Anpassa KDevelop</guilabel ->. Följande dialogruta visas till höger: </para> +<para>&tdevelop; låter dig välja ditt favoritverktyg för textredigering. Markera raden <guilabel>Editor</guilabel> i trädet till vänster i fönstret <guilabel>Anpassa KDevelop</guilabel>. Följande dialogruta visas till höger: </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-editor.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Välja en editor</phrase -></textobject> - <caption -><para ->Välja en editor </para -></caption> +<textobject><phrase>Välja en editor</phrase></textobject> + <caption><para>Välja en editor </para></caption> </mediaobject> </screenshot> -<para ->För att välja en ny editor, klicka på pilen i kombinationsrutan. Beroende på gränssnitten för redigeringsdelprogram som &kde;-versionen har kompilerats med, ser du en lista med editorer som du kan välja bland (se den <link linkend="setup-editor-tdeparts" ->viktiga anmärkningen</link -> nedan om detta). Klicka på editorn som du vill ha och klicka på <guilabel ->Ok</guilabel ->. För närvarande finns två möjligheter: </para> +<para>För att välja en ny editor, klicka på pilen i kombinationsrutan. Beroende på gränssnitten för redigeringsdelprogram som &kde;-versionen har kompilerats med, ser du en lista med editorer som du kan välja bland (se den <link linkend="setup-editor-tdeparts">viktiga anmärkningen</link> nedan om detta). Klicka på editorn som du vill ha och klicka på <guilabel>Ok</guilabel>. För närvarande finns två möjligheter: </para> <variablelist> <varlistentry> - <term -><guilabel ->Inbyggd avancerad texteditor</guilabel -></term> - <listitem -><para ->Det här är &kde;:s vanliga <application ->Kate</application -> redigeringsdelprogram. </para -></listitem> + <term><guilabel>Inbyggd avancerad texteditor</guilabel></term> + <listitem><para>Det här är &kde;:s vanliga <application>Kate</application> redigeringsdelprogram. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Qt Designer-baserad texteditor</guilabel -></term> - <listitem -><para ->Det här är editorn som &Qt; tillhandahåller i sin <application ->Designer</application ->-komponent. </para -></listitem> + <term><guilabel>Qt Designer-baserad texteditor</guilabel></term> + <listitem><para>Det här är editorn som &Qt; tillhandahåller i sin <application>Designer</application>-komponent. </para></listitem> </varlistentry> </variablelist> -<para ->Dessa redigeringsgränssnitt är fullständigt integrerade med &tdevelop;s integrerade utvecklingsmiljö. I synnerhet tillhandahålls möjligheten att hoppa till källkodsraden som orsakat ett fel genom att bara klicka på felmeddelandet i fönstret <guilabel ->Meddelandeutmatning</guilabel ->. </para> +<para>Dessa redigeringsgränssnitt är fullständigt integrerade med &tdevelop;s integrerade utvecklingsmiljö. I synnerhet tillhandahålls möjligheten att hoppa till källkodsraden som orsakat ett fel genom att bara klicka på felmeddelandet i fönstret <guilabel>Meddelandeutmatning</guilabel>. </para> -<note -><para ->Att byta editor påverkar inte filer som redan är öppna. Det finns två sätt att fortsätta. Stäng antingen alla öppna textfönster och öppna dem igen ett i taget. Eller stäng helt enkelt hela projektet och öppna det igen. Fönstren öppnas då automatiskt med det nya texteditorgränssnittet. </para -></note> +<note><para>Att byta editor påverkar inte filer som redan är öppna. Det finns två sätt att fortsätta. Stäng antingen alla öppna textfönster och öppna dem igen ett i taget. Eller stäng helt enkelt hela projektet och öppna det igen. Fönstren öppnas då automatiskt med det nya texteditorgränssnittet. </para></note> -<important id="setup-editor-tdeparts" -><para ->KDevelop låter dig använda editorgränssnitt som har registrerats med &kde; och som tillhandahåller ett KatePart-gränssnitt. Om du saknar en av möjligheterna som visas ovan, kontrollera i din &kde;-installation om motsvarande KPart installerats på ett riktigt sätt. </para -></important> +<important id="setup-editor-tdeparts"><para>KDevelop låter dig använda editorgränssnitt som har registrerats med &kde; och som tillhandahåller ett KatePart-gränssnitt. Om du saknar en av möjligheterna som visas ovan, kontrollera i din &kde;-installation om motsvarande KPart installerats på ett riktigt sätt. </para></important> -<para ->Vad som ska göras om filen har ändrats externt:</para> +<para>Vad som ska göras om filen har ändrats externt:</para> <variablelist> <varlistentry> - <term -><guilabel ->Gör ingenting</guilabel -></term> - <listitem -><para ->Filen markeras som ändrad externt, och användaren blir tillfrågad om att bekräfta alla försök att skriva över den. </para -></listitem> + <term><guilabel>Gör ingenting</guilabel></term> + <listitem><para>Filen markeras som ändrad externt, och användaren blir tillfrågad om att bekräfta alla försök att skriva över den. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Underrätta användaren</guilabel -></term> - <listitem -><para ->En dialogruta underrättar användaren att filen har ändrats, och erbjuder användaren att uppdatera filen. </para -></listitem> + <term><guilabel>Underrätta användaren</guilabel></term> + <listitem><para>En dialogruta underrättar användaren att filen har ändrats, och erbjuder användaren att uppdatera filen. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Ladda om filen automatiskt om det är säkert, underrätta annars användaren</guilabel -></term> - <listitem -><para ->Alla filer som inte är ändrade i minnet, uppdateras och en varning visas vid eventuella konflikter. </para -></listitem> + <term><guilabel>Ladda om filen automatiskt om det är säkert, underrätta annars användaren</guilabel></term> + <listitem><para>Alla filer som inte är ändrade i minnet, uppdateras och en varning visas vid eventuella konflikter. </para></listitem> </varlistentry> </variablelist> -</sect2 -> <!-- setup-editor --> +</sect2> <!-- setup-editor --> <sect2 id="setup-abbrev"> -<title ->Förkortningar för ordkomplettering</title> +<title>Förkortningar för ordkomplettering</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-abbrev --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- setup-abbrev --> <sect2 id="setup-scripting"> -<title ->Skript</title> +<title>Skript</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-scripting --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- setup-scripting --> <sect2 id="setup-menu-standard"> -<title ->Lägga till &kde;:s standardprogram i verktygsmenyn</title> +<title>Lägga till &kde;:s standardprogram i verktygsmenyn</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-menu-standard Tools Menu--> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- setup-menu-standard Tools Menu--> <sect2 id="setup-menu-external"> -<title ->Lägga till externa program i menyer</title> +<title>Lägga till externa program i menyer</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <sect3 id="setup-menu-external-tools"> -<title ->Lägga till i verktygsmenyn</title> +<title>Lägga till i verktygsmenyn</title> -<para ->(... ännu inte skrivet ...) </para> -</sect3 -> <!-- setup-menu-external-tools --> +<para>(... ännu inte skrivet ...) </para> +</sect3> <!-- setup-menu-external-tools --> <sect3 id="setup-menu-external-filecontext"> -<title ->Lägga till i sammanhangsberoende meny för filer</title> +<title>Lägga till i sammanhangsberoende meny för filer</title> -<para ->(... ännu inte skrivet ...) </para> -</sect3 -> <!-- setup-menu-external-filecontext --> +<para>(... ännu inte skrivet ...) </para> +</sect3> <!-- setup-menu-external-filecontext --> <sect3 id="setup-menu-external-dircontext"> -<title ->Lägga till i sammanhangsberoende meny för kataloger</title> +<title>Lägga till i sammanhangsberoende meny för kataloger</title> -<para ->(... ännu inte skrivet ...) </para> -</sect3 -> <!-- setup-menu-external-dircontext --> +<para>(... ännu inte skrivet ...) </para> +</sect3> <!-- setup-menu-external-dircontext --> -</sect2 -> <!-- setup-menu-external --> +</sect2> <!-- setup-menu-external --> <sect2 id="setup-format"> -<title ->Välja en formateringsstil för källkod</title> - -<para ->&tdevelop; formaterar automatiskt källkodstext med en fördefinierad stil. Stilen är mycket anpassningsbar. </para> - -<note -><para ->Funktionen för att formatera om källkod är för närvarande bara tillgänglig för C, C++ och &Java;. I synnerhet kan du inte använda den för skriptspråk som t.ex. PHP. Det beror på att &tdevelop; använder programmet <ulink url="http://astyle.sourceforge.net/" ->astyle</ulink -> för att implementera funktionen. </para -></note> - -<para ->För att ställa in en specifik formateringsstil, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du ska välja <guilabel ->Formatering av källkod</guilabel -> i trädet till vänster. Då visas en serie av tre flikar med inställningar till höger, benämnda <link linkend="setup-format-general" ->Allmän</link ->, <link linkend="setup-format-indent" ->Indentering</link -> och <link linkend="setup-format-other" ->Annan</link ->. </para> - -<tip -><para ->Alla stiländringar gäller bara för nyinmatad text. Om du vill ändra formateringsstil för en befintlig källkodstext måste du uttryckligen använda kommandot <menuchoice -><guimenu ->Redigera</guimenu -> <guimenuitem ->Formatera om källkod</guimenuitem -></menuchoice ->. </para -></tip> - -<note -><para ->Det exakta resultatet av dessa definitioner av formateringsstil beror på <link linkend="setup-editor" ->editorn</link -> du använder. För närvarande är de flesta inställningar anpassade för redigeringsdelprogrammet Kate (<quote ->Inbäddningsbar avancerad texteditor</quote ->). Vissa andra editorer (t.ex. Qt-editorn) kan bero på sina egna formateringsinställningar. I dessa fall måste du experimentera för att ta reda på exakta effekterna av stilinställningarna som tillhandahålls här. </para -></note> - -<warning -><para ->Det kan finnas oförenligheter mellan inställning av stilar som tillhandahålls här och editorn du använder, i sådan utsträckning att det i extrema fall till och med kan förstöra dina filer. Försäkra dig om att du har en säkerhetskopia av dina källkodsfiler innan du provar inställningarna med en editor som inte är standard i &kde;. </para -></warning> +<title>Välja en formateringsstil för källkod</title> + +<para>&tdevelop; formaterar automatiskt källkodstext med en fördefinierad stil. Stilen är mycket anpassningsbar. </para> + +<note><para>Funktionen för att formatera om källkod är för närvarande bara tillgänglig för C, C++ och &Java;. I synnerhet kan du inte använda den för skriptspråk som t.ex. PHP. Det beror på att &tdevelop; använder programmet <ulink url="http://astyle.sourceforge.net/">astyle</ulink> för att implementera funktionen. </para></note> + +<para>För att ställa in en specifik formateringsstil, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du ska välja <guilabel>Formatering av källkod</guilabel> i trädet till vänster. Då visas en serie av tre flikar med inställningar till höger, benämnda <link linkend="setup-format-general">Allmän</link>, <link linkend="setup-format-indent">Indentering</link> och <link linkend="setup-format-other">Annan</link>. </para> + +<tip><para>Alla stiländringar gäller bara för nyinmatad text. Om du vill ändra formateringsstil för en befintlig källkodstext måste du uttryckligen använda kommandot <menuchoice><guimenu>Redigera</guimenu> <guimenuitem>Formatera om källkod</guimenuitem></menuchoice>. </para></tip> + +<note><para>Det exakta resultatet av dessa definitioner av formateringsstil beror på <link linkend="setup-editor">editorn</link> du använder. För närvarande är de flesta inställningar anpassade för redigeringsdelprogrammet Kate (<quote>Inbäddningsbar avancerad texteditor</quote>). Vissa andra editorer (t.ex. Qt-editorn) kan bero på sina egna formateringsinställningar. I dessa fall måste du experimentera för att ta reda på exakta effekterna av stilinställningarna som tillhandahålls här. </para></note> + +<warning><para>Det kan finnas oförenligheter mellan inställning av stilar som tillhandahålls här och editorn du använder, i sådan utsträckning att det i extrema fall till och med kan förstöra dina filer. Försäkra dig om att du har en säkerhetskopia av dina källkodsfiler innan du provar inställningarna med en editor som inte är standard i &kde;. </para></warning> <sect3 id="setup-format-general"> -<title ->Allmänna formateringsinställningar</title> +<title>Allmänna formateringsinställningar</title> -<para ->Fliken <guilabel ->Allmänt</guilabel -> i dialogrutan <guilabel ->Formatering av källkod</guilabel -> låter dig välja en av fem fördefinierade formateringsstilar för källkod. </para> +<para>Fliken <guilabel>Allmänt</guilabel> i dialogrutan <guilabel>Formatering av källkod</guilabel> låter dig välja en av fem fördefinierade formateringsstilar för källkod. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="SF-general.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Allmän inställning av formateringsstil för källkod</phrase -></textobject> - <caption -><para ->Allmän inställning av formateringsstil för källkod </para -></caption> +<textobject><phrase>Allmän inställning av formateringsstil för källkod</phrase></textobject> + <caption><para>Allmän inställning av formateringsstil för källkod </para></caption> </mediaobject> </screenshot> -<para ->Ett exempel på formaterad källkod visas i fältet till höger. Om du inte tycker om någon av de fördefinierade stilarna kan du klicka på den översta alternativknappen <guilabel ->Användardefinierad</guilabel ->, och definiera en egen formateringsstil för källkod du föredrar under de övriga två flikarna som då blir tillgängliga. </para> +<para>Ett exempel på formaterad källkod visas i fältet till höger. Om du inte tycker om någon av de fördefinierade stilarna kan du klicka på den översta alternativknappen <guilabel>Användardefinierad</guilabel>, och definiera en egen formateringsstil för källkod du föredrar under de övriga två flikarna som då blir tillgängliga. </para> -<note -><para ->För närvarande illustreras bara de fördefinierade formateringsstilarna för källkod med en exempeltext. Om du bestämmer dig för att definiera din egen stil, finns ingen visning av exempel tillgänglig. Du måste experimentera med verklig källkodstext för att skräddarsy inställningarna som du vill ha dem. </para -></note> +<note><para>För närvarande illustreras bara de fördefinierade formateringsstilarna för källkod med en exempeltext. Om du bestämmer dig för att definiera din egen stil, finns ingen visning av exempel tillgänglig. Du måste experimentera med verklig källkodstext för att skräddarsy inställningarna som du vill ha dem. </para></note> -</sect3 -> <!-- setup-format-general --> +</sect3> <!-- setup-format-general --> <sect3 id="setup-format-indent"> -<title ->Inställning av indenteringsstil</title> +<title>Inställning av indenteringsstil</title> -<para ->Lämplig indentering är det huvudsakliga sättet att öka läsbarhet för källkodstext. Om du väljer fliken <guilabel ->Indentering</guilabel -> i dialogrutan <guilabel ->Formatering av källkod</guilabel -> visas en serie med formateringsval för indentering grupperade i följande tre rutor: </para> +<para>Lämplig indentering är det huvudsakliga sättet att öka läsbarhet för källkodstext. Om du väljer fliken <guilabel>Indentering</guilabel> i dialogrutan <guilabel>Formatering av källkod</guilabel> visas en serie med formateringsval för indentering grupperade i följande tre rutor: </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="SF-indent.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Inställning av indenteringsstil för källkod</phrase -></textobject> - <caption -><para ->Inställning av indenteringsstil för källkod </para -></caption> +<textobject><phrase>Inställning av indenteringsstil för källkod</phrase></textobject> + <caption><para>Inställning av indenteringsstil för källkod </para></caption> </mediaobject> </screenshot> <variablelist> <varlistentry> -<term ->Förvalda inställningar</term> +<term>Förvalda inställningar</term> <listitem> -<para ->Fördefinierade formateringsval gör att källkodstexten liknar formateringsstilen enligt ANSI:</para> +<para>Fördefinierade formateringsval gör att källkodstexten liknar formateringsstilen enligt ANSI:</para> -<screen ->namespace foospace +<screen>namespace foospace { int Foo() { @@ -1166,108 +559,55 @@ </varlistentry> <varlistentry> -<term id="setup-format-indent-filling" ->Definiera indenteringsbredd och tecken</term> +<term id="setup-format-indent-filling">Definiera indenteringsbredd och tecken</term> <listitem> -<para ->Alternativknapparna grupperade under <guilabel ->Utfyllnad</guilabel -> anger hur indentering av källkodstexten visas.</para> +<para>Alternativknapparna grupperade under <guilabel>Utfyllnad</guilabel> anger hur indentering av källkodstexten visas.</para> <variablelist> <varlistentry> - <term -><guilabel ->Använd flikar</guilabel -></term> + <term><guilabel>Använd flikar</guilabel></term> <listitem> - <para ->Det här gör att editorn infogar ett tabulatortecken för varje indenteringsnivå. Tabulatorbredden är fördefinierad i editorns inställningar (oftast kolumner om 8 eller 4 tecken). Använd <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa editor...</guimenuitem -></menuchoice -> för att definiera om den. </para> - <note -><para ->Proceduren för att definiera verklig tabulatorbredd beror på editorn du valt under inställningssteget <link linkend="setup-editor" ->Välja en editor</link ->. Du måste slå upp motsvarande editors hjälp för att ta reda på den. </para -></note> + <para>Det här gör att editorn infogar ett tabulatortecken för varje indenteringsnivå. Tabulatorbredden är fördefinierad i editorns inställningar (oftast kolumner om 8 eller 4 tecken). Använd <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa editor...</guimenuitem></menuchoice> för att definiera om den. </para> + <note><para>Proceduren för att definiera verklig tabulatorbredd beror på editorn du valt under inställningssteget <link linkend="setup-editor">Välja en editor</link>. Du måste slå upp motsvarande editors hjälp för att ta reda på den. </para></note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Använd mellanslag</guilabel -></term> - <listitem -><para ->Om du markerar alternativknappen, lägger editorn till det antalet mellanslag för varje indenteringsnivå. Ändra värdet från normalvärdet 2 till indenteringsbredden du föredrar. </para -></listitem> + <term><guilabel>Använd mellanslag</guilabel></term> + <listitem><para>Om du markerar alternativknappen, lägger editorn till det antalet mellanslag för varje indenteringsnivå. Ändra värdet från normalvärdet 2 till indenteringsbredden du föredrar. </para></listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> -<term ->Indentera objekt</term> +<term>Indentera objekt</term> <listitem> -<para ->Det här anger vilka (av C/C++) konstruktioner som formateras med en extra indentering från den aktuella indenteringsnivån.</para> - -<para ->Normalt används bara extra indentering för <guilabel ->namnrymder</guilabel -> och <guilabel ->etiketter</guilabel ->. Du kanske vill experimentera med olika inställningar för att anpassa extra indenteringar som du vill ha dem.</para> +<para>Det här anger vilka (av C/C++) konstruktioner som formateras med en extra indentering från den aktuella indenteringsnivån.</para> + +<para>Normalt används bara extra indentering för <guilabel>namnrymder</guilabel> och <guilabel>etiketter</guilabel>. Du kanske vill experimentera med olika inställningar för att anpassa extra indenteringar som du vill ha dem.</para> </listitem> </varlistentry> <varlistentry> -<term ->Fortsättning</term> +<term>Fortsättning</term> <listitem> -<para ->Inställningarna som är grupperade här gäller de fall när källkodsformateringen automatiskt radbryter långa källkodsrader. De tar hänsyn till två specialfall, nämligen att det ska finnas tillräckligt med utrymme för källkoden för djupa indenteringsnivåer och att villkor ska få extra indentering för fortsättningsrader så att de utmärks på ett riktigt sätt. </para> +<para>Inställningarna som är grupperade här gäller de fall när källkodsformateringen automatiskt radbryter långa källkodsrader. De tar hänsyn till två specialfall, nämligen att det ska finnas tillräckligt med utrymme för källkoden för djupa indenteringsnivåer och att villkor ska få extra indentering för fortsättningsrader så att de utmärks på ett riktigt sätt. </para> -<note -><para ->Det här gäller bara för fall med <emphasis ->statisk radbrytning</emphasis -> när en fast maximal radlängd används i källkodstexten. Om du ställer in editorn för att bara dynamiskt radbryta långa rader vid visning (som är möjligt i redigeringsdelprogrammet &kate;) visas oftast inte effekten av de här inställningarna. </para -></note> +<note><para>Det här gäller bara för fall med <emphasis>statisk radbrytning</emphasis> när en fast maximal radlängd används i källkodstexten. Om du ställer in editorn för att bara dynamiskt radbryta långa rader vid visning (som är möjligt i redigeringsdelprogrammet &kate;) visas oftast inte effekten av de här inställningarna. </para></note> <variablelist> <varlistentry> - <term -><guilabel ->Maximum i sats</guilabel -></term> + <term><guilabel>Maximum i sats</guilabel></term> <listitem> - <para ->Den här inställningen begränsar maximal möjlig indentering av fortsättningsrader så att det finns tillräckligt med utrymme för att texten ska förbli läsbar. Inga fortsättningsrader indenteras någonsin förbi kolumnantalet som du väljer i det här fältet. </para> - <para ->Standardinställningen är 40 kolumner (en halv standardsida på 80 kolumner). Du kan vilja öka det här värdet för att hantera bredare papper (t.ex. om du använder utskrift av källkod på liggande format). Eller minska värdet på motsvarande sätt för att ta hänsyn till större marginalinställningar för dina utskrifter. </para> + <para>Den här inställningen begränsar maximal möjlig indentering av fortsättningsrader så att det finns tillräckligt med utrymme för att texten ska förbli läsbar. Inga fortsättningsrader indenteras någonsin förbi kolumnantalet som du väljer i det här fältet. </para> + <para>Standardinställningen är 40 kolumner (en halv standardsida på 80 kolumner). Du kan vilja öka det här värdet för att hantera bredare papper (t.ex. om du använder utskrift av källkod på liggande format). Eller minska värdet på motsvarande sätt för att ta hänsyn till större marginalinställningar för dina utskrifter. </para> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Minimum i villkor</guilabel -></term> + <term><guilabel>Minimum i villkor</guilabel></term> <listitem> - <para ->Villkor eller källkod som till exempel följer en tilldelningsoperator ska ofta få en extra indentering för fortsättningsrader för att göra texten läsbar. Värdet på den extra indenteringen definieras här. </para> - <para ->Standardvärdet är <quote ->Två gånger nuvarande</quote ->, vilket betyder att fortsatta villkor får en extra indenteringsnivå jämfört med indenteringsstorleken du valt i gruppen <link linkend="setup-format-indent-filling" ->Utfyllnad</link ->. Du kan ändra den extra indenteringen till ett annat fast värde (inklusive noll) med pilarna, eller genom att direkt skriva in värdet. </para> + <para>Villkor eller källkod som till exempel följer en tilldelningsoperator ska ofta få en extra indentering för fortsättningsrader för att göra texten läsbar. Värdet på den extra indenteringen definieras här. </para> + <para>Standardvärdet är <quote>Två gånger nuvarande</quote>, vilket betyder att fortsatta villkor får en extra indenteringsnivå jämfört med indenteringsstorleken du valt i gruppen <link linkend="setup-format-indent-filling">Utfyllnad</link>. Du kan ändra den extra indenteringen till ett annat fast värde (inklusive noll) med pilarna, eller genom att direkt skriva in värdet. </para> </listitem> </varlistentry> </variablelist> @@ -1275,51 +615,34 @@ </varlistentry> </variablelist> -</sect3 -> <!-- setup-format-indent --> +</sect3> <!-- setup-format-indent --> <sect3 id="setup-format-other"> -<title ->Annan inställning av formatering</title> +<title>Annan inställning av formatering</title> <screenshot> <mediaobject> <imageobject> <imagedata fileref="SF-other.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Annan inställning av formateringsstil för källkod</phrase -></textobject> - <caption -><para ->Annan inställning av formateringsstil för källkod </para -></caption> +<textobject><phrase>Annan inställning av formateringsstil för källkod</phrase></textobject> + <caption><para>Annan inställning av formateringsstil för källkod </para></caption> </mediaobject> </screenshot> <variablelist> <varlistentry> -<term ->Styra positionen av hakparenteser</term> +<term>Styra positionen av hakparenteser</term> <listitem> -<para ->Alternativknapparna i (den något felaktigt benämnda) gruppen <guilabel ->Hakparenteser</guilabel -> styr positionen av klamrar som avdelar (C/C++) källkodstext. Det finns tre möjligheter att välja bland.</para> +<para>Alternativknapparna i (den något felaktigt benämnda) gruppen <guilabel>Hakparenteser</guilabel> styr positionen av klamrar som avdelar (C/C++) källkodstext. Det finns tre möjligheter att välja bland.</para> <variablelist> <varlistentry> - <term -><guilabel ->Bryt</guilabel -></term> + <term><guilabel>Bryt</guilabel></term> <listitem> - <para ->Det här infogar en radbrytning innan varje inledande klammer. Båda avdelande klamrar i alla block placeras på samma indenteringsnivå som blockets huvudsats.</para> + <para>Det här infogar en radbrytning innan varje inledande klammer. Båda avdelande klamrar i alla block placeras på samma indenteringsnivå som blockets huvudsats.</para> -<screen ->namespace foospace +<screen>namespace foospace { int Foo() { @@ -1336,19 +659,10 @@ </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Bifoga</guilabel -></term> + <term><guilabel>Bifoga</guilabel></term> <listitem> - <para ->Det här behåller inledande klammern i ett block på samma nivå som blockets huvudsats. Avslutande klamrar är på samma indenteringsnivå som blockets huvudsats. Det avslutande <token ->else</token -> i en <token ->if</token ->-sats hålls på samma nivå som avslutande klammer i föregående block. </para> -<screen ->namespace foospace { + <para>Det här behåller inledande klammern i ett block på samma nivå som blockets huvudsats. Avslutande klamrar är på samma indenteringsnivå som blockets huvudsats. Det avslutande <token>else</token> i en <token>if</token>-sats hålls på samma nivå som avslutande klammer i föregående block. </para> +<screen>namespace foospace { int Foo() { if (isBar) { bar(); @@ -1361,15 +675,10 @@ </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Linuxstil</guilabel -></term> + <term><guilabel>Linuxstil</guilabel></term> <listitem> - <para ->Det här är en kompromiss mellan stilarna som anges ovan. Avgränsande klamrar för funktionsblock placeras på nya rader. Klamrar som inleder ett block i en villkorssats eller snurra behålls på samma rad. </para> -<screen ->namespace foospace + <para>Det här är en kompromiss mellan stilarna som anges ovan. Avgränsande klamrar för funktionsblock placeras på nya rader. Klamrar som inleder ett block i en villkorssats eller snurra behålls på samma rad. </para> +<screen>namespace foospace { int Foo() { @@ -1388,44 +697,30 @@ </varlistentry> <varlistentry> -<term ->Styra extra mellanslag</term> +<term>Styra extra mellanslag</term> <listitem> -<para ->Normalt minimerar &tdevelop; användning av mellanslag i källkodstext. </para> +<para>Normalt minimerar &tdevelop; användning av mellanslag i källkodstext. </para> -<screen ->if (isBar(fooArg)==barValue) +<screen>if (isBar(fooArg)==barValue) </screen> -<para ->Du kan öka läsbarheten om du tvingar källkodsformateringen att infoga extra mellanslag på särskilda platser.</para> +<para>Du kan öka läsbarheten om du tvingar källkodsformateringen att infoga extra mellanslag på särskilda platser.</para> <variablelist> <varlistentry> - <term -><guilabel ->Lägg till mellanslag omkring parenteser</guilabel -></term> + <term><guilabel>Lägg till mellanslag omkring parenteser</guilabel></term> <listitem> - <para ->Vad som i själva verket avses är att lägga till mellanslag omkring text som är inom parenteser. Det ökar läsbarheten för funktionsargument och villkor.</para> -<screen ->if ( isBar( fooArg )==barValue ) + <para>Vad som i själva verket avses är att lägga till mellanslag omkring text som är inom parenteser. Det ökar läsbarheten för funktionsargument och villkor.</para> +<screen>if ( isBar( fooArg )==barValue ) </screen> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Lägg till mellanslag omkring operatorer</guilabel -></term> + <term><guilabel>Lägg till mellanslag omkring operatorer</guilabel></term> <listitem> - <para ->Det här lägger till mellanslag omkring tilldelningar och jämförelseoperatorer för att öka läsbarheten.</para> -<screen ->if (isBar(fooArg) == barValue) + <para>Det här lägger till mellanslag omkring tilldelningar och jämförelseoperatorer för att öka läsbarheten.</para> +<screen>if (isBar(fooArg) == barValue) </screen> </listitem> </varlistentry> @@ -1434,32 +729,18 @@ </varlistentry> <varlistentry> -<term ->Styra formatering av enradskonstruktioner</term> +<term>Styra formatering av enradskonstruktioner</term> <listitem> -<para ->Det finns några få tillfällen då du inte vill att källkodsformateringen ska dela en lång rad. Detta kan styras här för C/C++ kod.</para> +<para>Det finns några få tillfällen då du inte vill att källkodsformateringen ska dela en lång rad. Detta kan styras här för C/C++ kod.</para> <variablelist> <varlistentry> - <term -><guilabel ->Behåll enradssatser</guilabel -></term> - <listitem -><para ->Det här behåller enradssatser tillsammans i vissa situationer även om de överskrider en fast maximal radlängd. </para -></listitem> + <term><guilabel>Behåll enradssatser</guilabel></term> + <listitem><para>Det här behåller enradssatser tillsammans i vissa situationer även om de överskrider en fast maximal radlängd. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Behåll enradsblock</guilabel -></term> - <listitem -><para ->Det här behåller enradsblock tillsammans i vissa situationer även om de överskrider en fast maximal radlängd. </para -></listitem> + <term><guilabel>Behåll enradsblock</guilabel></term> + <listitem><para>Det här behåller enradsblock tillsammans i vissa situationer även om de överskrider en fast maximal radlängd. </para></listitem> </varlistentry> </variablelist> </listitem> @@ -1467,168 +748,80 @@ </variablelist> -</sect3 -> <!-- setup-format-other --> +</sect3> <!-- setup-format-other --> -</sect2 -> <!-- setup-format --> +</sect2> <!-- setup-format --> <sect2 id="setup-snippets"> -<title ->Anpassa verktyget för kodsnuttar</title> - -<para ->När du redigerar i &tdevelop; kan du lagra delar av kod som ofta används som <link linkend="editing-snippets" ->kodsnuttar</link ->. För att anpassa funktionerna hos delprogrammet för kodsnuttar, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du ska välja <guilabel ->Kodsnuttar</guilabel -> i trädet till vänster. Då visas följande dialogruta till höger: </para> +<title>Anpassa verktyget för kodsnuttar</title> + +<para>När du redigerar i &tdevelop; kan du lagra delar av kod som ofta används som <link linkend="editing-snippets">kodsnuttar</link>. För att anpassa funktionerna hos delprogrammet för kodsnuttar, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du ska välja <guilabel>Kodsnuttar</guilabel> i trädet till vänster. Då visas följande dialogruta till höger: </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-snippets.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Anpassa verktyget för kodsnuttar</phrase -></textobject> - <caption -><para ->Anpassa verktyget för kodsnuttar </para -></caption> +<textobject><phrase>Anpassa verktyget för kodsnuttar</phrase></textobject> + <caption><para>Anpassa verktyget för kodsnuttar </para></caption> </mediaobject> </screenshot> <variablelist> <varlistentry> -<term ->Aktivera förhandsgranskning av kodsnuttar</term> +<term>Aktivera förhandsgranskning av kodsnuttar</term> <listitem> -<para ->Markera kryssrutan <guilabel ->Visa kodsnuttens text i verktygstips</guilabel -> om du vill visa den lagrade texten i ett verktygstipsfönster så fort du håller musmarkören över den kodsnuttens rubrik.</para> +<para>Markera kryssrutan <guilabel>Visa kodsnuttens text i verktygstips</guilabel> om du vill visa den lagrade texten i ett verktygstipsfönster så fort du håller musmarkören över den kodsnuttens rubrik.</para> </listitem> </varlistentry> <varlistentry> -<term ->Arbeta med variabler i kodsnuttar</term> +<term>Arbeta med variabler i kodsnuttar</term> <listitem> -<para ->Verktyget <guilabel ->Kodsnuttar</guilabel -> tillåter varierande text på fördefinierade platser när som helst när du infogar en kodsnutt i en fil. För att åstadkomma det, tillhandahåller <guilabel ->Kodsnuttar</guilabel -> sin egen variabelmekanism. Du kan ställa in dess beteende i gruppen <guilabel ->Variabler</guilabel ->.</para> +<para>Verktyget <guilabel>Kodsnuttar</guilabel> tillåter varierande text på fördefinierade platser när som helst när du infogar en kodsnutt i en fil. För att åstadkomma det, tillhandahåller <guilabel>Kodsnuttar</guilabel> sin egen variabelmekanism. Du kan ställa in dess beteende i gruppen <guilabel>Variabler</guilabel>.</para> <variablelist> <varlistentry> - <term -><guilabel ->Avskiljare</guilabel -></term> - <listitem -><para ->Verktyget <guilabel ->Kodsnuttar</guilabel -> känner igen variabler i texten genom att omge variabelnamnet med särskilda skiljetecken. För att använda ett eget skiljetecken, ändra det fördefinierade tecknet <guilabel ->$</guilabel -> i fältet <guilabel ->Avskiljare</guilabel ->. </para -></listitem> + <term><guilabel>Avskiljare</guilabel></term> + <listitem><para>Verktyget <guilabel>Kodsnuttar</guilabel> känner igen variabler i texten genom att omge variabelnamnet med särskilda skiljetecken. För att använda ett eget skiljetecken, ändra det fördefinierade tecknet <guilabel>$</guilabel> i fältet <guilabel>Avskiljare</guilabel>. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Inmatningsmetod för variabler</guilabel -></term> - <listitem -><itemizedlist> - <listitem -><para -><guilabel ->En dialogruta för varje variabel i en kodsnutt</guilabel -> visar i tur och ordning en särskild dialogruta för varje variabel som verktyget hittar när den valda kodsnutten infogas. </para -></listitem> - <listitem -><para -><guilabel ->En dialogruta för alla variabler i en kodsnutt</guilabel -> visar en gemensam dialogruta där användaren måste fylla i värden för alla variabler innan kodsnutten infogas. </para -></listitem> - </itemizedlist -></listitem> + <term><guilabel>Inmatningsmetod för variabler</guilabel></term> + <listitem><itemizedlist> + <listitem><para><guilabel>En dialogruta för varje variabel i en kodsnutt</guilabel> visar i tur och ordning en särskild dialogruta för varje variabel som verktyget hittar när den valda kodsnutten infogas. </para></listitem> + <listitem><para><guilabel>En dialogruta för alla variabler i en kodsnutt</guilabel> visar en gemensam dialogruta där användaren måste fylla i värden för alla variabler innan kodsnutten infogas. </para></listitem> + </itemizedlist></listitem> </varlistentry> </variablelist> </listitem> </varlistentry> </variablelist> -</sect2 -> <!-- setup-snippets --> +</sect2> <!-- setup-snippets --> <sect2 id="setup-file-list"> -<title ->Fillista</title> +<title>Fillista</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-file-list--> +</sect2> <!-- setup-file-list--> <sect2 id="setup-file-selector"> -<title ->Anpassa filväljaren</title> +<title>Anpassa filväljaren</title> -<para ->&tdevelop; tillhandahåller insticksprogrammet <guilabel ->Filväljare</guilabel -> som när det laddas vid start, gör det möjligt att navigera till vilken fil eller katalog som helst på systemet. </para> +<para>&tdevelop; tillhandahåller insticksprogrammet <guilabel>Filväljare</guilabel> som när det laddas vid start, gör det möjligt att navigera till vilken fil eller katalog som helst på systemet. </para> <screenshot id="setup-fileselector-image"> <mediaobject> <imageobject> <imagedata fileref="file-selector.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Filväljaren (i IDEA-läge)</phrase -></textobject> - <caption -><para ->Filväljaren (IDEA-läge) </para -></caption> +<textobject><phrase>Filväljaren (i IDEA-läge)</phrase></textobject> + <caption><para>Filväljaren (IDEA-läge) </para></caption> </mediaobject> </screenshot> -<para ->Beteendet hos <guilabel ->Filväljaren</guilabel -> kan anpassas i stor utsträckning. Välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du ska välja <guilabel ->Filväljare</guilabel -> i trädet till vänster. Då visas följande dialogruta till höger.</para> +<para>Beteendet hos <guilabel>Filväljaren</guilabel> kan anpassas i stor utsträckning. Välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du ska välja <guilabel>Filväljare</guilabel> i trädet till vänster. Då visas följande dialogruta till höger.</para> <screenshot> @@ -1636,256 +829,118 @@ <imageobject> <imagedata fileref="configure-file-selector.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Anpassa filväljaren</phrase -></textobject> - <caption -><para ->Anpassa filväljaren </para -></caption> +<textobject><phrase>Anpassa filväljaren</phrase></textobject> + <caption><para>Anpassa filväljaren </para></caption> </mediaobject> </screenshot> <variablelist> <varlistentry> -<term ->Anpassa verktygsraden</term> +<term>Anpassa verktygsraden</term> <listitem> -<para ->Det finns en verktygsrad längst upp i <guilabel ->Filväljaren</guilabel -> som kan anpassas som vanligt i gruppen <guilabel ->Verktygsrad</guilabel ->.</para> +<para>Det finns en verktygsrad längst upp i <guilabel>Filväljaren</guilabel> som kan anpassas som vanligt i gruppen <guilabel>Verktygsrad</guilabel>.</para> <procedure id="setup-fileselector-add-action"> - <title ->Lägg till en åtgärd i verktygsraden</title> + <title>Lägg till en åtgärd i verktygsraden</title> <step> - <para ->Markera ett objekt till listan till höger <guilabel ->Aktuella åtgärder</guilabel ->, som den nya åtgärden ska infogas efter. </para> + <para>Markera ett objekt till listan till höger <guilabel>Aktuella åtgärder</guilabel>, som den nya åtgärden ska infogas efter. </para> </step> <step> - <para ->Markera åtgärden som ska infogas i listan till vänster <guilabel ->Tillgängliga åtgärder</guilabel ->. </para> + <para>Markera åtgärden som ska infogas i listan till vänster <guilabel>Tillgängliga åtgärder</guilabel>. </para> </step> <step> - <para ->Klicka på (den övre) högerpilen mellan de båda listorna. </para> - <para ->Åtgärden tas bort från listan <guilabel ->Tillgängliga åtgärder</guilabel -> och infogas i listan <guilabel ->Aktuella åtgärder</guilabel -> under den markerade åtgärden. </para> + <para>Klicka på (den övre) högerpilen mellan de båda listorna. </para> + <para>Åtgärden tas bort från listan <guilabel>Tillgängliga åtgärder</guilabel> och infogas i listan <guilabel>Aktuella åtgärder</guilabel> under den markerade åtgärden. </para> </step> </procedure> <procedure> - <title ->Ta bort en åtgärd från verktygsraden</title> + <title>Ta bort en åtgärd från verktygsraden</title> <step> - <para ->Markera åtgärden som ska tas bort i listan till höger <guilabel ->Aktuella åtgärder</guilabel ->. </para> + <para>Markera åtgärden som ska tas bort i listan till höger <guilabel>Aktuella åtgärder</guilabel>. </para> </step> <step> - <para ->Klicka på (den nedre) vänsterpilen mellan de båda listorna. </para> - <para ->Den markerade åtgärden tas bort från listan <guilabel ->Aktuella åtgärder</guilabel -> och läggs tillbaka i listan <guilabel ->Tillgängliga åtgärder</guilabel ->. </para> + <para>Klicka på (den nedre) vänsterpilen mellan de båda listorna. </para> + <para>Den markerade åtgärden tas bort från listan <guilabel>Aktuella åtgärder</guilabel> och läggs tillbaka i listan <guilabel>Tillgängliga åtgärder</guilabel>. </para> </step> </procedure> <procedure> - <title ->Ordna om åtgärderna på verktygsraden</title> + <title>Ordna om åtgärderna på verktygsraden</title> <step> - <para ->Markera åtgärden som ska flyttas i listan till höger <guilabel ->Aktuella åtgärder</guilabel ->. </para> + <para>Markera åtgärden som ska flyttas i listan till höger <guilabel>Aktuella åtgärder</guilabel>. </para> </step> <step> - <para ->Klicka på uppåt- eller neråtpilen till höger om listan. </para> - <para ->Den markerade åtgärden flyttas upp eller ner i listan <guilabel ->Aktuella åtgärder</guilabel ->. </para> + <para>Klicka på uppåt- eller neråtpilen till höger om listan. </para> + <para>Den markerade åtgärden flyttas upp eller ner i listan <guilabel>Aktuella åtgärder</guilabel>. </para> </step> </procedure> </listitem> </varlistentry> <varlistentry> -<term id="setup-fileselector-autosync" ->Definiera när innehållet ska ändras</term> +<term id="setup-fileselector-autosync">Definiera när innehållet ska ändras</term> <listitem> -<para ->Att uppdatera innehållet i fönstret <guilabel ->Filväljare</guilabel -> tar tid och resurser, särskilt vid byte till en annan katalog. Därför är <guilabel ->Filväljaren</guilabel -> normalt inställd på så sätt att dess innehåll bara ändras på begäran, dvs. när du väljer en annan katalog eller när du uttryckligen vill uppdatera innehållet. </para> - -<note -><para ->Klicka på knappen <guilabel ->Uppdatera</guilabel -> i verktygsraden för att uppdatera innehållet i <guilabel ->Filväljaren</guilabel ->. Den här verktygsradsknappen är dock inte normalt tillgänglig. Du måste först <link linkend="setup-fileselector-add-action" ->lägga till den där</link ->. </para -></note> - -<para ->Du kan ställa in <guilabel ->Filväljaren</guilabel -> att omedelbart visa vissa ändringar i ditt arbete. Inställningarna i gruppen <guilabel ->Automatisk synkronisering</guilabel -> är ansvariga för detta. </para> +<para>Att uppdatera innehållet i fönstret <guilabel>Filväljare</guilabel> tar tid och resurser, särskilt vid byte till en annan katalog. Därför är <guilabel>Filväljaren</guilabel> normalt inställd på så sätt att dess innehåll bara ändras på begäran, dvs. när du väljer en annan katalog eller när du uttryckligen vill uppdatera innehållet. </para> + +<note><para>Klicka på knappen <guilabel>Uppdatera</guilabel> i verktygsraden för att uppdatera innehållet i <guilabel>Filväljaren</guilabel>. Den här verktygsradsknappen är dock inte normalt tillgänglig. Du måste först <link linkend="setup-fileselector-add-action">lägga till den där</link>. </para></note> + +<para>Du kan ställa in <guilabel>Filväljaren</guilabel> att omedelbart visa vissa ändringar i ditt arbete. Inställningarna i gruppen <guilabel>Automatisk synkronisering</guilabel> är ansvariga för detta. </para> <variablelist> <varlistentry> - <term -><guilabel ->När ett dokument aktiveras</guilabel -></term> - <listitem -><para ->Om du markerar den här kryssrutan, uppdateras innehållet i <guilabel ->Filväljarens</guilabel -> fönster så fort du går till ett annat dokument som redan är öppnat, t.ex. när du klickar på fliken för motsvarande redigeringsfönster i IDEA-läge. Om det behövs byter <guilabel ->Filväljaren</guilabel -> till katalogen som filen tillhör och uppdaterar skärmen för att visa det verkliga innehållet där. </para -></listitem> + <term><guilabel>När ett dokument aktiveras</guilabel></term> + <listitem><para>Om du markerar den här kryssrutan, uppdateras innehållet i <guilabel>Filväljarens</guilabel> fönster så fort du går till ett annat dokument som redan är öppnat, t.ex. när du klickar på fliken för motsvarande redigeringsfönster i IDEA-läge. Om det behövs byter <guilabel>Filväljaren</guilabel> till katalogen som filen tillhör och uppdaterar skärmen för att visa det verkliga innehållet där. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->När ett dokument öppnas</guilabel -></term> - <listitem -><para ->Om du markerar den här kryssrutan, uppdateras innehållet i <guilabel ->Filväljarens</guilabel -> fönster så fort ett dokument öppnas, t.ex. via menyn <menuchoice -><guimenu ->Arkiv</guimenu -> <guimenuitem ->Öppna</guimenuitem -></menuchoice ->. Om det behövs byter <guilabel ->Filväljaren</guilabel -> till katalogen som filen tillhör och uppdaterar skärmen för att visa det verkliga innehållet där. </para -></listitem> + <term><guilabel>När ett dokument öppnas</guilabel></term> + <listitem><para>Om du markerar den här kryssrutan, uppdateras innehållet i <guilabel>Filväljarens</guilabel> fönster så fort ett dokument öppnas, t.ex. via menyn <menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Öppna</guimenuitem></menuchoice>. Om det behövs byter <guilabel>Filväljaren</guilabel> till katalogen som filen tillhör och uppdaterar skärmen för att visa det verkliga innehållet där. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->När filväljaren blir synlig</guilabel -></term> - <listitem -><para ->Om du markerar den här kryssrutan uppdateras <guilabel ->Filväljarens</guilabel -> fönster så fort det blir synligt igen. Om det behövs byter det till katalogen som aktuellt dokument tillhör och uppdatera skärmen så att det verkliga innehållet där visas. </para -></listitem> + <term><guilabel>När filväljaren blir synlig</guilabel></term> + <listitem><para>Om du markerar den här kryssrutan uppdateras <guilabel>Filväljarens</guilabel> fönster så fort det blir synligt igen. Om det behövs byter det till katalogen som aktuellt dokument tillhör och uppdatera skärmen så att det verkliga innehållet där visas. </para></listitem> </varlistentry> </variablelist> -<para ->Du kan kombinera inställningarna fritt för att skräddarsy verkligt beteende hos <guilabel ->Filväljaren</guilabel -> som du vill. </para> +<para>Du kan kombinera inställningarna fritt för att skräddarsy verkligt beteende hos <guilabel>Filväljaren</guilabel> som du vill. </para> </listitem> </varlistentry> <varlistentry> -<term ->Styra historiken i kombinationsrutorna</term> +<term>Styra historiken i kombinationsrutorna</term> <listitem> -<para ->Det finns två kombinationsrutor längst upp och längst ner i <guilabel ->Filväljarens</guilabel -> innehållsfönster som styr katalogen som visas (den övre kombinationsrutan) och filter som används för visningen (den nedre kombinationsrutan). En historik av de senaste inställningarna finns i urvalsfältet i varje kombinationsruta. Du kan ställa in antalet historikposter enligt följande.</para> +<para>Det finns två kombinationsrutor längst upp och längst ner i <guilabel>Filväljarens</guilabel> innehållsfönster som styr katalogen som visas (den övre kombinationsrutan) och filter som används för visningen (den nedre kombinationsrutan). En historik av de senaste inställningarna finns i urvalsfältet i varje kombinationsruta. Du kan ställa in antalet historikposter enligt följande.</para> <variablelist> <varlistentry> - <term -><guilabel ->Kom ihåg platser</guilabel -></term> - <listitem -><para ->Skriv in maximalt antal katalogval som den övre kombinationsrutan ska komma ihåg här. </para -></listitem> + <term><guilabel>Kom ihåg platser</guilabel></term> + <listitem><para>Skriv in maximalt antal katalogval som den övre kombinationsrutan ska komma ihåg här. </para></listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Kom ihåg filter</guilabel -></term> - <listitem -><para ->Skriv in maximalt antal filterdefinitioner som den nedre kombinationsrutan ska komma ihåg här. </para -></listitem> + <term><guilabel>Kom ihåg filter</guilabel></term> + <listitem><para>Skriv in maximalt antal filterdefinitioner som den nedre kombinationsrutan ska komma ihåg här. </para></listitem> </varlistentry> <varlistentry> -<term ->Styra vad som ska kommas ihåg mellan sessioner</term> +<term>Styra vad som ska kommas ihåg mellan sessioner</term> <listitem> -<para ->Normalt är <guilabel ->Filväljaren</guilabel -> inställd så att den visar den senaste sessionen igen när &tdevelop; startas nästa gång. Du kan ändra beteendet i inställningsgruppen <guilabel -> Session</guilabel ->. </para> - -<note -><para ->Om &tdevelop; automatiskt startades om av &kde;:s sessionshantering, så har ändringar av dessa inställningar ingen effekt. I detta fall återställs alltid plats- och filterinställningar från den senaste &kde;-sessionen. </para -></note> +<para>Normalt är <guilabel>Filväljaren</guilabel> inställd så att den visar den senaste sessionen igen när &tdevelop; startas nästa gång. Du kan ändra beteendet i inställningsgruppen <guilabel> Session</guilabel>. </para> + +<note><para>Om &tdevelop; automatiskt startades om av &kde;:s sessionshantering, så har ändringar av dessa inställningar ingen effekt. I detta fall återställs alltid plats- och filterinställningar från den senaste &kde;-sessionen. </para></note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Återställ plats</guilabel -></term> + <term><guilabel>Återställ plats</guilabel></term> <listitem> - <para ->Ta bort kryssmarkeringen här om du inte vill att platser som visas ska kommas ihåg mellan sessioner. </para> - <note -><para ->Om du markerad en av inställningarna för <link linkend="setup-fileselector-autosync" ->automatisk uppdatering</link -> kan platserna som visas automatiskt ändras oberoende av vad som har kommits ihåg från den tidigare sessionen. </para -></note> + <para>Ta bort kryssmarkeringen här om du inte vill att platser som visas ska kommas ihåg mellan sessioner. </para> + <note><para>Om du markerad en av inställningarna för <link linkend="setup-fileselector-autosync">automatisk uppdatering</link> kan platserna som visas automatiskt ändras oberoende av vad som har kommits ihåg från den tidigare sessionen. </para></note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Återställ senaste filter</guilabel -></term> + <term><guilabel>Återställ senaste filter</guilabel></term> <listitem> - <para ->Ta bort kryssmarkeringen här om du inte vill att filter som används för visningen ska kommas ihåg mellan sessioner. </para> + <para>Ta bort kryssmarkeringen här om du inte vill att filter som används för visningen ska kommas ihåg mellan sessioner. </para> </listitem> </varlistentry> </variablelist> @@ -1893,150 +948,72 @@ </varlistentry> </variablelist> -</sect2 -> <!-- setup-file-selector --> +</sect2> <!-- setup-file-selector --> <sect2 id="setup-cpp-generator"> -<title ->Skapa ny klass i C++</title> +<title>Skapa ny klass i C++</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-c++-generator--> +</sect2> <!-- setup-c++-generator--> <sect2 id="setup-formatting"> -<title ->Formatering</title> +<title>Formatering</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-formatting--> +</sect2> <!-- setup-formatting--> <sect2 id="setup-cpp-parsing"> -<title ->Tolkning av C++</title> +<title>Tolkning av C++</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-c++-parsing--> +</sect2> <!-- setup-c++-parsing--> -</sect1 -> <!-- setup-general --> +</sect1> <!-- setup-general --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="setup-docu"> -<title ->Anpassa dokumentationen</title> +<title>Anpassa dokumentationen</title> -<para ->&tdevelop; innehåller en mycket kraftfull dokumentationsfunktion som tillhandahåller möjlighet att komma åt flera olika sorters omfattande dokumentation. I IDEA-läge hittar du till exempel fliken <guilabel ->Dokumentation</guilabel -> vid arbetsområdets högerkant. </para> +<para>&tdevelop; innehåller en mycket kraftfull dokumentationsfunktion som tillhandahåller möjlighet att komma åt flera olika sorters omfattande dokumentation. I IDEA-läge hittar du till exempel fliken <guilabel>Dokumentation</guilabel> vid arbetsområdets högerkant. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="documents-contents.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Dokumentationsträdet i &tdevelop; (i IDEA-läge)</phrase -></textobject> - <caption -><para ->Dokumentationsträdet i &tdevelop; (IDEA-läge) </para -></caption> +<textobject><phrase>Dokumentationsträdet i &tdevelop; (i IDEA-läge)</phrase></textobject> + <caption><para>Dokumentationsträdet i &tdevelop; (IDEA-läge) </para></caption> </mediaobject> </screenshot> -<note -><para ->&tdevelop; måste ha laddat insticksprogrammet <guilabel ->Dokumentation</guilabel -> för att kunna visa dokumentationsträdet. Se avsnittet <link linkend="setup-plugins" ->Insticksverktyg</link -> för mer information. </para -></note> - -<para ->Du kan ställa in innehållet i dokumentationsträdet om du väljer <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa &tdevelop;...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du ska välja <guilabel ->Dokumentation</guilabel -> i fönstret till vänster. </para> - -<para -><link linkend="configure-docu-general" ->Inställningssidan</link -> som visas på så sätt, har tre inställningsdialogsidor med flikar, närmare bestämt: </para> +<note><para>&tdevelop; måste ha laddat insticksprogrammet <guilabel>Dokumentation</guilabel> för att kunna visa dokumentationsträdet. Se avsnittet <link linkend="setup-plugins">Insticksverktyg</link> för mer information. </para></note> + +<para>Du kan ställa in innehållet i dokumentationsträdet om du väljer <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa &tdevelop;...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du ska välja <guilabel>Dokumentation</guilabel> i fönstret till vänster. </para> + +<para><link linkend="configure-docu-general">Inställningssidan</link> som visas på så sätt, har tre inställningsdialogsidor med flikar, närmare bestämt: </para> <simplelist> - <member -><link linkend="setup-docu-general" ->Dokumentationssamlingar</link -></member> - <member -><link linkend="setup-docu-textsearch" ->Fulltextsökning</link -></member> - <member -><link linkend="setup-docu-other" ->Annat</link -></member> + <member><link linkend="setup-docu-general">Dokumentationssamlingar</link></member> + <member><link linkend="setup-docu-textsearch">Fulltextsökning</link></member> + <member><link linkend="setup-docu-other">Annat</link></member> </simplelist> <sect2 id="setup-docu-general"> -<title ->Ställa in dokumentationssamlingar</title> - -<para ->Anpassningen av dokumentationsinställningarna har delats upp i en serie dokumentationssamlingar, där var och en ger åtkomst till dokumentationsfiler av något unikt format och någon typ av innehåll. Inställningarna styr vilka dokumentationsposter som listas på sidan <guilabel ->Innehåll</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;, och hur användaren kan komma åt detaljer i dokumentationen med indexerade sökningar och fulltextsökningar. </para> -<para ->Fliken <guilabel ->Dokumentation</guilabel -> tillhandahåller en serie inställningssidor som är ordnade vertikalt som en hög med indexkort. En sida i taget visas efter ett klick på titeln för dess indexkort: </para> +<title>Ställa in dokumentationssamlingar</title> + +<para>Anpassningen av dokumentationsinställningarna har delats upp i en serie dokumentationssamlingar, där var och en ger åtkomst till dokumentationsfiler av något unikt format och någon typ av innehåll. Inställningarna styr vilka dokumentationsposter som listas på sidan <guilabel>Innehåll</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;, och hur användaren kan komma åt detaljer i dokumentationen med indexerade sökningar och fulltextsökningar. </para> +<para>Fliken <guilabel>Dokumentation</guilabel> tillhandahåller en serie inställningssidor som är ordnade vertikalt som en hög med indexkort. En sida i taget visas efter ett klick på titeln för dess indexkort: </para> <simplelist> - <member -><link linkend="setup-docu-general-qt" ->&Qt;-dokumentationssamling</link -></member> - <member -><link linkend="setup-docu-general-chm" ->CHM-dokumentationssamling</link -></member> - <member -><link linkend="setup-docu-general-dox" ->Doxygen-dokumentationssamling</link -></member> - <member -><link linkend="setup-docu-general-toc" ->&tdevelop; innehållsförteckning-dokumentationssamling</link -></member> - <member -><link linkend="setup-docu-general-devhelp" ->DevHelp-dokumentationssamling</link -></member> - <member -><link linkend="setup-docu-general-custom" ->Egen dokumentationssamling</link -></member> + <member><link linkend="setup-docu-general-qt">&Qt;-dokumentationssamling</link></member> + <member><link linkend="setup-docu-general-chm">CHM-dokumentationssamling</link></member> + <member><link linkend="setup-docu-general-dox">Doxygen-dokumentationssamling</link></member> + <member><link linkend="setup-docu-general-toc">&tdevelop; innehållsförteckning-dokumentationssamling</link></member> + <member><link linkend="setup-docu-general-devhelp">DevHelp-dokumentationssamling</link></member> + <member><link linkend="setup-docu-general-custom">Egen dokumentationssamling</link></member> </simplelist> <para id="configure-docu-general"> @@ -2045,72 +1022,41 @@ <imageobject> <imagedata fileref="configure-docu-general.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Ställa in dokumentationssamlingar</phrase -></textobject> - <caption -><para ->Ställa in dokumentationssamlingar </para -></caption> +<textobject><phrase>Ställa in dokumentationssamlingar</phrase></textobject> + <caption><para>Ställa in dokumentationssamlingar </para></caption> </mediaobject> </screenshot> </para> <sect3 id="setup-docu-general-common"> -<title ->Vanlig struktur för dokumentationsinställning</title> +<title>Vanlig struktur för dokumentationsinställning</title> -<para ->Alla inställningssidor under fliken <guilabel ->Dokumentation</guilabel -> använder en gemensam layout. Du hittar dokumentationsposter som för närvarande är tillgängliga, av typen som listas på den öppna sidan, till vänster och en uppsättning knappar till höger. </para> +<para>Alla inställningssidor under fliken <guilabel>Dokumentation</guilabel> använder en gemensam layout. Du hittar dokumentationsposter som för närvarande är tillgängliga, av typen som listas på den öppna sidan, till vänster och en uppsättning knappar till höger. </para> <variablelist> <varlistentry> -<term id="setup-docu-buttons" ->Knappar för att underhålla innehåll i dokumentationlistan</term> +<term id="setup-docu-buttons">Knappar för att underhålla innehåll i dokumentationlistan</term> <listitem> -<para ->Det finns tre knappar tillgängliga för att underhålla innehållet på inställningssidorna för dokumentation: </para> +<para>Det finns tre knappar tillgängliga för att underhålla innehållet på inställningssidorna för dokumentation: </para> <variablelist> <varlistentry> - <term -><guibutton ->Lägg till</guibutton -></term> + <term><guibutton>Lägg till</guibutton></term> <listitem> - <para ->Visar dialogrutan <guilabel ->Egenskaper för dokumentationskatalog</guilabel -> som visas nedan, där du kan välja källan för dokumentationsposten som ska läggas till och namnge den.</para> + <para>Visar dialogrutan <guilabel>Egenskaper för dokumentationskatalog</guilabel> som visas nedan, där du kan välja källan för dokumentationsposten som ska läggas till och namnge den.</para> </listitem> </varlistentry> <varlistentry> - <term -><guibutton ->Redigera</guibutton -></term> + <term><guibutton>Redigera</guibutton></term> <listitem> - <para ->Visar dialogrutan <guilabel ->Egenskaper för dokumentationskatalog</guilabel -> som visas nedan, där du kan ändra källan för dokumentationsposten tidigare markerad i listan och byta namn på den.</para> + <para>Visar dialogrutan <guilabel>Egenskaper för dokumentationskatalog</guilabel> som visas nedan, där du kan ändra källan för dokumentationsposten tidigare markerad i listan och byta namn på den.</para> </listitem> </varlistentry> <varlistentry> - <term -><guibutton ->Ta bort</guibutton -></term> + <term><guibutton>Ta bort</guibutton></term> <listitem> - <para ->Tar bort markerad dokumentationspost från listan.</para> - <note -><para ->Posten tas bara bort från listan. De verkliga källorna till dokumentationen förblir orörda. Du måste ta bort dem explicit på annat sätt. </para -></note> + <para>Tar bort markerad dokumentationspost från listan.</para> + <note><para>Posten tas bara bort från listan. De verkliga källorna till dokumentationen förblir orörda. Du måste ta bort dem explicit på annat sätt. </para></note> </listitem> </varlistentry> </variablelist> @@ -2120,892 +1066,381 @@ <imageobject> <imagedata fileref="configure-docu-edit.png" format="PNG"/> </imageobject> - <caption -><para ->Lägga till eller ändra en dokumentationspost </para -></caption> + <caption><para>Lägga till eller ändra en dokumentationspost </para></caption> </mediaobject> </screenshot> -<para ->Knappen till höger om fältet <guilabel ->Plats</guilabel -> visar en katalogdialogruta vars poster oftast är filtrerade enligt den valda inställningssidans filtyp. </para> -<para ->Fältet <guilabel ->Titel</guilabel -> kanske inte går att komma åt, beroende på dokumentationstypen som underhålls. </para> +<para>Knappen till höger om fältet <guilabel>Plats</guilabel> visar en katalogdialogruta vars poster oftast är filtrerade enligt den valda inställningssidans filtyp. </para> +<para>Fältet <guilabel>Titel</guilabel> kanske inte går att komma åt, beroende på dokumentationstypen som underhålls. </para> </listitem> </varlistentry> <varlistentry> -<term id="setup-docu-columns" ->Dokumentationslistans struktur</term> +<term id="setup-docu-columns">Dokumentationslistans struktur</term> <listitem> -<para ->Varje inställningssida för dokumentation visar listade dokumentationsposter i en tabell med fyra kolumner: </para> +<para>Varje inställningssida för dokumentation visar listade dokumentationsposter i en tabell med fyra kolumner: </para> <variablelist> <varlistentry> - <term -><guilabel ->Innehållsförteckning</guilabel -></term> + <term><guilabel>Innehållsförteckning</guilabel></term> <listitem> - <para ->Om kryssrutan är markerad, visas dokumentationsposten på sidan <guilabel ->Innehåll</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. </para> - <note -><para ->Genom att avmarkera kryssrutan <guilabel ->Innehållsförteckning</guilabel -> inaktiverar i sin tur kryssrutorna <guilabel ->Index</guilabel -> och <guilabel ->Sök</guilabel -> (se nedan). Alltså kan du inte ha poster i dokumentationssamlingen indexerade utan att visa deras innehåll. </para -></note> + <para>Om kryssrutan är markerad, visas dokumentationsposten på sidan <guilabel>Innehåll</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. </para> + <note><para>Genom att avmarkera kryssrutan <guilabel>Innehållsförteckning</guilabel> inaktiverar i sin tur kryssrutorna <guilabel>Index</guilabel> och <guilabel>Sök</guilabel> (se nedan). Alltså kan du inte ha poster i dokumentationssamlingen indexerade utan att visa deras innehåll. </para></note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Index</guilabel -></term> + <term><guilabel>Index</guilabel></term> <listitem> - <para ->Om kryssrutan är markerad byggs ett internt index för dokumentationsposten. Det ger snabb åtkomst till dokumentationen genom att använda sidan <guilabel ->Index</guilabel -> och (valfritt) <guilabel ->Sökning</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. </para> + <para>Om kryssrutan är markerad byggs ett internt index för dokumentationsposten. Det ger snabb åtkomst till dokumentationen genom att använda sidan <guilabel>Index</guilabel> och (valfritt) <guilabel>Sökning</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. </para> <note> - <para ->Det interna indexet byggs första gången användaren väljer sidan <guilabel ->Index</guilabel ->. Det fördröjer den första åtkomsten väsentligt, eftersom indexet läses från disk och lagras i en cache. </para> - <para ->Alla efterföljande indexsökningar använder dock cachen och är därför väsentligt snabbare. </para> + <para>Det interna indexet byggs första gången användaren väljer sidan <guilabel>Index</guilabel>. Det fördröjer den första åtkomsten väsentligt, eftersom indexet läses från disk och lagras i en cache. </para> + <para>Alla efterföljande indexsökningar använder dock cachen och är därför väsentligt snabbare. </para> </note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Sök</guilabel -></term> + <term><guilabel>Sök</guilabel></term> <listitem> - <para ->Om kryssrutan är markerad, inkluderas innehållet i dokumentationsposten i den sökvägen för fulltextsökning på sidan <guilabel ->Sök</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. </para> + <para>Om kryssrutan är markerad, inkluderas innehållet i dokumentationsposten i den sökvägen för fulltextsökning på sidan <guilabel>Sök</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. </para> <note> - <para ->&tdevelop; utnyttjar programsamlingen htdig för att utföra fulltextsökningar. Sökningen görs i ett internt index, som htdig-maskineriet måste bygga innan den kan användas. </para> - <para ->Alla ändringar av kryssrutorna under <guilabel ->Sök</guilabel -> påverkar alltså bara sökningar efter att du har byggt om indexet på sidan <guilabel ->Sök</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. </para> + <para>&tdevelop; utnyttjar programsamlingen htdig för att utföra fulltextsökningar. Sökningen görs i ett internt index, som htdig-maskineriet måste bygga innan den kan användas. </para> + <para>Alla ändringar av kryssrutorna under <guilabel>Sök</guilabel> påverkar alltså bara sökningar efter att du har byggt om indexet på sidan <guilabel>Sök</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. </para> </note> </listitem> </varlistentry> <varlistentry> - <term -><guilabel ->Titel</guilabel -></term> - <listitem -><para ->Det här är namnet på dokumentationsposten som den visas på sidan <guilabel ->Innehåll</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. </para -></listitem> + <term><guilabel>Titel</guilabel></term> + <listitem><para>Det här är namnet på dokumentationsposten som den visas på sidan <guilabel>Innehåll</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. </para></listitem> </varlistentry> </variablelist> -<note -><para ->Tidigare versioner av &tdevelop; tillät att dokumentationsposterna visades baserat på varje projekt. Det är inte längre tillgängligt. </para -></note> +<note><para>Tidigare versioner av &tdevelop; tillät att dokumentationsposterna visades baserat på varje projekt. Det är inte längre tillgängligt. </para></note> </listitem> </varlistentry> </variablelist> -</sect3 -> <!-- setup-docu-general-common --> +</sect3> <!-- setup-docu-general-common --> <sect3 id="setup-docu-general-qt"> -<title ->&Qt;-dokumentationssamlingar</title> +<title>&Qt;-dokumentationssamlingar</title> -<para ->På den här inställningssidan anpassas all &Qt;-dokumentation. </para> +<para>På den här inställningssidan anpassas all &Qt;-dokumentation. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-general.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Ställa in &Qt;-dokumentationssamlingen</phrase -></textobject> - <caption -><para ->Ställa in &Qt;-dokumentationssamlingen </para -></caption> +<textobject><phrase>Ställa in &Qt;-dokumentationssamlingen</phrase></textobject> + <caption><para>Ställa in &Qt;-dokumentationssamlingen </para></caption> </mediaobject> </screenshot> -<para ->Normalt fyller &tdevelop; i detta vid första start. Det tittar efter vanliga <filename ->*.xml</filename ->, eller <filename ->*.dcf</filename -> dokumentationsfiler i &Qt;-installationskatalogen. Tabellen till vänster listar filerna som &tdevelop; hittade med deras vanliga titlar. </para> - -<para ->Om du har en installation som inte följer standard, finns det antingen ingen information listad alls, eller kanske adresserna pekar på felaktiga platser (t.ex. på en annan installation av &Qt; som är tillgänglig på systemet). Du kan justera posterna med <link linkend="setup-docu-buttons" ->knapparna</link -> till höger om listfältet. </para> - -<note -><para ->&tdevelop; använder titlar som redan tillhandahålls av den installerade &Qt;-dokumentationen. Därför är inte fältet <guilabel ->Titel</guilabel -> i dialogrutan <guilabel ->Egenskaper för dokumentationskatalog</guilabel -> åtkomligt. </para -></note> - -<para ->Normalt visas inte all &Qt;-dokumentation på sidan <guilabel ->Innehåll</guilabel -> under funktionen <guilabel ->Dokumentation</guilabel -> i &tdevelop;. Använd kryssrutan <guilabel ->Innehållsförteckning</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellen</link -> för att välja vilken dokumentation som ska visas. </para> - -<para ->Om du vill att viss specifik &Qt;-dokumentation ska inkluderas i sökindex eller fulltextsökning, använd kryssrutorna <guilabel ->Index</guilabel -> och <guilabel ->Sök</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellerna</link ->. </para> - -</sect3 -> <!-- setup-docu-general-qt --> +<para>Normalt fyller &tdevelop; i detta vid första start. Det tittar efter vanliga <filename>*.xml</filename>, eller <filename>*.dcf</filename> dokumentationsfiler i &Qt;-installationskatalogen. Tabellen till vänster listar filerna som &tdevelop; hittade med deras vanliga titlar. </para> + +<para>Om du har en installation som inte följer standard, finns det antingen ingen information listad alls, eller kanske adresserna pekar på felaktiga platser (t.ex. på en annan installation av &Qt; som är tillgänglig på systemet). Du kan justera posterna med <link linkend="setup-docu-buttons">knapparna</link> till höger om listfältet. </para> + +<note><para>&tdevelop; använder titlar som redan tillhandahålls av den installerade &Qt;-dokumentationen. Därför är inte fältet <guilabel>Titel</guilabel> i dialogrutan <guilabel>Egenskaper för dokumentationskatalog</guilabel> åtkomligt. </para></note> + +<para>Normalt visas inte all &Qt;-dokumentation på sidan <guilabel>Innehåll</guilabel> under funktionen <guilabel>Dokumentation</guilabel> i &tdevelop;. Använd kryssrutan <guilabel>Innehållsförteckning</guilabel> i <link linkend="setup-docu-columns">inställningstabellen</link> för att välja vilken dokumentation som ska visas. </para> + +<para>Om du vill att viss specifik &Qt;-dokumentation ska inkluderas i sökindex eller fulltextsökning, använd kryssrutorna <guilabel>Index</guilabel> och <guilabel>Sök</guilabel> i <link linkend="setup-docu-columns">inställningstabellerna</link>. </para> + +</sect3> <!-- setup-docu-general-qt --> <sect3 id="setup-docu-general-chm"> -<title ->Ställa in CHM-dokumentationssamlingen</title> +<title>Ställa in CHM-dokumentationssamlingen</title> -<para ->På den här inställningssidan kan du samla dokumentation enligt &Microsoft; CHM-hjälpfilstandard. </para> +<para>På den här inställningssidan kan du samla dokumentation enligt &Microsoft; CHM-hjälpfilstandard. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-chm.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Ställa in &Microsoft; CHM-standarddokumentationsfiler</phrase -></textobject> - <caption -><para ->Ställa in &Microsoft; CHM-standarddokumentationsfiler </para -></caption> +<textobject><phrase>Ställa in &Microsoft; CHM-standarddokumentationsfiler</phrase></textobject> + <caption><para>Ställa in &Microsoft; CHM-standarddokumentationsfiler </para></caption> </mediaobject> </screenshot> -<para ->Normalt är inställningssidan tom (som visas ovan). Du kan lägga till nya poster med <link linkend="setup-docu-buttons" ->knapparna</link -> till höger om listan. &tdevelop; filtrerar <filename ->*.chm</filename ->-filer i katalogdialogrutan som hör ihop med knapparna <guibutton ->Lägg till</guibutton -> och <guibutton ->Redigera</guibutton ->. </para> - -<para ->För mer information om formatet för &Microsoft; <filename ->*.chm</filename ->-filer, se t.ex. "PHP: Documentation - Extended CHM Format" på <ulink url="http://de2.php.net/docs-echm.php" ->http://de2.php.net/docs-echm.php</ulink ->. </para> - -</sect3 -> <!-- setup-docu-general-chm --> +<para>Normalt är inställningssidan tom (som visas ovan). Du kan lägga till nya poster med <link linkend="setup-docu-buttons">knapparna</link> till höger om listan. &tdevelop; filtrerar <filename>*.chm</filename>-filer i katalogdialogrutan som hör ihop med knapparna <guibutton>Lägg till</guibutton> och <guibutton>Redigera</guibutton>. </para> + +<para>För mer information om formatet för &Microsoft; <filename>*.chm</filename>-filer, se t.ex. "PHP: Documentation - Extended CHM Format" på <ulink url="http://de2.php.net/docs-echm.php">http://de2.php.net/docs-echm.php</ulink>. </para> + +</sect3> <!-- setup-docu-general-chm --> <sect3 id="setup-docu-general-dox"> -<title ->Dokumentation skapad av Doxygen</title> +<title>Dokumentation skapad av Doxygen</title> -<para ->På den här inställningssidan anpassas all dokumentation av programmeringsgränssnitt som skapats av &doxygen;. </para> +<para>På den här inställningssidan anpassas all dokumentation av programmeringsgränssnitt som skapats av &doxygen;. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-dox.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Ställa in dokumentationen av programmeringsgränssnitt skapat av Doxygen</phrase -></textobject> - <caption -><para ->Ställa in dokumentationen av programmeringsgränssnitt skapat av Doxygen </para -></caption> +<textobject><phrase>Ställa in dokumentationen av programmeringsgränssnitt skapat av Doxygen</phrase></textobject> + <caption><para>Ställa in dokumentationen av programmeringsgränssnitt skapat av Doxygen </para></caption> </mediaobject> </screenshot> -<para ->I kortet dokumenterar ett sådant programmeringsgränssnitt gränssnittet för vissa biblioteksfunktioner. Dokumentationen av programmeringsgränssnittet på den här sidan ska skapas av det externa verktyget <ulink url="http://www.stack.nl/~dimitri/doxygen/" ->&doxygen;</ulink ->. </para> -<para ->Dokumentation av programmeringsgränssnitt skapad av &doxygen; består av en serie <filename ->html</filename ->-filer, som börjar med <filename ->index.html</filename ->. Dessutom kan det finnas <filename ->tag</filename ->-filer, som innehåller information med länkar till befintlig dokumentation av programmeringsgränssnitt. Alltså tittar &tdevelop; efter <filename ->index.html</filename -> och <filename ->*.tag</filename ->-filer vid sökning efter dokumentation av programmeringsgränssnitt skapad av &doxygen;. </para> -<para ->Vissa begränsningar i strukturen antas vid sökning efter dokumentation av programmeringsgränssnitt skapad av &doxygen;. Katalogen där filen <filename ->index.html</filename -> finns ska innehålla underkataloger med separata dokumentationssamlingar. Var och en av underkatalogerna antas innehålla en <filename ->.tag</filename ->-fil och en underkatalog vid namn <filename class="directory" ->html/</filename ->. </para> -<para ->Du kan ta en titt på <filename class="directory" ->$<envar ->TDEDIR</envar ->/share/doc/HTML/en/tdelibs-apidocs</filename -> där det finns ett exempel på en sådan layout för dokumentation av programmeringsgränssnitt med &doxygen;. </para> - -<note -><para ->&kde;:s äldre dokumentation av programmeringsgränssnitt skapat med <ulink url="http://sirtaj.net/projects/kdoc/" ->KDoc</ulink -> stöds inte direkt längre. Om du fortfarande vill använda sådan dokumentation, kan du lägga till den på sidan <link linkend="setup-docu-general-custom" ->Egen dokumentationssamling</link ->. </para -></note> - -<para ->&tdevelop; har fyllt i en länk till aktuellt programmeringsgränssnitt för &kde;-biblioteket, under förutsättning att någon hittades. Det finns flera sätt för &tdevelop; att få reda på den: </para> +<para>I kortet dokumenterar ett sådant programmeringsgränssnitt gränssnittet för vissa biblioteksfunktioner. Dokumentationen av programmeringsgränssnittet på den här sidan ska skapas av det externa verktyget <ulink url="http://www.stack.nl/~dimitri/doxygen/">&doxygen;</ulink>. </para> +<para>Dokumentation av programmeringsgränssnitt skapad av &doxygen; består av en serie <filename>html</filename>-filer, som börjar med <filename>index.html</filename>. Dessutom kan det finnas <filename>tag</filename>-filer, som innehåller information med länkar till befintlig dokumentation av programmeringsgränssnitt. Alltså tittar &tdevelop; efter <filename>index.html</filename> och <filename>*.tag</filename>-filer vid sökning efter dokumentation av programmeringsgränssnitt skapad av &doxygen;. </para> +<para>Vissa begränsningar i strukturen antas vid sökning efter dokumentation av programmeringsgränssnitt skapad av &doxygen;. Katalogen där filen <filename>index.html</filename> finns ska innehålla underkataloger med separata dokumentationssamlingar. Var och en av underkatalogerna antas innehålla en <filename>.tag</filename>-fil och en underkatalog vid namn <filename class="directory">html/</filename>. </para> +<para>Du kan ta en titt på <filename class="directory">$<envar>TDEDIR</envar>/share/doc/HTML/en/tdelibs-apidocs</filename> där det finns ett exempel på en sådan layout för dokumentation av programmeringsgränssnitt med &doxygen;. </para> + +<note><para>&kde;:s äldre dokumentation av programmeringsgränssnitt skapat med <ulink url="http://sirtaj.net/projects/kdoc/">KDoc</ulink> stöds inte direkt längre. Om du fortfarande vill använda sådan dokumentation, kan du lägga till den på sidan <link linkend="setup-docu-general-custom">Egen dokumentationssamling</link>. </para></note> + +<para>&tdevelop; har fyllt i en länk till aktuellt programmeringsgränssnitt för &kde;-biblioteket, under förutsättning att någon hittades. Det finns flera sätt för &tdevelop; att få reda på den: </para> <itemizedlist> - <listitem -><para ->Antingen angav du väljaren <option ->--with-tdelibsdoxy-dir</option -> till kommandot <command ->configure</command -> när du kompilerade &tdevelop; (se kapitlet <link linkend="make-api" ->Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</link ->). </para -></listitem> - <listitem -><para ->Eller hittade kommandot <command ->configure</command -> automatiskt ett programmeringsgränssnitt för &kde;-biblioteken som skapats med &doxygen; på en av flera standardplatser som det känner till. </para -></listitem> - <listitem -><para ->Eller som en sista utväg hittades <filename class="directory" ->$<envar ->TDEDIR</envar ->/share/doc/HTML/en/tdelibs-apidocs/</filename -> när &tdevelop; först startade. </para -></listitem> + <listitem><para>Antingen angav du väljaren <option>--with-tdelibsdoxy-dir</option> till kommandot <command>configure</command> när du kompilerade &tdevelop; (se kapitlet <link linkend="make-api">Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</link>). </para></listitem> + <listitem><para>Eller hittade kommandot <command>configure</command> automatiskt ett programmeringsgränssnitt för &kde;-biblioteken som skapats med &doxygen; på en av flera standardplatser som det känner till. </para></listitem> + <listitem><para>Eller som en sista utväg hittades <filename class="directory">$<envar>TDEDIR</envar>/share/doc/HTML/en/tdelibs-apidocs/</filename> när &tdevelop; först startade. </para></listitem> </itemizedlist> -<para ->Om &tdevelop; inte hittade ett giltigt programmeringsgränssnitt för &kde;-biblioteken som skapats med &doxygen; vid första start, är listan <guilabel ->Dokumentation skapad av Doxygen</guilabel -> tom. </para> - -<para ->Du kan lägga till dina egna poster med dokumentation av programmeringsgränssnitt (t.ex. från dina nuvarande projekt) genom att använda <link linkend="setup-docu-buttons" ->knapparna</link -> till höger. Om du vill att de ska inkluderas i indexerad sökning och/eller fulltextsökning, markera kryssrutorna <guilabel ->Index</guilabel -> eller <guilabel ->Sök</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellen</link ->. </para> - -<note -><para ->&tdevelop; använder titelinformationen från <filename ->index.html</filename ->. Därför är inte fältet <guilabel ->Titel</guilabel -> i dialogrutan <guilabel ->Egenskaper för dokumentationskatalog</guilabel -> åtkomligt. </para -></note> +<para>Om &tdevelop; inte hittade ett giltigt programmeringsgränssnitt för &kde;-biblioteken som skapats med &doxygen; vid första start, är listan <guilabel>Dokumentation skapad av Doxygen</guilabel> tom. </para> + +<para>Du kan lägga till dina egna poster med dokumentation av programmeringsgränssnitt (t.ex. från dina nuvarande projekt) genom att använda <link linkend="setup-docu-buttons">knapparna</link> till höger. Om du vill att de ska inkluderas i indexerad sökning och/eller fulltextsökning, markera kryssrutorna <guilabel>Index</guilabel> eller <guilabel>Sök</guilabel> i <link linkend="setup-docu-columns">inställningstabellen</link>. </para> + +<note><para>&tdevelop; använder titelinformationen från <filename>index.html</filename>. Därför är inte fältet <guilabel>Titel</guilabel> i dialogrutan <guilabel>Egenskaper för dokumentationskatalog</guilabel> åtkomligt. </para></note> <tip> - <para ->&kde;-systemet tillhandahåller mer dokumentation av programmeringsgränssnittet än bara &kde;-bibliotekens programmeringsgränssnitt. Du behöver ytterligare information om gränssnitt om du t.ex. vill inkludera &kate;-delprogrammet i dina program. För &kate;-delprogrammet ska du till exempel kompilera och installera &kde;:s programmeringsgränssnitt för basbiblioteken från <ulink url="http://developer.kde.org/source/index.html" ->källkoden</ulink -> (genom att använda kommandona <command ->make apidox</command -> och <command ->make install</command -> för källkoden i <filename class="directory" ->tdebase</filename ->) och därefter lägga till en post i listan <guilabel ->Dokumentation skapad av Doxygen</guilabel -> på detta sätt: </para> - <screenshot -><mediaobject> + <para>&kde;-systemet tillhandahåller mer dokumentation av programmeringsgränssnittet än bara &kde;-bibliotekens programmeringsgränssnitt. Du behöver ytterligare information om gränssnitt om du t.ex. vill inkludera &kate;-delprogrammet i dina program. För &kate;-delprogrammet ska du till exempel kompilera och installera &kde;:s programmeringsgränssnitt för basbiblioteken från <ulink url="http://developer.kde.org/source/index.html">källkoden</ulink> (genom att använda kommandona <command>make apidox</command> och <command>make install</command> för källkoden i <filename class="directory">tdebase</filename>) och därefter lägga till en post i listan <guilabel>Dokumentation skapad av Doxygen</guilabel> på detta sätt: </para> + <screenshot><mediaobject> <imageobject> <imagedata fileref="configure-adddialog-baselibs.png" format="PNG"/> </imageobject> -<textobject -><phrase ->Lägga till ett basprogrammeringsgränssnitt för &kde; i listan</phrase -></textobject> - <caption -><para ->Lägga till ett basprogrammeringsgränssnitt för &kde; i listan </para -></caption> - </mediaobject -></screenshot> - <para ->(Du ska förstås ersätta exempelkatalogen <filename class="directory" ->/opt/kde-cvs/</filename -> i fältet <guilabel ->Plats</guilabel -> med sökvägen till din &kde;-installation.) </para> +<textobject><phrase>Lägga till ett basprogrammeringsgränssnitt för &kde; i listan</phrase></textobject> + <caption><para>Lägga till ett basprogrammeringsgränssnitt för &kde; i listan </para></caption> + </mediaobject></screenshot> + <para>(Du ska förstås ersätta exempelkatalogen <filename class="directory">/opt/kde-cvs/</filename> i fältet <guilabel>Plats</guilabel> med sökvägen till din &kde;-installation.) </para> </tip> -<note -><para ->Du måste också lägga till programmeringsgränssnittet för ditt nuvarande projekt i <guilabel ->Doxygen-dokumentationssamling</guilabel ->. Tidigare versioner av &tdevelop; lade till det i dokumentationsträdet baserat på varje projekt. Det är inte längre tillgängligt. </para -></note> +<note><para>Du måste också lägga till programmeringsgränssnittet för ditt nuvarande projekt i <guilabel>Doxygen-dokumentationssamling</guilabel>. Tidigare versioner av &tdevelop; lade till det i dokumentationsträdet baserat på varje projekt. Det är inte längre tillgängligt. </para></note> -</sect3 -> <!-- setup-docu-general-dox --> +</sect3> <!-- setup-docu-general-dox --> <sect3 id="setup-docu-general-toc"> -<title ->Hantera strukturerad dokumentation (KDevelop innehållsförteckningsfiler)</title> +<title>Hantera strukturerad dokumentation (KDevelop innehållsförteckningsfiler)</title> -<para ->Huvuddelen av &tdevelop;s dokumentationsfunktion tillhandahåller omedelbar åtkomst av strukturerad dokumentation, både lokal och fjärrdokument. Du kan ställa in det på sidan <guilabel ->KDevelop-innehållsdokumentation</guilabel ->. </para> +<para>Huvuddelen av &tdevelop;s dokumentationsfunktion tillhandahåller omedelbar åtkomst av strukturerad dokumentation, både lokal och fjärrdokument. Du kan ställa in det på sidan <guilabel>KDevelop-innehållsdokumentation</guilabel>. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-toc.png" format="PNG"/> </imageobject> - <caption -><para ->Tillhandahålla dokumentationsåtkomst strukturerad med KDevelop innehållsförteckning </para -></caption> + <caption><para>Tillhandahålla dokumentationsåtkomst strukturerad med KDevelop innehållsförteckning </para></caption> </mediaobject> </screenshot> -<para ->&tdevelop; levereras med en samling fördefinierade KDevelop innehållsförteckningsfiler som automatiskt läggs till i tabellen vid installation. För att hålla visningen hanterbar, är bara de oftast använda markerade för att visas. Om du vill se annan dokumentation, markera kryssrutan <guilabel ->Innehållsförteckning</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellen</link ->. </para> - -<para ->KDevelop innehållsförteckningsfiler kan inte indexeras för att utföra fulltextsökning eftersom de oftast pekar på fjärrplatser. Å andra sidan, kan en sådan <filename ->.toc</filename ->-fil ha ett manuellt definierat index, med taggen <computeroutput -><index></computeroutput ->. Alltså aktiveras kryssrutan <guilabel ->index</guilabel -> bara när &tdevelop; hittar taggen <computeroutput -><index></computeroutput -> i <filename ->.toc</filename ->-filen. (För mer information, se beskrivningen nedan i avsnittet om <link linkend="setup-docu-general-toc-files" ->&tdevelop; innehållsförteckningsfiler</link ->.) </para> -<para ->Kryssrutan <guilabel ->Sök</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellen</link -> är alltid inaktiv. </para> - -<para ->Du kan lägga till nya poster med <link linkend="setup-docu-buttons" ->knapparna</link -> till höger om listan. &tdevelop; filtrerar <filename ->*.toc</filename ->-filer i katalogdialogrutan som hör ihop med knapparna <guibutton ->Lägg till</guibutton -> och <guibutton ->Redigera</guibutton ->. </para> - -<note -><para ->I motsats till tidigare versioner av &tdevelop;, så ändrar inte knappen <guibutton ->Ta bort</guibutton -> <filename ->*.toc</filename ->-filerna på disk, så borttagningsåtgärden är nu säker. </para -></note> - -</sect3 -> <!-- setup-docu-general-toc --> +<para>&tdevelop; levereras med en samling fördefinierade KDevelop innehållsförteckningsfiler som automatiskt läggs till i tabellen vid installation. För att hålla visningen hanterbar, är bara de oftast använda markerade för att visas. Om du vill se annan dokumentation, markera kryssrutan <guilabel>Innehållsförteckning</guilabel> i <link linkend="setup-docu-columns">inställningstabellen</link>. </para> + +<para>KDevelop innehållsförteckningsfiler kan inte indexeras för att utföra fulltextsökning eftersom de oftast pekar på fjärrplatser. Å andra sidan, kan en sådan <filename>.toc</filename>-fil ha ett manuellt definierat index, med taggen <computeroutput><index></computeroutput>. Alltså aktiveras kryssrutan <guilabel>index</guilabel> bara när &tdevelop; hittar taggen <computeroutput><index></computeroutput> i <filename>.toc</filename>-filen. (För mer information, se beskrivningen nedan i avsnittet om <link linkend="setup-docu-general-toc-files">&tdevelop; innehållsförteckningsfiler</link>.) </para> +<para>Kryssrutan <guilabel>Sök</guilabel> i <link linkend="setup-docu-columns">inställningstabellen</link> är alltid inaktiv. </para> + +<para>Du kan lägga till nya poster med <link linkend="setup-docu-buttons">knapparna</link> till höger om listan. &tdevelop; filtrerar <filename>*.toc</filename>-filer i katalogdialogrutan som hör ihop med knapparna <guibutton>Lägg till</guibutton> och <guibutton>Redigera</guibutton>. </para> + +<note><para>I motsats till tidigare versioner av &tdevelop;, så ändrar inte knappen <guibutton>Ta bort</guibutton> <filename>*.toc</filename>-filerna på disk, så borttagningsåtgärden är nu säker. </para></note> + +</sect3> <!-- setup-docu-general-toc --> <sect3 id="setup-docu-general-toc-files"> -<title ->&tdevelop; innehållsförteckningsfiler</title> - -<para ->Det finns en särskild funktion som hör ihop med detta. Som illustration, utför följande steg: Hitta en post strax under dokumentationen för &Qt; och &kde; (t.ex. <quote ->KDE2 Development Book (kde.org)</quote ->). Klicka på plustecknet intill den. Ett träd visas, där du snabbt kan navigera till efterföljande kapitel som finns på en hierarkisk nivå flera nivåer djupare, allt utan att vara uppkopplad. Men om du till sist väljer ett av kapitlen, försöker &tdevelop; i många fall komma åt en <emphasis ->fjärrfil</emphasis -> med dokumentation. </para> - -<para ->Den logiska grunden för detta är inte bara att lokalt kunna navigera i fjärrdokumentation utan att slösa med nätverksresurser, utan också att ge utvecklare en enkel strukturerad åtkomst till dokumentation som behövs. Med verktygen som tillhandahålls här kan man komma åt nästan vilken lokal eller fjärrdokumentation som helst på ett strukturerat sätt, även om originalet är utan struktur eller strukturerat på ett annat sätt. Allt som behövs är åtkomst till filer och/eller delar av filer som kan visas av Konqueror. </para> - -<para ->Sådan strukturerad åtkomst blir möjlig genom användning av särskilda filer med <quote ->innehållsförteckning</quote ->, som anges med filändelsen <filename ->.toc</filename ->. Alla sådana &tdevelop;-innehållsförteckningsfiler innehåller en strukturerad &XML;-beskrivning av dokumentet som ska kommas åt. </para> +<title>&tdevelop; innehållsförteckningsfiler</title> + +<para>Det finns en särskild funktion som hör ihop med detta. Som illustration, utför följande steg: Hitta en post strax under dokumentationen för &Qt; och &kde; (t.ex. <quote>KDE2 Development Book (kde.org)</quote>). Klicka på plustecknet intill den. Ett träd visas, där du snabbt kan navigera till efterföljande kapitel som finns på en hierarkisk nivå flera nivåer djupare, allt utan att vara uppkopplad. Men om du till sist väljer ett av kapitlen, försöker &tdevelop; i många fall komma åt en <emphasis>fjärrfil</emphasis> med dokumentation. </para> + +<para>Den logiska grunden för detta är inte bara att lokalt kunna navigera i fjärrdokumentation utan att slösa med nätverksresurser, utan också att ge utvecklare en enkel strukturerad åtkomst till dokumentation som behövs. Med verktygen som tillhandahålls här kan man komma åt nästan vilken lokal eller fjärrdokumentation som helst på ett strukturerat sätt, även om originalet är utan struktur eller strukturerat på ett annat sätt. Allt som behövs är åtkomst till filer och/eller delar av filer som kan visas av Konqueror. </para> + +<para>Sådan strukturerad åtkomst blir möjlig genom användning av särskilda filer med <quote>innehållsförteckning</quote>, som anges med filändelsen <filename>.toc</filename>. Alla sådana &tdevelop;-innehållsförteckningsfiler innehåller en strukturerad &XML;-beskrivning av dokumentet som ska kommas åt. </para> <variablelist> <varlistentry> -<term ->Standardkatalog för &tdevelop; innehållsförteckningsfiler</term> +<term>Standardkatalog för &tdevelop; innehållsförteckningsfiler</term> <listitem> -<para ->När &tdevelop; installerades har en serie med fördefinierade <filename ->.toc</filename ->-filer oftast placerats i katalogen <filename class="directory" ->$TDEDIR/share/apps/kdevdocumentation/tocs</filename ->. De är ganska enkla, strukturerade textfiler. Du kan titta på dem med en texteditor eller ett annat verktyg för att visa text. </para> +<para>När &tdevelop; installerades har en serie med fördefinierade <filename>.toc</filename>-filer oftast placerats i katalogen <filename class="directory">$TDEDIR/share/apps/kdevdocumentation/tocs</filename>. De är ganska enkla, strukturerade textfiler. Du kan titta på dem med en texteditor eller ett annat verktyg för att visa text. </para> </listitem> -</varlistentry -></variablelist> +</varlistentry></variablelist> <!-- FIXME: Lauri Watts (2005-05-03) This could be marked up a whole lot --> <!-- more clearly with the sgmltags stuff. Making a note to do that once --> <!-- this first revision is done. --> <variablelist id="toc-file-structure"> - <title ->Grundstruktur för &tdevelop; innehållsförteckningsfiler</title> + <title>Grundstruktur för &tdevelop; innehållsförteckningsfiler</title> <varlistentry> - <term ->huvud</term> + <term>huvud</term> <listitem> <simplelist> <member> - <computeroutput -><!DOCTYPE tdeveloptoc></computeroutput> + <computeroutput><!DOCTYPE tdeveloptoc></computeroutput> </member> <member> - <computeroutput -><tdeveloptoc></computeroutput> + <computeroutput><tdeveloptoc></computeroutput> </member> <member> - <emphasis ->(titel)</emphasis> + <emphasis>(titel)</emphasis> </member> <member> - <emphasis ->(basadress)</emphasis> + <emphasis>(basadress)</emphasis> </member> <member> - <emphasis ->(innehållsstruktur)</emphasis> + <emphasis>(innehållsstruktur)</emphasis> </member> <member> - <emphasis ->(indexstruktur)</emphasis> + <emphasis>(indexstruktur)</emphasis> </member> <member> - <computeroutput -></tdeveloptoc></computeroutput> + <computeroutput></tdeveloptoc></computeroutput> </member> </simplelist> - <para ->&XML;-strukturen tolkas av &tdevelop;s insticksprogram <guilabel ->Dokumentation</guilabel -> för att skapa dokumentationsträdets innehåll och hjälpa användaren att navigera i dokumentationen. Den innehåller all information som behövs för att visa titlar och komma åt dokumentationsfilernas innehåll. </para> + <para>&XML;-strukturen tolkas av &tdevelop;s insticksprogram <guilabel>Dokumentation</guilabel> för att skapa dokumentationsträdets innehåll och hjälpa användaren att navigera i dokumentationen. Den innehåller all information som behövs för att visa titlar och komma åt dokumentationsfilernas innehåll. </para> </listitem> </varlistentry> <varlistentry> - <term ->titel</term> + <term>titel</term> <listitem> <simplelist> - <member -><computeroutput -><title></computeroutput -> <emphasis ->(någon titelsträng)</emphasis -> <computeroutput -></title></computeroutput -> </member> + <member><computeroutput><title></computeroutput> <emphasis>(någon titelsträng)</emphasis> <computeroutput></title></computeroutput> </member> </simplelist> - <para ->Det här är titeln som &tdevelop; visar på grundnivån i dokumentationsträdet. </para> - <note -><para ->Titeln som visas kan inte ändras av användaren. Om du vill att en annan text ska visas, måste du ändra posten <computeroutput -><title></computeroutput -> för hand i <filename ->.toc</filename ->-filen. </para -></note> + <para>Det här är titeln som &tdevelop; visar på grundnivån i dokumentationsträdet. </para> + <note><para>Titeln som visas kan inte ändras av användaren. Om du vill att en annan text ska visas, måste du ändra posten <computeroutput><title></computeroutput> för hand i <filename>.toc</filename>-filen. </para></note> </listitem> </varlistentry> <varlistentry> - <term ->basadress</term> + <term>basadress</term> <listitem> <simplelist> - <member -><computeroutput -><base href="</computeroutput -> <emphasis ->(basdokumentets webbadress)</emphasis -> <computeroutput ->"/></computeroutput -> </member> + <member><computeroutput><base href="</computeroutput> <emphasis>(basdokumentets webbadress)</emphasis> <computeroutput>"/></computeroutput> </member> </simplelist> - <para ->Webbadressen pekar på platsen där alla dokumentationens filer finns. Den läggs till i början av varje avsnittswebbadress i följande innehållsstrukturlista. Om du t.ex. laddar ner dokumentation från en fjärrserver, är allt du behöver göra för att visa filerna på den nya platsen att ändra webbadressen <computeroutput -><base></computeroutput ->. </para> + <para>Webbadressen pekar på platsen där alla dokumentationens filer finns. Den läggs till i början av varje avsnittswebbadress i följande innehållsstrukturlista. Om du t.ex. laddar ner dokumentation från en fjärrserver, är allt du behöver göra för att visa filerna på den nya platsen att ändra webbadressen <computeroutput><base></computeroutput>. </para> </listitem> </varlistentry> <varlistentry> - <term ->innehållsstruktur</term> + <term>innehållsstruktur</term> <listitem> <simplelist> - <member -><computeroutput -><tocsect1 name="</computeroutput -> <emphasis ->(avsnittstitel)</emphasis -> <computeroutput ->" url="</computeroutput -> <emphasis ->(avsnittswebbadress)</emphasis -> <computeroutput ->"></computeroutput -> </member> - <member ->...</member> - <member -><computeroutput -><tocsectn name="</computeroutput -> <emphasis ->(avsnittstitel)</emphasis -> <computeroutput ->" url="</computeroutput -> <emphasis ->(avsnittswebbadress)</emphasis -> <computeroutput ->"/></computeroutput -> </member> - <member ->...</member> + <member><computeroutput><tocsect1 name="</computeroutput> <emphasis>(avsnittstitel)</emphasis> <computeroutput>" url="</computeroutput> <emphasis>(avsnittswebbadress)</emphasis> <computeroutput>"></computeroutput> </member> + <member>...</member> + <member><computeroutput><tocsectn name="</computeroutput> <emphasis>(avsnittstitel)</emphasis> <computeroutput>" url="</computeroutput> <emphasis>(avsnittswebbadress)</emphasis> <computeroutput>"/></computeroutput> </member> + <member>...</member> <member> - <computeroutput -></tocsect1></computeroutput> + <computeroutput></tocsect1></computeroutput> </member> </simplelist> - <para ->All återstående navigerings- och åtkomstinformation lagras i en serie hierarkiska <computeroutput -><tocsecti></computeroutput -> ... <computeroutput -></tocsecti></computeroutput -> par. Varje <emphasis ->i</emphasis -> anger följande hierarkiska nivå ner till talet <emphasis ->n</emphasis -> som motsvarar dokumentationsavsnittet som visas sist. </para> - <para ->Alla poster <computeroutput -><tocsecti></computeroutput -> måste ha motsvarande egenskap <computeroutput ->name="xxx"</computeroutput -> ("xxx" representerar den verkliga titelsträngen). Den visas som nivåns titel i dokumentationsträdet. Den ska motsvara ett verkligt avsnitt av dokumentationen. </para> - <para ->Det kan finnas en egenskap <computeroutput ->url=""</computeroutput -> som hör ihop med vilken hierarkisk nivå <emphasis ->i</emphasis -> som helst. När användaren klickar på en avsnittstitel i dokumentationsträdet försöker &tdevelop; komma åt filen på platsen som pekas på den kombinerade bas- och avsnittswebbadressen. </para> - <para ->Posten <computeroutput -><tocsectn/></computeroutput -> måste hur som helst ha egenskapen <computeroutput ->url=""</computeroutput ->. Detta sista hierarkiska <computeroutput -><tocsectn/></computeroutput -> ingår inte i ett par, utan avslutas omedelbart av <computeroutput ->/</computeroutput -> innan tecknet <computeroutput ->></computeroutput ->. </para> - <note -><para ->Vilken adress som helst som kombinerar bas- och avsnittswebbadress måste peka på en textfil som går att visa. Oftast är det en HTML strukturerad fil. Det är möjligt att länka till ankarmärken inne i en sådan HTML-fil genom att använda den vanliga #-beteckningen med formatet <filename ->/baswebbadress/sektionswebbadress#ankarmärke</filename ->. </para -></note> + <para>All återstående navigerings- och åtkomstinformation lagras i en serie hierarkiska <computeroutput><tocsecti></computeroutput> ... <computeroutput></tocsecti></computeroutput> par. Varje <emphasis>i</emphasis> anger följande hierarkiska nivå ner till talet <emphasis>n</emphasis> som motsvarar dokumentationsavsnittet som visas sist. </para> + <para>Alla poster <computeroutput><tocsecti></computeroutput> måste ha motsvarande egenskap <computeroutput>name="xxx"</computeroutput> ("xxx" representerar den verkliga titelsträngen). Den visas som nivåns titel i dokumentationsträdet. Den ska motsvara ett verkligt avsnitt av dokumentationen. </para> + <para>Det kan finnas en egenskap <computeroutput>url=""</computeroutput> som hör ihop med vilken hierarkisk nivå <emphasis>i</emphasis> som helst. När användaren klickar på en avsnittstitel i dokumentationsträdet försöker &tdevelop; komma åt filen på platsen som pekas på den kombinerade bas- och avsnittswebbadressen. </para> + <para>Posten <computeroutput><tocsectn/></computeroutput> måste hur som helst ha egenskapen <computeroutput>url=""</computeroutput>. Detta sista hierarkiska <computeroutput><tocsectn/></computeroutput> ingår inte i ett par, utan avslutas omedelbart av <computeroutput>/</computeroutput> innan tecknet <computeroutput>></computeroutput>. </para> + <note><para>Vilken adress som helst som kombinerar bas- och avsnittswebbadress måste peka på en textfil som går att visa. Oftast är det en HTML strukturerad fil. Det är möjligt att länka till ankarmärken inne i en sådan HTML-fil genom att använda den vanliga #-beteckningen med formatet <filename>/baswebbadress/sektionswebbadress#ankarmärke</filename>. </para></note> </listitem> </varlistentry> <varlistentry> - <term ->indexstruktur</term> + <term>indexstruktur</term> <listitem> <simplelist> <member> - <computeroutput -><index></computeroutput> + <computeroutput><index></computeroutput> </member> - <member -><computeroutput -><entry name="</computeroutput -> <emphasis ->(indexposttitel)</emphasis -> <computeroutput ->" url="</computeroutput -> <emphasis ->(webbadress till indexavsnitt)</emphasis -> <computeroutput ->"/></computeroutput -> </member> + <member><computeroutput><entry name="</computeroutput> <emphasis>(indexposttitel)</emphasis> <computeroutput>" url="</computeroutput> <emphasis>(webbadress till indexavsnitt)</emphasis> <computeroutput>"/></computeroutput> </member> <member> - <computeroutput -></index></computeroutput> + <computeroutput></index></computeroutput> </member> </simplelist> - <para ->Index är en enkel lista med indexposter, par med titel och webbadress. Ett index krävs inte. </para> + <para>Index är en enkel lista med indexposter, par med titel och webbadress. Ett index krävs inte. </para> </listitem> </varlistentry> </variablelist> <!-- FIXME: End --> -</sect3 -> <!-- setup-docu-general-toc-files --> +</sect3> <!-- setup-docu-general-toc-files --> <sect3 id="setup-docu-general-devhelp"> -<title ->DevHelp-dokumentation</title> - -<para ->DevHelp-dokumentation är ett annat sätt att komma åt strukturerad dokumentation. Den använder en strukturerad innehållsförteckning som anges av filändelsen <filename ->.devhelp</filename -> på liknande sätt som <link linkend="setup-docu-general-toc-files" ->&tdevelop;-innehållsfiler</link -> för att komma åt dokumentation för GNOME 2- skrivbordet. </para> -<para ->Du kan styra vilka DevHelp-filer som ska vara tillgängliga på inställningssidan <guilabel ->DevHelp-dokumentationssamling</guilabel ->. </para> +<title>DevHelp-dokumentation</title> + +<para>DevHelp-dokumentation är ett annat sätt att komma åt strukturerad dokumentation. Den använder en strukturerad innehållsförteckning som anges av filändelsen <filename>.devhelp</filename> på liknande sätt som <link linkend="setup-docu-general-toc-files">&tdevelop;-innehållsfiler</link> för att komma åt dokumentation för GNOME 2- skrivbordet. </para> +<para>Du kan styra vilka DevHelp-filer som ska vara tillgängliga på inställningssidan <guilabel>DevHelp-dokumentationssamling</guilabel>. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-devhelp.png" format="PNG"/> </imageobject> - <caption -><para ->Tillhandahålla DevHelp-dokumentation </para -></caption> + <caption><para>Tillhandahålla DevHelp-dokumentation </para></caption> </mediaobject> </screenshot> -<para ->DevHelp-filer kunde ursprungligen kommas åt på webbplatsen <ulink url="http://lidn.sourceforge.net/" ->LIDN</ulink ->, men det verkar som om den inte underhålls sedan en tid tillbaka. Senare DevHelp-dokumentation är tillgänglig på webbsidan <ulink url="http://htmlhelp.berlios.de/books/devhelp.php" ->DevHelp Books Download</ulink ->. </para> - -<para ->När &tdevelop; installeras, försöker det hitta alla <filename ->.devhelp</filename ->-filer på vissa standardplatser i systemet, t.ex. underkatalogerna i <filename class="directory" ->/opt/gnome/share/</filename ->. Från början markeras inte filerna för visning. Om du vill se annan dokumentation, markera kryssrutan <guilabel ->Innehållsförteckning</guilabel -> i <link linkend="setup-docu-columns" ->inställningstabellen</link ->. </para> - -<para ->Du kan lägga till nya poster med <link linkend="setup-docu-buttons" ->knapparna</link -> till höger om listan. &tdevelop; filtrerar <filename ->*.toc</filename ->-filer i katalogdialogrutan som hör ihop med knapparna <guibutton ->Lägg till</guibutton -> och <guibutton ->Redigera</guibutton ->. </para> - -</sect3 -> <!-- setup-docu-general-devhelp --> +<para>DevHelp-filer kunde ursprungligen kommas åt på webbplatsen <ulink url="http://lidn.sourceforge.net/">LIDN</ulink>, men det verkar som om den inte underhålls sedan en tid tillbaka. Senare DevHelp-dokumentation är tillgänglig på webbsidan <ulink url="http://htmlhelp.berlios.de/books/devhelp.php">DevHelp Books Download</ulink>. </para> + +<para>När &tdevelop; installeras, försöker det hitta alla <filename>.devhelp</filename>-filer på vissa standardplatser i systemet, t.ex. underkatalogerna i <filename class="directory">/opt/gnome/share/</filename>. Från början markeras inte filerna för visning. Om du vill se annan dokumentation, markera kryssrutan <guilabel>Innehållsförteckning</guilabel> i <link linkend="setup-docu-columns">inställningstabellen</link>. </para> + +<para>Du kan lägga till nya poster med <link linkend="setup-docu-buttons">knapparna</link> till höger om listan. &tdevelop; filtrerar <filename>*.toc</filename>-filer i katalogdialogrutan som hör ihop med knapparna <guibutton>Lägg till</guibutton> och <guibutton>Redigera</guibutton>. </para> + +</sect3> <!-- setup-docu-general-devhelp --> <sect3 id="setup-docu-general-custom"> -<title ->Ställa in egna dokumentationssamlingar</title> +<title>Ställa in egna dokumentationssamlingar</title> -<para ->Det här är till för dina egna syften. Du kan lägga till nästan vilka dokumentationsfiler som helst här, under förutsättning att de kan visas av insticksprogram i &konqueror;. </para> +<para>Det här är till för dina egna syften. Du kan lägga till nästan vilka dokumentationsfiler som helst här, under förutsättning att de kan visas av insticksprogram i &konqueror;. </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-docu-custom.png" format="PNG"/> </imageobject> - <caption -><para ->Tillhandahålla egen dokumentation </para -></caption> + <caption><para>Tillhandahålla egen dokumentation </para></caption> </mediaobject> </screenshot> -<para ->Oftast är den här samlingen tom när &tdevelop; först startas. Vi har avsiktligt fyllt i den med ett objekt för att visa poststrukturen. </para> -<para ->Här är hanteringen är rättfram. Använd <link linkend="setup-docu-buttons" ->knapparna</link -> till höger om listan för att lägga till, redigera eller ta bort dokumentationsposter. &tdevelop; filtrerar inte någonting i katalogdialogrutan som hör ihop med knapparna <guibutton ->Lägg till</guibutton -> och <guibutton ->Redigera</guibutton ->. </para> - -<para ->Du måste explicit välja posterna för att visa dem i &tdevelop;s dokumentationsfunktion. Markera kryssrutan <guilabel ->Innehållsförteckning</guilabel -> för posten i <link linkend="setup-docu-columns" ->inställningstabellen</link ->. </para> - -<note -><para ->Egen dokumentation kan inte indexeras eller sökas. Därför har inte kryssrutorna <guilabel ->Index</guilabel -> och <guilabel ->Sök</guilabel -> någon effekt här, som visas ovan. </para -></note> - -</sect3 -> <!--- setup-docu-general-custom --> - -</sect2 -> <!-- setup-docu-general --> +<para>Oftast är den här samlingen tom när &tdevelop; först startas. Vi har avsiktligt fyllt i den med ett objekt för att visa poststrukturen. </para> +<para>Här är hanteringen är rättfram. Använd <link linkend="setup-docu-buttons">knapparna</link> till höger om listan för att lägga till, redigera eller ta bort dokumentationsposter. &tdevelop; filtrerar inte någonting i katalogdialogrutan som hör ihop med knapparna <guibutton>Lägg till</guibutton> och <guibutton>Redigera</guibutton>. </para> + +<para>Du måste explicit välja posterna för att visa dem i &tdevelop;s dokumentationsfunktion. Markera kryssrutan <guilabel>Innehållsförteckning</guilabel> för posten i <link linkend="setup-docu-columns">inställningstabellen</link>. </para> + +<note><para>Egen dokumentation kan inte indexeras eller sökas. Därför har inte kryssrutorna <guilabel>Index</guilabel> och <guilabel>Sök</guilabel> någon effekt här, som visas ovan. </para></note> + +</sect3> <!--- setup-docu-general-custom --> + +</sect2> <!-- setup-docu-general --> <sect2 id="setup-docu-textsearch"> -<title ->Inställning av index för textsökning</title> +<title>Inställning av index för textsökning</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="configure-doctree-textsearch.png" format="PNG"/> </imageobject> - <caption -><para ->Inställning av index för textsökning </para -></caption> + <caption><para>Inställning av index för textsökning </para></caption> </mediaobject> </screenshot> -</sect2 -> <!-- setup-docu-textsearch --> +</sect2> <!-- setup-docu-textsearch --> <sect2 id="setup-docu-other"> -<title ->Andra inställningar av dokumentationssamlingen</title> +<title>Andra inställningar av dokumentationssamlingen</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-docu-other --> +</sect2> <!-- setup-docu-other --> -</sect1 -> <!-- setup-docu --> +</sect1> <!-- setup-docu --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="setup-advanced"> -<title ->Avancerade inställningar</title> +<title>Avancerade inställningar</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <sect2 id="setup-plugins"> -<title ->Insticksverktyg</title> +<title>Insticksverktyg</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- setup-plugins --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- setup-plugins --> -</sect1 -> <!-- setup-advanced --> +</sect1> <!-- setup-advanced --> -</chapter -> <!-- setup --> +</chapter> <!-- setup --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/survey-manual.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/survey-manual.docbook index b48567645da..6ff4b946c84 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/survey-manual.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/survey-manual.docbook @@ -1,328 +1,181 @@ <chapter id="survey-manual"> -<title ->Vad handboken innehåller</title> +<title>Vad handboken innehåller</title> -<para ->Den här användarmanualen är avsedd att beskriva innehållet och användningen av den integrerade utvecklingsmiljön (IDE) &tdevelop; &kdevrelease; från användarens perspektiv. Det är inte en programmeringsmanual, och inte heller beskriver den utvecklingsprocessen i detalj. Det enda målet är att hjälpa dig med hanteringen av den integrerade utvecklingsmiljön. </para> -<para ->Här hittar du information om följande ämnen: </para> +<para>Den här användarmanualen är avsedd att beskriva innehållet och användningen av den integrerade utvecklingsmiljön (IDE) &tdevelop; &kdevrelease; från användarens perspektiv. Det är inte en programmeringsmanual, och inte heller beskriver den utvecklingsprocessen i detalj. Det enda målet är att hjälpa dig med hanteringen av den integrerade utvecklingsmiljön. </para> +<para>Här hittar du information om följande ämnen: </para> <variablelist> <varlistentry> -<term -><link linkend="getting-started" ->Komma igång med &tdevelop;: En guidad tur</link -> </term> +<term><link linkend="getting-started">Komma igång med &tdevelop;: En guidad tur</link> </term> <listitem> -<para ->Ger dig en snabb genomgång av hur det grafiska gränssnittet används, med en introduktion av de grundläggande stegen för att arbeta med ett projekt.</para -></listitem> +<para>Ger dig en snabb genomgång av hur det grafiska gränssnittet används, med en introduktion av de grundläggande stegen för att arbeta med ett projekt.</para></listitem> </varlistentry> <varlistentry> -<term -><link linkend="tdevelop-survey" ->Översikt av funktioner i &tdevelop;</link -></term> +<term><link linkend="tdevelop-survey">Översikt av funktioner i &tdevelop;</link></term> <listitem> -<para ->Fördjupar den guidade turen i föregående kapitel, ger en översikt av vad som är inbyggt i &tdevelop; och gör dig bekant med utseendet och känslan i den integrerade utvecklingsmiljön.</para> +<para>Fördjupar den guidade turen i föregående kapitel, ger en översikt av vad som är inbyggt i &tdevelop; och gör dig bekant med utseendet och känslan i den integrerade utvecklingsmiljön.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="setup" ->Anpassa &tdevelop;</link -></term> +<term><link linkend="setup">Anpassa &tdevelop;</link></term> <listitem> -<para ->Visar hur du kan skräddarsy den integrerade utvecklingsmiljön för att passa dina behov.</para> +<para>Visar hur du kan skräddarsy den integrerade utvecklingsmiljön för att passa dina behov.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="applicationwizard" ->Komma igång: Programguiden</link -></term> +<term><link linkend="applicationwizard">Komma igång: Programguiden</link></term> <listitem> -<para ->Beskriver grunderna i hur ett nytt projekt ställs in i &tdevelop; med den inbyggda programguiden.</para> +<para>Beskriver grunderna i hur ett nytt projekt ställs in i &tdevelop; med den inbyggda programguiden.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="editing" ->Redigeringsverktyg</link -></term> +<term><link linkend="editing">Redigeringsverktyg</link></term> <listitem> -<para ->Allt du behöver för att skriva källkoden. Från hur editorn används, hur textsökning både lokalt och i hela projektet görs, till hur nya filer och klasser integreras i projektet.</para> +<para>Allt du behöver för att skriva källkoden. Från hur editorn används, hur textsökning både lokalt och i hela projektet görs, till hur nya filer och klasser integreras i projektet.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="file-browsers" ->Filbläddrarna</link -></term> +<term><link linkend="file-browsers">Filbläddrarna</link></term> <listitem> -<para ->Demonstrerar diverse verktyg för att titta på projektets struktur och hur du kommer åt filerna du vill arbeta med.</para> +<para>Demonstrerar diverse verktyg för att titta på projektets struktur och hur du kommer åt filerna du vill arbeta med.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="class-browsers" ->Klassbläddrarna</link -></term> +<term><link linkend="class-browsers">Klassbläddrarna</link></term> <listitem> -<para ->Beskriver ett av de mest kraftfulla verktygen i &tdevelop;, som låter dig navigera i klassberoenden och låter dig enkelt skapa och komma åt de klasser och metoder du behöver. </para> +<para>Beskriver ett av de mest kraftfulla verktygen i &tdevelop;, som låter dig navigera i klassberoenden och låter dig enkelt skapa och komma åt de klasser och metoder du behöver. </para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="documentation" ->Dokumentation</link -></term> +<term><link linkend="documentation">Dokumentation</link></term> <listitem> -<para ->Visar hur man kommer åt den omfattande inbyggda dokumentationen som &tdevelop; tillhandahåller, och talar om hur du skapar dokumentation av projektet, en koncis och kraftfull dokumentation av programmeringsgränssnittet, som ger dig en översikt över all källkod i projektet samt en docbook-baserad användardokumentation.</para> +<para>Visar hur man kommer åt den omfattande inbyggda dokumentationen som &tdevelop; tillhandahåller, och talar om hur du skapar dokumentation av projektet, en koncis och kraftfull dokumentation av programmeringsgränssnittet, som ger dig en översikt över all källkod i projektet samt en docbook-baserad användardokumentation.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="project-management" ->Bygga och projekthantering</link -></term> +<term><link linkend="project-management">Bygga och projekthantering</link></term> <listitem> -<para ->Handlar om att skapa och hantera projekt, beskriver grunderna i användning av autoconf och automake, samt hur egna byggfiler skapas och hur kompilator- och bygginställningar används för att skräddarsy programmet för att passa dina behov.</para> +<para>Handlar om att skapa och hantera projekt, beskriver grunderna i användning av autoconf och automake, samt hur egna byggfiler skapas och hur kompilator- och bygginställningar används för att skräddarsy programmet för att passa dina behov.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="adv-build-management" ->Avancerad bygghantering</link -></term> +<term><link linkend="adv-build-management">Avancerad bygghantering</link></term> <listitem> -<para ->Tittar på sätt att hålla flera bygginställningar, för att korskompilera till olika plattformar, eller skapa inbyggda system med biblioteket <application ->Qt/embedded</application ->.</para> +<para>Tittar på sätt att hålla flera bygginställningar, för att korskompilera till olika plattformar, eller skapa inbyggda system med biblioteket <application>Qt/embedded</application>.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="debugger" ->Avlusargränssnittet</link -></term> +<term><link linkend="debugger">Avlusargränssnittet</link></term> <listitem> -<para ->Beskriver hur det integrerade avlusargränssnittet till avlusaren <application ->gdb</application -> används, så att du kan jaga fel utan att lämna &tdevelop;.</para> +<para>Beskriver hur det integrerade avlusargränssnittet till avlusaren <application>gdb</application> används, så att du kan jaga fel utan att lämna &tdevelop;.</para> </listitem> </varlistentry> <!-- ### Currently disabled. Probably too specialized programming stuff. Check later again. - <listitem -><para> - <link linkend="python" ->Python</link -> — an overview of how to create Python-based applications in &tdevelop;. - </para -></listitem> - <listitem -><para> - <link linkend="php" ->PHP</link -> — an overview of how to create PHP-based HTML applications in &tdevelop;. - </para -></listitem ->//--> + <listitem><para> + <link linkend="python">Python</link> — an overview of how to create Python-based applications in &tdevelop;. + </para></listitem> + <listitem><para> + <link linkend="php">PHP</link> — an overview of how to create PHP-based HTML applications in &tdevelop;. + </para></listitem>//--> <varlistentry> -<term -><link linkend="cvs" ->Använda CVS</link -></term> +<term><link linkend="cvs">Använda CVS</link></term> <listitem> -<para ->Talar om för dig hur du kan underhålla projektet med CVS-versionshanteringssystem, en nödvändighet särskilt om många utvecklare arbetar med samma projekt.</para> +<para>Talar om för dig hur du kan underhålla projektet med CVS-versionshanteringssystem, en nödvändighet särskilt om många utvecklare arbetar med samma projekt.</para> </listitem> </varlistentry> </variablelist> <!-- - <listitem -><para> - <link linkend="tdevelop-scripting" ->Scripting &tdevelop;</link -> — describes how to add scripts to automate &tdevelop;. - </para -></listitem> + <listitem><para> + <link linkend="tdevelop-scripting">Scripting &tdevelop;</link> — describes how to add scripts to automate &tdevelop;. + </para></listitem> - <listitem -><para> - Some commonly used information has been put into the <emphasis ->appendix</emphasis ->. Amongst others this consists of: + <listitem><para> + Some commonly used information has been put into the <emphasis>appendix</emphasis>. Amongst others this consists of: --> -<para ->En del ofta använd information har placerats i <emphasis ->appendix</emphasis ->. Bland annat består den av: </para> +<para>En del ofta använd information har placerats i <emphasis>appendix</emphasis>. Bland annat består den av: </para> <variablelist> <varlistentry> -<term -><link linkend="tdevelop-install" ->Installera &tdevelop;</link -></term> +<term><link linkend="tdevelop-install">Installera &tdevelop;</link></term> <listitem> -<para ->Talar om var man skaffar &tdevelop;, och hur man får det att köra.</para> +<para>Talar om var man skaffar &tdevelop;, och hur man får det att köra.</para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> -<term -><link linkend="nutshell" ->I korthet — Tips och trick</link -></term> +<term><link linkend="nutshell">I korthet — Tips och trick</link></term> <listitem> -<para ->En snabbreferens till de oftast använda kommandona och åtgärderna, och en kort guide för att lösa vanliga problem vid arbete med &tdevelop;.</para> +<para>En snabbreferens till de oftast använda kommandona och åtgärderna, och en kort guide för att lösa vanliga problem vid arbete med &tdevelop;.</para> </listitem> </varlistentry> <varlistentry> -<term -><link linkend="unixdev" ->Utveckling på &UNIX;</link -></term> +<term><link linkend="unixdev">Utveckling på &UNIX;</link></term> <listitem> -<para ->En historisk översikt över programutveckling på &UNIX;, de viktigaste verktygen som behövs och varför man behöver en integrerad utvecklingsmiljö.</para> +<para>En historisk översikt över programutveckling på &UNIX;, de viktigaste verktygen som behövs och varför man behöver en integrerad utvecklingsmiljö.</para> </listitem> </varlistentry> <!-- - <listitem -><para> - <link linkend="app-menus" ->Menus and Toolbars Overview</link -> — provides you with a short overall view of the menu and toolbar selections available. - </para -></listitem> + <listitem><para> + <link linkend="app-menus">Menus and Toolbars Overview</link> — provides you with a short overall view of the menu and toolbar selections available. + </para></listitem> - <listitem -><para> - <link linkend="app-shortcuts" ->Shortcut Keys</link -> — the keys you can use to work with &tdevelop; without resorting to the mouse. - </para -></listitem> + <listitem><para> + <link linkend="app-shortcuts">Shortcut Keys</link> — the keys you can use to work with &tdevelop; without resorting to the mouse. + </para></listitem> --> <varlistentry> -<term -><link linkend="app-files" ->Inställningsfiler som används av &tdevelop;</link -></term> -<listitem -><para ->Listar filerna som &tdevelop; använder för att spara sin interna information. Detta är särskilt användbart om något har blivit fel i dina inställningar.</para> +<term><link linkend="app-files">Inställningsfiler som används av &tdevelop;</link></term> +<listitem><para>Listar filerna som &tdevelop; använder för att spara sin interna information. Detta är särskilt användbart om något har blivit fel i dina inställningar.</para> </listitem> </varlistentry> -<varlistentry -><term> -<link linkend="plugin-tools" ->Insticksverktyg</link> -</term -><listitem -><para ->Listar insticksverktygen du kan använda för att skräddarsy &tdevelop;s möjligheter för dina behov. </para -></listitem -></varlistentry> +<varlistentry><term> +<link linkend="plugin-tools">Insticksverktyg</link> +</term><listitem><para>Listar insticksverktygen du kan använda för att skräddarsy &tdevelop;s möjligheter för dina behov. </para></listitem></varlistentry> <!-- - <listitem -><para> - <link linkend="plugin-tools" ->Plugin tools</link -> — provides you with an overview of the parts which make up &tdevelop; and how you can tailor it to suit your needs by only loading the parts that are necessary, both IDE and project-wide. - </para -></listitem> + <listitem><para> + <link linkend="plugin-tools">Plugin tools</link> — provides you with an overview of the parts which make up &tdevelop; and how you can tailor it to suit your needs by only loading the parts that are necessary, both IDE and project-wide. + </para></listitem> --> -<varlistentry -><term -> -<link linkend="app-uimodes-examples" ->Exempel på lägen i användargränssnittet för &tdevelop; </link> -</term -><listitem -><para ->Visar lägen för användargränssnittet. </para -></listitem -></varlistentry> +<varlistentry><term> +<link linkend="app-uimodes-examples">Exempel på lägen i användargränssnittet för &tdevelop; </link> +</term><listitem><para>Visar lägen för användargränssnittet. </para></listitem></varlistentry> -<varlistentry -><term> -<link linkend="app-misc-info" ->Ytterligare information </link -> </term -><listitem -><para ->Hämta information, rapportera fel, etc. </para -></listitem -></varlistentry> +<varlistentry><term> +<link linkend="app-misc-info">Ytterligare information </link> </term><listitem><para>Hämta information, rapportera fel, etc. </para></listitem></varlistentry> -<varlistentry -><term> -<link linkend="app-changelog" ->Ändringslogg </link> -</term -><listitem -><para ->Visar dokumentets historik. </para -></listitem -></varlistentry> +<varlistentry><term> +<link linkend="app-changelog">Ändringslogg </link> +</term><listitem><para>Visar dokumentets historik. </para></listitem></varlistentry> -<varlistentry -><term> -<link linkend="app-bibliography" ->Bibliografi </link -> -</term -><listitem -><para ->Bibliografi </para -></listitem -></varlistentry> +<varlistentry><term> +<link linkend="app-bibliography">Bibliografi </link> +</term><listitem><para>Bibliografi </para></listitem></varlistentry> -</variablelist -> +</variablelist> <!-- - <listitem -><para> - <link linkend="documentation-index" ->Index </link -> — - </para -></listitem> + <listitem><para> + <link linkend="documentation-index">Index </link> — + </para></listitem> --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-install.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-install.docbook index e6a6c069f8f..c1078f05b56 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-install.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-install.docbook @@ -2,977 +2,396 @@ <appendixinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> - <author -><firstname ->Anne-Marie</firstname -><surname ->Mahfouf</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> + <author><firstname>Anne-Marie</firstname><surname>Mahfouf</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </appendixinfo> -<title ->Installera &tdevelop;</title> +<title>Installera &tdevelop;</title> <indexterm zone="tdevelop-install"> - <primary ->Installation</primary -></indexterm> - -<para ->I det här kapitlet beskriver vi alla steg som behövs för att kompilera och installera den integrerade utvecklingsmiljön &tdevelop;: <itemizedlist> - <listitem -><para -><link linkend="tdevelop-install-howto" ->Hur man skaffar &tdevelop;</link -> koncentrerar sig på hur man laddar ner den senaste källkoden för &tdevelop; från SVN. </para -></listitem> - <listitem -><para -><link linkend="requirements" ->Krav för &tdevelop;</link -> listar programmen och biblioteken som du måste ha installerade för att kompilera den integrerade utvecklingsmiljön med lyckat resultat. </para -></listitem> - <listitem -><para -><link linkend="compile-and-install" ->Kompilering och installation av &tdevelop;</link -> leder dig igenom alla steg för kompilering och installation av programmet. </para -></listitem> - <listitem -><para -><link linkend="make-api" ->Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</link -> talar om vad ett programmeringsgränssnitt är och hur du skaffar ett så användbart verktyg för navigering i källkoden för &tdevelop;. </para -></listitem> + <primary>Installation</primary></indexterm> + +<para>I det här kapitlet beskriver vi alla steg som behövs för att kompilera och installera den integrerade utvecklingsmiljön &tdevelop;: <itemizedlist> + <listitem><para><link linkend="tdevelop-install-howto">Hur man skaffar &tdevelop;</link> koncentrerar sig på hur man laddar ner den senaste källkoden för &tdevelop; från SVN. </para></listitem> + <listitem><para><link linkend="requirements">Krav för &tdevelop;</link> listar programmen och biblioteken som du måste ha installerade för att kompilera den integrerade utvecklingsmiljön med lyckat resultat. </para></listitem> + <listitem><para><link linkend="compile-and-install">Kompilering och installation av &tdevelop;</link> leder dig igenom alla steg för kompilering och installation av programmet. </para></listitem> + <listitem><para><link linkend="make-api">Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</link> talar om vad ett programmeringsgränssnitt är och hur du skaffar ett så användbart verktyg för navigering i källkoden för &tdevelop;. </para></listitem> </itemizedlist> </para> <sect1 id="tdevelop-install-howto"> -<title ->Hur man skaffar &tdevelop;</title> +<title>Hur man skaffar &tdevelop;</title> <indexterm zone="tdevelop-install-howto"> - <primary ->skaffa &tdevelop;</primary -></indexterm> + <primary>skaffa &tdevelop;</primary></indexterm> <indexterm zone="tdevelop-install-howto"> - <primary ->&tdevelop;</primary> - <secondary ->skaffa</secondary -></indexterm> - -<para ->&tdevelop; är tillgänglig i binärform från många olika &Linux;-distributioner som SuSE, RedHat med flera. Binärfilerna är paketerade på något bekvämt sätt, oftast RPM, för att enkelt kunna installeras. Följ standardinstruktionerna som ges i distributionen för att installera. </para> -<para ->Du kan mycket väl skaffa källkoden för &tdevelop;, kompilera och installera den själv. Källkoden hittas via projektets hemsida på <ulink url="http://www.kdevelop.org" ->http://www.kdevelop.org</ulink -> eller via <ulink url="http://download.kde.org" ->&kde;:s FTP-plats</ulink ->. </para> + <primary>&tdevelop;</primary> + <secondary>skaffa</secondary></indexterm> + +<para>&tdevelop; är tillgänglig i binärform från många olika &Linux;-distributioner som SuSE, RedHat med flera. Binärfilerna är paketerade på något bekvämt sätt, oftast RPM, för att enkelt kunna installeras. Följ standardinstruktionerna som ges i distributionen för att installera. </para> +<para>Du kan mycket väl skaffa källkoden för &tdevelop;, kompilera och installera den själv. Källkoden hittas via projektets hemsida på <ulink url="http://www.kdevelop.org">http://www.kdevelop.org</ulink> eller via <ulink url="http://download.kde.org">&kde;:s FTP-plats</ulink>. </para> <sect2 id="howto-svn"> -<title ->Hämta dagsfärska versioner av &tdevelop; från SVN</title> +<title>Hämta dagsfärska versioner av &tdevelop; från SVN</title> <indexterm zone="howto-svn"> - <primary ->SVN</primary -></indexterm> - -<para ->Om du vill ta del av aktuell utveckling, är versioner från det anonyma SVN-arkivet tillgängliga.</para> -<para ->Modulnamnet är <emphasis ->tdevelop</emphasis -> med <filename class="directory" ->svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop</filename ->. </para> + <primary>SVN</primary></indexterm> + +<para>Om du vill ta del av aktuell utveckling, är versioner från det anonyma SVN-arkivet tillgängliga.</para> +<para>Modulnamnet är <emphasis>tdevelop</emphasis> med <filename class="directory">svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop</filename>. </para> <sect3 id="howto-svn-co"> -<title ->Ursprunglig utcheckning från SVN</title> +<title>Ursprunglig utcheckning från SVN</title> <indexterm zone="howto-svn-co"> - <primary ->utcheckning</primary -></indexterm> + <primary>utcheckning</primary></indexterm> <indexterm zone="howto-svn-co"> - <primary ->&tdevelop;</primary> - <secondary ->SVN</secondary> - <tertiary ->utcheckning</tertiary -></indexterm> - -<para ->För att skaffa en ursprunglig version av &tdevelop; måste du ladda ner den från anonym SVN. Följ bara stegen nedan för den här så kallade <emphasis ->utcheckningsåtgärden</emphasis ->. </para> - -<note -><para ->Vi antar att du vill placera din kopia av &tdevelop; i underkatalogen <filename class="directory" ->kde3src</filename -> i din hemkatalog (<filename class="directory" ->~</filename ->). </para -></note> - -<informalexample -><simplelist> - <member -># Skapa målkatalogen, om det behövs: </member> - <member -><prompt ->~> </prompt -> <userinput ->mkdir kde3src</userinput -> </member> - <member -><prompt ->~> </prompt -> <userinput ->cd kde3src</userinput -> </member> - <member -><prompt ->~/kde3src> </prompt -> <userinput ->svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop</userinput -> </member> - <member -><prompt ->~/kde3src> </prompt -> <userinput ->cd tdevelop</userinput -> </member> -</simplelist -></informalexample> - -<note -><para ->När du väl har lyckats checka ut din version av &tdevelop;, kan du hänga med i ändringarna genom att använda uppdateringsproceduren som visas i nästa avsnitt. </para -></note> - -<important -><para ->Håll serverns last nere. <emphasis ->Var vänlig att inte checka ut varje gång du vill få en aktuell version av &tdevelop;!</emphasis -> Använd SVN update för detta syfte. </para -></important> - -<para ->Nu kan du kompilera din version av &tdevelop; som visas i avsnittet <link linkend="compile-and-install" ->Kompilering och installation av &tdevelop;</link ->. </para> - -</sect3 -> <!-- howto-svn-co --> + <primary>&tdevelop;</primary> + <secondary>SVN</secondary> + <tertiary>utcheckning</tertiary></indexterm> + +<para>För att skaffa en ursprunglig version av &tdevelop; måste du ladda ner den från anonym SVN. Följ bara stegen nedan för den här så kallade <emphasis>utcheckningsåtgärden</emphasis>. </para> + +<note><para>Vi antar att du vill placera din kopia av &tdevelop; i underkatalogen <filename class="directory">kde3src</filename> i din hemkatalog (<filename class="directory">~</filename>). </para></note> + +<informalexample><simplelist> + <member># Skapa målkatalogen, om det behövs: </member> + <member><prompt>~> </prompt> <userinput>mkdir kde3src</userinput> </member> + <member><prompt>~> </prompt> <userinput>cd kde3src</userinput> </member> + <member><prompt>~/kde3src> </prompt> <userinput>svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop</userinput> </member> + <member><prompt>~/kde3src> </prompt> <userinput>cd tdevelop</userinput> </member> +</simplelist></informalexample> + +<note><para>När du väl har lyckats checka ut din version av &tdevelop;, kan du hänga med i ändringarna genom att använda uppdateringsproceduren som visas i nästa avsnitt. </para></note> + +<important><para>Håll serverns last nere. <emphasis>Var vänlig att inte checka ut varje gång du vill få en aktuell version av &tdevelop;!</emphasis> Använd SVN update för detta syfte. </para></important> + +<para>Nu kan du kompilera din version av &tdevelop; som visas i avsnittet <link linkend="compile-and-install">Kompilering och installation av &tdevelop;</link>. </para> + +</sect3> <!-- howto-svn-co --> <sect3 id="howto-svn-up"> -<title ->Hålla din kopia av SVN aktuell</title> +<title>Hålla din kopia av SVN aktuell</title> <indexterm zone="howto-svn-up"> - <primary ->uppdatera</primary -></indexterm> + <primary>uppdatera</primary></indexterm> <indexterm zone="howto-svn-up"> - <primary ->&tdevelop;</primary> - <secondary ->SVN</secondary> - <tertiary ->uppdatera</tertiary -></indexterm> - -<para ->Efter du checkat ut &tdevelop; från SVN som visas ovan (och kompilerat med lyckat resultat), vill du hålla den aktuell för att få med alla programfixar. Följ då stegen nedan. (Återigen antar vi att du har placerat din kopia av &tdevelop; i katalogen <filename class="directory" ->kde3src</filename ->.) </para> -<para ->Observera kommandot <command ->up</command -> (= <emphasis ->update</emphasis ->) istället för <command ->co</command -> (vilket betyder <emphasis ->checkout</emphasis ->). </para> - -<informalexample -><simplelist> - <member -><prompt ->~> </prompt -> <userinput ->cd kde3src</userinput -> </member> - <member -><prompt ->~/kde3src> </prompt -> <userinput ->cd tdevelop</userinput -> </member> - <member -><prompt ->~/kde3src> </prompt -> <userinput ->svn up</userinput -> </member> -</simplelist -></informalexample> - -<note -><para ->Håll ett öga på meddelanden som SVN visar under uppdateringssekvensen. De exakta stegen i kompileringssekvensen beror på dem. </para -></note> - -<para ->Nu kan du kompilera en ny version av &tdevelop; som visas i kapitlet <link linkend="compile-and-install-make-svn" ->Särskilda hänsyn vid kompilering från SVN</link ->. </para> -</sect3 -> <!-- howto-svn-up --> - -</sect2 -> <!-- howto-svn --> - -</sect1 -> <!-- howto --> + <primary>&tdevelop;</primary> + <secondary>SVN</secondary> + <tertiary>uppdatera</tertiary></indexterm> + +<para>Efter du checkat ut &tdevelop; från SVN som visas ovan (och kompilerat med lyckat resultat), vill du hålla den aktuell för att få med alla programfixar. Följ då stegen nedan. (Återigen antar vi att du har placerat din kopia av &tdevelop; i katalogen <filename class="directory">kde3src</filename>.) </para> +<para>Observera kommandot <command>up</command> (= <emphasis>update</emphasis>) istället för <command>co</command> (vilket betyder <emphasis>checkout</emphasis>). </para> + +<informalexample><simplelist> + <member><prompt>~> </prompt> <userinput>cd kde3src</userinput> </member> + <member><prompt>~/kde3src> </prompt> <userinput>cd tdevelop</userinput> </member> + <member><prompt>~/kde3src> </prompt> <userinput>svn up</userinput> </member> +</simplelist></informalexample> + +<note><para>Håll ett öga på meddelanden som SVN visar under uppdateringssekvensen. De exakta stegen i kompileringssekvensen beror på dem. </para></note> + +<para>Nu kan du kompilera en ny version av &tdevelop; som visas i kapitlet <link linkend="compile-and-install-make-svn">Särskilda hänsyn vid kompilering från SVN</link>. </para> +</sect3> <!-- howto-svn-up --> + +</sect2> <!-- howto-svn --> + +</sect1> <!-- howto --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="requirements"> -<title ->Krav för &tdevelop;</title> +<title>Krav för &tdevelop;</title> <indexterm zone="requirements"> - <primary ->krav</primary -></indexterm> + <primary>krav</primary></indexterm> <indexterm zone="requirements"> - <primary ->&tdevelop;</primary> - <secondary ->krav</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>krav</secondary></indexterm> <indexterm zone="requirements"> - <primary ->GNU</primary> - <secondary ->krav</secondary -></indexterm> + <primary>GNU</primary> + <secondary>krav</secondary></indexterm> -<para ->För att kompilera och använda &tdevelop; med lyckat resultat, behöver du följande program och bibliotek. De är tillgängliga på de flesta plattformar som distributionspaket, och kan därigenom lätt installeras. </para> +<para>För att kompilera och använda &tdevelop; med lyckat resultat, behöver du följande program och bibliotek. De är tillgängliga på de flesta plattformar som distributionspaket, och kan därigenom lätt installeras. </para> <itemizedlist> -<title ->Krävs</title> +<title>Krävs</title> <listitem> - <para -><application ->gcc/g++</application -> 2.95.3 eller senare (eller motsvarande) <indexterm> - <primary ->gcc</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>gcc/g++</application> 2.95.3 eller senare (eller motsvarande) <indexterm> + <primary>gcc</primary> + <secondary>krav</secondary></indexterm> <indexterm> - <primary ->g++</primary> - <secondary ->krav</secondary -></indexterm> + <primary>g++</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="gcc.gnu.org" ->gcc.gnu.org</ulink -> </para> + <para>Tillgänglig från <ulink url="gcc.gnu.org">gcc.gnu.org</ulink> </para> </listitem> <listitem> - <para -><application ->&GNU; make</application -> (eller motsvarande) <indexterm> - <primary ->make</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>&GNU; make</application> (eller motsvarande) <indexterm> + <primary>make</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.gnu.org/software/make" ->www.gnu.org/software/make</ulink -> </para> + <para>Tillgänglig från <ulink url="www.gnu.org/software/make">www.gnu.org/software/make</ulink> </para> </listitem> <listitem> - <para ->&perl; 5.004 (eller senare) <indexterm> - <primary ->Perl</primary> - <secondary ->krav</secondary -></indexterm> + <para>&perl; 5.004 (eller senare) <indexterm> + <primary>Perl</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.perl.com" ->www.perl.com</ulink -> </para> + <para>Tillgänglig från <ulink url="www.perl.com">www.perl.com</ulink> </para> </listitem> <listitem> - <para -><application ->autoconf</application -> ≥ 2.52 (eller senare) <indexterm> - <primary ->autoconf</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>autoconf</application> ≥ 2.52 (eller senare) <indexterm> + <primary>autoconf</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.gnu.org/software/autoconf" ->www.gnu.org/software/autoconf</ulink -> </para> + <para>Tillgänglig från <ulink url="www.gnu.org/software/autoconf">www.gnu.org/software/autoconf</ulink> </para> </listitem> <listitem> - <para -><application ->automake</application -> ≥ 1.6 (eller senare) <indexterm> - <primary ->automake</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>automake</application> ≥ 1.6 (eller senare) <indexterm> + <primary>automake</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.gnu.org/software/automake" ->www.gnu.org/software/automake</ulink -> </para> + <para>Tillgänglig från <ulink url="www.gnu.org/software/automake">www.gnu.org/software/automake</ulink> </para> </listitem> <listitem> - <para -><application ->flex</application -> 2.5.4 (eller senare) <indexterm> - <primary ->flex</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>flex</application> 2.5.4 (eller senare) <indexterm> + <primary>flex</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.gnu.org/software/flex" ->www.gnu.org/software/flex</ulink -> </para> + <para>Tillgänglig från <ulink url="www.gnu.org/software/flex">www.gnu.org/software/flex</ulink> </para> </listitem> <listitem> - <para ->&Qt; ≥ 3.3.0 (eller senare) <indexterm> - <primary ->Qt</primary> - <secondary ->krav</secondary -></indexterm> + <para>&Qt; ≥ 3.3.0 (eller senare) <indexterm> + <primary>Qt</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.trolltech.com/products/qt" ->www.trolltech.com/products/qt</ulink -> </para> + <para>Tillgänglig från <ulink url="www.trolltech.com/products/qt">www.trolltech.com/products/qt</ulink> </para> </listitem> <listitem> - <para -><application ->KDE</application -> ≥ 3.4.0 (eller senare) <indexterm> - <primary ->KDE</primary> - <secondary ->krav</secondary -></indexterm> + <para><application>KDE</application> ≥ 3.4.0 (eller senare) <indexterm> + <primary>KDE</primary> + <secondary>krav</secondary></indexterm> </para> - <para ->Tillgänglig från <ulink url="www.kde.org" ->www.kde.org</ulink -> </para> + <para>Tillgänglig från <ulink url="www.kde.org">www.kde.org</ulink> </para> </listitem> </itemizedlist> <itemizedlist> -<title ->Valfritt:</title> - <listitem -><para ->Verktyget <emphasis -><application ->ctags</application -></emphasis -> för källkodsnavigering, från <ulink url="http://ctags.sourceforge.net" ->http://ctags.sourceforge.net</ulink ->, som ger dig snabb åtkomst till deklarationer och definitioner med några få enkla klick på ett namn i editorn. <indexterm -><primary ->ctags</primary -></indexterm> - </para -></listitem> - <listitem -><para ->Kompilatorn <emphasis -><application ->dot</application -></emphasis -> för grafikspråk, från <ulink url="http://www.graphviz.org" ->http:/www.graphviz.org</ulink ->. Verktyget behövs tillsammans med &doxygen; nedan, om du vill visa klassförhållanden grafiskt (vilket starkt rekommenderas). <indexterm -><primary ->dot</primary -></indexterm> - </para -></listitem> - <listitem -><para ->Dokumentationsverktyget <emphasis ->&doxygen;</emphasis ->, från <ulink url="http://www.doxygen.org" ->http://www.doxygen.org</ulink ->, om du vill skapa koncis och kraftfull dokumentation av programmeringsgränssnittet för dina projekt. <indexterm -><primary ->doxygen</primary -></indexterm> - </para -></listitem> - <listitem -><para -><emphasis -><application ->Valgrind</application -></emphasis -> från <ulink url="http://developer.kde.org/~sewardj/" ->http://developer.kde.org/~sewardj/</ulink -> hjälper dig att hitta minneshanteringsproblem i dina program. <indexterm -><primary ->valgrind</primary -></indexterm> - </para -></listitem> - <listitem -><para -><emphasis -><application ->SVN</application -></emphasis -> från <ulink url="http://subversion.tigris.org/" ->http://subversion.tigris.org/</ulink ->, om du vill använda versionshanteringssystemet SVN. <indexterm> - <primary ->SVN</primary> - <secondary ->krav</secondary -></indexterm> - </para -></listitem> - <listitem -><para ->Eventuellt andra kompilatorer och/eller verktyg om du vill utveckla för ett annat språk eller plattform än C++/&kde;, eller använda någon annan specialfunktion. </para -></listitem> +<title>Valfritt:</title> + <listitem><para>Verktyget <emphasis><application>ctags</application></emphasis> för källkodsnavigering, från <ulink url="http://ctags.sourceforge.net">http://ctags.sourceforge.net</ulink>, som ger dig snabb åtkomst till deklarationer och definitioner med några få enkla klick på ett namn i editorn. <indexterm><primary>ctags</primary></indexterm> + </para></listitem> + <listitem><para>Kompilatorn <emphasis><application>dot</application></emphasis> för grafikspråk, från <ulink url="http://www.graphviz.org">http:/www.graphviz.org</ulink>. Verktyget behövs tillsammans med &doxygen; nedan, om du vill visa klassförhållanden grafiskt (vilket starkt rekommenderas). <indexterm><primary>dot</primary></indexterm> + </para></listitem> + <listitem><para>Dokumentationsverktyget <emphasis>&doxygen;</emphasis>, från <ulink url="http://www.doxygen.org">http://www.doxygen.org</ulink>, om du vill skapa koncis och kraftfull dokumentation av programmeringsgränssnittet för dina projekt. <indexterm><primary>doxygen</primary></indexterm> + </para></listitem> + <listitem><para><emphasis><application>Valgrind</application></emphasis> från <ulink url="http://developer.kde.org/~sewardj/">http://developer.kde.org/~sewardj/</ulink> hjälper dig att hitta minneshanteringsproblem i dina program. <indexterm><primary>valgrind</primary></indexterm> + </para></listitem> + <listitem><para><emphasis><application>SVN</application></emphasis> från <ulink url="http://subversion.tigris.org/">http://subversion.tigris.org/</ulink>, om du vill använda versionshanteringssystemet SVN. <indexterm> + <primary>SVN</primary> + <secondary>krav</secondary></indexterm> + </para></listitem> + <listitem><para>Eventuellt andra kompilatorer och/eller verktyg om du vill utveckla för ett annat språk eller plattform än C++/&kde;, eller använda någon annan specialfunktion. </para></listitem> </itemizedlist> <note> <orderedlist> <listitem> - <para ->Du kan i viss utsträckning kringgå behovet av &autoconf; ≥ 2.52 och &automake; ≥ 1.6. Ta bara bort katalogen <filename class="directory" ->admin</filename -> i installationskatalogen för &tdevelop;, och skriv: <indexterm> - <primary ->autoconf</primary> - <secondary ->kringgå versionsbehov</secondary -></indexterm> + <para>Du kan i viss utsträckning kringgå behovet av &autoconf; ≥ 2.52 och &automake; ≥ 1.6. Ta bara bort katalogen <filename class="directory">admin</filename> i installationskatalogen för &tdevelop;, och skriv: <indexterm> + <primary>autoconf</primary> + <secondary>kringgå versionsbehov</secondary></indexterm> <indexterm> - <primary ->automake</primary> - <secondary ->kringgå versionsbehov</secondary -></indexterm> + <primary>automake</primary> + <secondary>kringgå versionsbehov</secondary></indexterm> <indexterm> - <primary ->versionsbehov</primary> - <secondary ->kringgå för autoconf och automake</secondary -></indexterm> + <primary>versionsbehov</primary> + <secondary>kringgå för autoconf och automake</secondary></indexterm> </para> - <informalexample -><simplelist> - <member -><prompt ->(din tdevelop-katalog)> </prompt -> <userinput ->ln -s $TDEDIR/share/apps/tdelibs/admin admin</userinput -></member> - </simplelist -></informalexample> - <para ->i terminalen. Det gör att &tdevelop; använder standardinställningarna i &kde;:s <filename class="directory" ->admin</filename ->-katalog istället. </para> + <informalexample><simplelist> + <member><prompt>(din tdevelop-katalog)> </prompt> <userinput>ln -s $TDEDIR/share/apps/tdelibs/admin admin</userinput></member> + </simplelist></informalexample> + <para>i terminalen. Det gör att &tdevelop; använder standardinställningarna i &kde;:s <filename class="directory">admin</filename>-katalog istället. </para> </listitem> <listitem> - <para ->Var försiktig så att du <emphasis ->inte blandar olika versioner av &Qt;</emphasis ->. Länka alltid &tdevelop; med samma version av &Qt; som &kde;-biblioteket kompilerades med. Annars råkar du troligen ut för <emphasis ->mycket konstigt</emphasis -> beteende. </para> + <para>Var försiktig så att du <emphasis>inte blandar olika versioner av &Qt;</emphasis>. Länka alltid &tdevelop; med samma version av &Qt; som &kde;-biblioteket kompilerades med. Annars råkar du troligen ut för <emphasis>mycket konstigt</emphasis> beteende. </para> </listitem> </orderedlist> </note> -</sect1 -> <!-- requirements --> +</sect1> <!-- requirements --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="compile-and-install"> -<title ->Kompilering och installation av &tdevelop;</title> +<title>Kompilering och installation av &tdevelop;</title> <indexterm zone="compile-and-install"> - <primary ->&tdevelop;</primary> - <secondary ->kompilering</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>kompilering</secondary></indexterm> <indexterm zone="compile-and-install"> - <primary ->&tdevelop;</primary> - <secondary ->installation</secondary -></indexterm> - -<para ->När alla krav väl är uppfyllda är du redo att kompilera och installera &tdevelop;. Det här appendixet beskriver nödvändiga steg för att göra det. </para> + <primary>&tdevelop;</primary> + <secondary>installation</secondary></indexterm> + +<para>När alla krav väl är uppfyllda är du redo att kompilera och installera &tdevelop;. Det här appendixet beskriver nödvändiga steg för att göra det. </para> <itemizedlist> - <listitem -><para -><link linkend="compile-and-install-preliminaries" ->Förberedande steg</link -> berättar hur du ställer in en riktig miljö. </para -></listitem> - <listitem -><para -><link linkend="compile-and-install-make" ->Kompilera &tdevelop;</link -> handlar om hur källkoden för &tdevelop; skaffas från SVN, hur den förbereds för installationsprocessen, och visar till sist stegen som är nödvändiga för att kompilera och installera &tdevelop;. </para -></listitem> - <listitem -><para -><link linkend="compile-and-install-options" ->Några anmärkningar om väljare till configure</link -> talar om hur man kör &tdevelop; om det har installerats på en annan plats än i &kde;-katalogen. </para -></listitem> + <listitem><para><link linkend="compile-and-install-preliminaries">Förberedande steg</link> berättar hur du ställer in en riktig miljö. </para></listitem> + <listitem><para><link linkend="compile-and-install-make">Kompilera &tdevelop;</link> handlar om hur källkoden för &tdevelop; skaffas från SVN, hur den förbereds för installationsprocessen, och visar till sist stegen som är nödvändiga för att kompilera och installera &tdevelop;. </para></listitem> + <listitem><para><link linkend="compile-and-install-options">Några anmärkningar om väljare till configure</link> talar om hur man kör &tdevelop; om det har installerats på en annan plats än i &kde;-katalogen. </para></listitem> </itemizedlist> <sect2 id="compile-and-install-preliminaries"> -<title ->Förberedande steg</title> +<title>Förberedande steg</title> <indexterm zone="compile-and-install-preliminaries"> - <primary ->preliminärt</primary> - <secondary ->Installation av &tdevelop;</secondary -></indexterm> + <primary>preliminärt</primary> + <secondary>Installation av &tdevelop;</secondary></indexterm> <indexterm zone="compile-and-install-preliminaries"> - <primary ->TDEDIR</primary -></indexterm> + <primary>TDEDIR</primary></indexterm> <indexterm zone="compile-and-install-preliminaries"> - <primary ->QTDIR</primary -></indexterm> + <primary>QTDIR</primary></indexterm> <indexterm zone="compile-and-install-preliminaries"> - <primary ->LD_LIBRARY_PATH</primary -></indexterm> + <primary>LD_LIBRARY_PATH</primary></indexterm> <indexterm zone="compile-and-install-preliminaries"> - <primary ->LIBRARY_PATH</primary -></indexterm> + <primary>LIBRARY_PATH</primary></indexterm> <indexterm zone="compile-and-install-preliminaries"> - <primary ->PATH</primary -></indexterm> - -<para ->Innan du påbörjar kompileringssekvensen, måste du försäkra dig om att alla bibliotek och verktyg är tillgängliga för byggsystemet. För att uppnå detta, måste vissa miljövariabler ställas in riktigt. Stegen som ska utföras beror på vilket skal du använder i terminalen. </para> - -<note -><para ->För att undvika att skriva in alla satserna som ställer in nödvändiga miljövariabler varje gång du vill kompilera, kan du placera dem i filen <filename ->.bashrc</filename -> eller <filename ->.cshrc</filename ->. På så sätt ställs miljövariablerna in riktigt varje gång du startar skalet. </para -></note> + <primary>PATH</primary></indexterm> + +<para>Innan du påbörjar kompileringssekvensen, måste du försäkra dig om att alla bibliotek och verktyg är tillgängliga för byggsystemet. För att uppnå detta, måste vissa miljövariabler ställas in riktigt. Stegen som ska utföras beror på vilket skal du använder i terminalen. </para> + +<note><para>För att undvika att skriva in alla satserna som ställer in nödvändiga miljövariabler varje gång du vill kompilera, kan du placera dem i filen <filename>.bashrc</filename> eller <filename>.cshrc</filename>. På så sätt ställs miljövariablerna in riktigt varje gång du startar skalet. </para></note> <sect3 id="compile-and-install-preliminaries-bash"> -<title ->Ställa in miljön för bash-skalet</title> - -<para ->Om du använder bash-skalet, lägg till följande rader: </para> - -<informalexample -><simplelist> - <member -><userinput ->export TDEDIR=</userinput ->(sökväg till KDE-installationen)</member> - <member -><userinput ->export QTDIR=</userinput ->(sökväg till Qt-biblioteket)</member> - <member -><userinput ->export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH</userinput -></member> - <member -><userinput ->export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH</userinput -></member> - <member -><userinput ->export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH</userinput -></member> -</simplelist -></informalexample> -<para -></para> - -</sect3 -> <!-- compile-and-install-preliminaries-bash --> +<title>Ställa in miljön för bash-skalet</title> + +<para>Om du använder bash-skalet, lägg till följande rader: </para> + +<informalexample><simplelist> + <member><userinput>export TDEDIR=</userinput>(sökväg till KDE-installationen)</member> + <member><userinput>export QTDIR=</userinput>(sökväg till Qt-biblioteket)</member> + <member><userinput>export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH</userinput></member> + <member><userinput>export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH</userinput></member> + <member><userinput>export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH</userinput></member> +</simplelist></informalexample> +<para></para> + +</sect3> <!-- compile-and-install-preliminaries-bash --> <sect3 id="compile-and-install-preliminaries-tcsh"> -<title ->Ställa in miljön för tcsh-skalet</title> +<title>Ställa in miljön för tcsh-skalet</title> -<para ->Om du använder tcsh-skalet, lägg till följande rader: </para> +<para>Om du använder tcsh-skalet, lägg till följande rader: </para> <para> -<informalexample -><simplelist> - <member -><userinput ->setenv TDEDIR </userinput ->(sökväg till KDE-installationen)</member> - <member -><userinput ->setenv QTDIR </userinput ->(sökväg till Qt-biblioteket)</member> - <member -><userinput ->setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH</userinput -></member> - <member -><userinput ->setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH</userinput -></member> - <member -><userinput ->setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH</userinput -></member> -</simplelist -></informalexample> +<informalexample><simplelist> + <member><userinput>setenv TDEDIR </userinput>(sökväg till KDE-installationen)</member> + <member><userinput>setenv QTDIR </userinput>(sökväg till Qt-biblioteket)</member> + <member><userinput>setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH</userinput></member> + <member><userinput>setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH</userinput></member> + <member><userinput>setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH</userinput></member> +</simplelist></informalexample> </para> -</sect3 -> <!-- compile-and-install-preliminaries-tcs --> +</sect3> <!-- compile-and-install-preliminaries-tcs --> -</sect2 -> <!-- compile-and-install-preliminaries --> +</sect2> <!-- compile-and-install-preliminaries --> <sect2 id="compile-and-install-make"> -<title ->Kompilera &tdevelop;</title> +<title>Kompilera &tdevelop;</title> <indexterm zone="compile-and-install-make"> - <primary ->make</primary> - <secondary ->Installation av &tdevelop;</secondary -></indexterm> + <primary>make</primary> + <secondary>Installation av &tdevelop;</secondary></indexterm> <indexterm zone="compile-and-install-make"> - <primary ->kompilera</primary> - <secondary ->&tdevelop;</secondary -></indexterm> - -<note -><para ->I följande beskrivning antar vi att du har placerat källkoden för &tdevelop; i katalogen <filename class="directory" ->~/kde3src/tdevelop</filename ->. </para -></note> + <primary>kompilera</primary> + <secondary>&tdevelop;</secondary></indexterm> + +<note><para>I följande beskrivning antar vi att du har placerat källkoden för &tdevelop; i katalogen <filename class="directory">~/kde3src/tdevelop</filename>. </para></note> <sect3 id="compile-and-install-make-svn"> -<title ->Särskilda hänsyn vid kompilering från SVN</title> +<title>Särskilda hänsyn vid kompilering från SVN</title> -<para ->Om du använder en aktuell version av &tdevelop; från SVN, beror de första kompileringsstegen på om du just gjort en fullständig utcheckning, eller bara uppdaterat källkoden. </para> +<para>Om du använder en aktuell version av &tdevelop; från SVN, beror de första kompileringsstegen på om du just gjort en fullständig utcheckning, eller bara uppdaterat källkoden. </para> <variablelist> <varlistentry> -<term id="compile-and-install-make-svn-co" ->Efter en utcheckning från SVN</term> +<term id="compile-and-install-make-svn-co">Efter en utcheckning från SVN</term> <listitem> -<para ->Du måste <emphasis ->initiera byggsystemet</emphasis -> efter en ny utcheckning. Samma sak gäller varje gång du måste starta om från början. Skriv: </para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make -f admin/Makefile.common svn-clean</userinput -> </member -></simplelist -></informalexample> -<para ->och därefter <emphasis ->alla följande steg</emphasis ->. </para> -<note -><para ->Du kan behöva komma åt SVN-arkivet för att rensa det om några skadade eller saknade filer måste återskapas. </para -></note> -<important -><para ->Kommandot <command ->svn-clean</command -> <emphasis ->tar bort alla filer</emphasis -> som inte finns i SVN från katalogen. Försäkra dig om att säkerhetskopiera viktig information innan du använder det här rensningskommandot. </para -></important> +<para>Du måste <emphasis>initiera byggsystemet</emphasis> efter en ny utcheckning. Samma sak gäller varje gång du måste starta om från början. Skriv: </para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make -f admin/Makefile.common svn-clean</userinput> </member></simplelist></informalexample> +<para>och därefter <emphasis>alla följande steg</emphasis>. </para> +<note><para>Du kan behöva komma åt SVN-arkivet för att rensa det om några skadade eller saknade filer måste återskapas. </para></note> +<important><para>Kommandot <command>svn-clean</command> <emphasis>tar bort alla filer</emphasis> som inte finns i SVN från katalogen. Försäkra dig om att säkerhetskopiera viktig information innan du använder det här rensningskommandot. </para></important> </listitem> </varlistentry> <varlistentry> -<term id="compile-and-install-make-svn-up" ->Efter en uppdatering från SVN</term> +<term id="compile-and-install-make-svn-up">Efter en uppdatering från SVN</term> <listitem> -<para ->Nästa steg beror på utmatningen från SVN-uppdateringssekvensen. Om du fick något som liknar följande (markeringarna U eller P kan finnas i kolumnen längst till vänster, båda anger att filen har ändrats): </para> +<para>Nästa steg beror på utmatningen från SVN-uppdateringssekvensen. Om du fick något som liknar följande (markeringarna U eller P kan finnas i kolumnen längst till vänster, båda anger att filen har ändrats): </para> -<screen ->U /någon_sökväg/Makefile.am +<screen>U /någon_sökväg/Makefile.am </screen> -<para ->eller om du precis gjort en fullständig utcheckning, måste du skriva: </para> -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make -f Makefile.svn</userinput -> </member -></simplelist -></informalexample> -<para ->innan du fortsätter med <emphasis ->alla följande steg</emphasis ->. </para> +<para>eller om du precis gjort en fullständig utcheckning, måste du skriva: </para> +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make -f Makefile.svn</userinput> </member></simplelist></informalexample> +<para>innan du fortsätter med <emphasis>alla följande steg</emphasis>. </para> </listitem> </varlistentry> </variablelist> -</sect3 -> <!-- compile-and-install-make-svn --> +</sect3> <!-- compile-and-install-make-svn --> <sect3 id="compile-and-install-make-basic"> -<title ->Grundläggande kommandosekvens med <command ->make</command -></title> - -<para ->När det grundläggande byggsystemet har ställts in, måste du bestämma dig för vilken typ av &tdevelop;-system du vill använda. Det görs med följande konfigureringssteg, som bygger de verkliga filerna med namn <filename ->Makefile</filename ->, som kommandot <command ->make</command -> kommer att använda. </para> - -<note -><para ->Du kan utelämna väljaren <option ->--prefix</option -> i följande kommandorader med <command ->configure</command ->, om du vill att &tdevelop; ska installeras i &kde;:s standardkatalog. Se kapitlet <link linkend="compile-and-install-options" ->Några anmärkningar om väljare till configure</link -> om detta. </para -></note> +<title>Grundläggande kommandosekvens med <command>make</command></title> + +<para>När det grundläggande byggsystemet har ställts in, måste du bestämma dig för vilken typ av &tdevelop;-system du vill använda. Det görs med följande konfigureringssteg, som bygger de verkliga filerna med namn <filename>Makefile</filename>, som kommandot <command>make</command> kommer att använda. </para> + +<note><para>Du kan utelämna väljaren <option>--prefix</option> i följande kommandorader med <command>configure</command>, om du vill att &tdevelop; ska installeras i &kde;:s standardkatalog. Se kapitlet <link linkend="compile-and-install-options">Några anmärkningar om väljare till configure</link> om detta. </para></note> <variablelist> <varlistentry> -<term ->En version kompilerad för avlusning</term> +<term>En version kompilerad för avlusning</term> <listitem> -<para ->Om du vill hålla ordning på vad programmet &tdevelop; gör när det kör, kan du bygga en version kompilerad med avlusning. Tala bara om för <command ->configure</command -> att göra det: </para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->./configure --enable-debug=full --prefix=</userinput ->(där din kde3 finns) </member -></simplelist -></informalexample> +<para>Om du vill hålla ordning på vad programmet &tdevelop; gör när det kör, kan du bygga en version kompilerad med avlusning. Tala bara om för <command>configure</command> att göra det: </para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>./configure --enable-debug=full --prefix=</userinput>(där din kde3 finns) </member></simplelist></informalexample> </listitem> </varlistentry> <varlistentry> -<term ->En version kompilerad för distribution</term> +<term>En version kompilerad för distribution</term> <listitem> -<para ->Om du bara vill använda &tdevelop; som det är (mindre och snabbare), räcker det med en version kompilerad för distribution. Det är förvalt i <command ->configure</command ->.</para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->./configure --prefix=</userinput ->(där din kde3 finns) </member -></simplelist -></informalexample> +<para>Om du bara vill använda &tdevelop; som det är (mindre och snabbare), räcker det med en version kompilerad för distribution. Det är förvalt i <command>configure</command>.</para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>./configure --prefix=</userinput>(där din kde3 finns) </member></simplelist></informalexample> <note> -<para ->Om du vill skapa din egen <link linkend="make-api" ->dokumentation av programmeringsgränssnittet</link -> för &tdevelop;, måste du ta med ytterligare en väljare i kommandot <command ->configure</command ->: </para> -<informalexample -><simplelist> - <member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->./configure --</userinput ->(väljare enlikt ovan) <userinput ->\</userinput -></member -> <member -><userinput ->--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs</userinput -></member> -</simplelist -></informalexample> +<para>Om du vill skapa din egen <link linkend="make-api">dokumentation av programmeringsgränssnittet</link> för &tdevelop;, måste du ta med ytterligare en väljare i kommandot <command>configure</command>: </para> +<informalexample><simplelist> + <member><prompt>~/kde3src/tdevelop> </prompt> <userinput>./configure --</userinput>(väljare enlikt ovan) <userinput>\</userinput></member> <member><userinput>--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs</userinput></member> +</simplelist></informalexample> </note> </listitem> </varlistentry> <varlistentry> -<term ->Bygga och installera &tdevelop;</term> +<term>Bygga och installera &tdevelop;</term> <listitem> -<para ->Kommandot <command ->configure</command -> kontrollerar systemet och skapar några filer vid namn <filename ->Makefile</filename -> enligt vad det hittar. Kommandot <command ->make</command -> använder normalt den huvudsakliga filen <filename ->Makefile</filename ->. Alltså är </para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make</userinput -> </member -></simplelist -></informalexample> -<para ->tillräckligt. Om nödvändigt, skaffa rättigheter som systemadministratör genom att använda kommandot </para> -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->su</userinput -> </member -></simplelist -></informalexample> -<para ->och ange systemadministratörens lösenord. Installera sedan programmet: </para> -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make install</userinput -> </member -></simplelist -></informalexample> -<para ->Det är allt. Om du installerade &tdevelop; i &kde;:s standardkatalog, kan du nu köra den integrerade utvecklingsmiljön. Annars är några ytterligare steg nödvändiga, som visas i avsnittet <link linkend="compile-and-install-options-dir" ->Annan installationskatalog än standard</link -> nedan. </para> +<para>Kommandot <command>configure</command> kontrollerar systemet och skapar några filer vid namn <filename>Makefile</filename> enligt vad det hittar. Kommandot <command>make</command> använder normalt den huvudsakliga filen <filename>Makefile</filename>. Alltså är </para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make</userinput> </member></simplelist></informalexample> +<para>tillräckligt. Om nödvändigt, skaffa rättigheter som systemadministratör genom att använda kommandot </para> +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>su</userinput> </member></simplelist></informalexample> +<para>och ange systemadministratörens lösenord. Installera sedan programmet: </para> +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make install</userinput> </member></simplelist></informalexample> +<para>Det är allt. Om du installerade &tdevelop; i &kde;:s standardkatalog, kan du nu köra den integrerade utvecklingsmiljön. Annars är några ytterligare steg nödvändiga, som visas i avsnittet <link linkend="compile-and-install-options-dir">Annan installationskatalog än standard</link> nedan. </para> <note> - <para ->I själva verket har tre &tdevelop;-baserade program installerats: </para> + <para>I själva verket har tre &tdevelop;-baserade program installerats: </para> <itemizedlist> - <listitem -><para ->Den integrerade utvecklingsmiljön &tdevelop;: Det här är platsen där du oftast arbetar.</para -></listitem> - <listitem -><para ->Den fristående dokumentationsbläddraren &tdevelop; assistent: Isolerar alla kraftfulla dokumentationsfunktioner i utvecklingsmiljön &tdevelop; i ett separat verktyg. Det här är praktiskt när du vill slå upp någon programmeringsdokumentation, men inte vill starta den fullständiga utvecklingsmiljön.</para -></listitem> - <listitem -><para ->&tdevelop; Designer: Utökar &Qt; Designer för grafiska gränssnitt med element specifika för &kde; och integreras på ett bra sätt i utvecklingsmiljön &tdevelop;.</para -></listitem> + <listitem><para>Den integrerade utvecklingsmiljön &tdevelop;: Det här är platsen där du oftast arbetar.</para></listitem> + <listitem><para>Den fristående dokumentationsbläddraren &tdevelop; assistent: Isolerar alla kraftfulla dokumentationsfunktioner i utvecklingsmiljön &tdevelop; i ett separat verktyg. Det här är praktiskt när du vill slå upp någon programmeringsdokumentation, men inte vill starta den fullständiga utvecklingsmiljön.</para></listitem> + <listitem><para>&tdevelop; Designer: Utökar &Qt; Designer för grafiska gränssnitt med element specifika för &kde; och integreras på ett bra sätt i utvecklingsmiljön &tdevelop;.</para></listitem> </itemizedlist> </note> </listitem> @@ -980,311 +399,105 @@ </variablelist> -</sect3 -> <!-- compile-and-install-make-basic --> -</sect2 -> <!-- compile-and-install-make --> +</sect3> <!-- compile-and-install-make-basic --> +</sect2> <!-- compile-and-install-make --> <sect2 id="compile-and-install-options"> -<title ->Några anmärkningar om väljare till <command ->configure</command -></title> +<title>Några anmärkningar om väljare till <command>configure</command></title> <sect3 id="compile-and-install-options-dir"> -<title ->Annan installationskatalog än standard</title> +<title>Annan installationskatalog än standard</title> <indexterm zone="compile-and-install-options-dir"> - <primary ->&tdevelop;</primary> - <secondary ->installation</secondary> - <tertiary ->inte standardkatalog</tertiary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>installation</secondary> + <tertiary>inte standardkatalog</tertiary></indexterm> <indexterm zone="compile-and-install-options-dir"> - <primary ->inte standardkatalog</primary -></indexterm> + <primary>inte standardkatalog</primary></indexterm> <indexterm zone="compile-and-install-options-dir"> - <primary ->TDEDIRS</primary -></indexterm> + <primary>TDEDIRS</primary></indexterm> <indexterm zone="compile-and-install-options-dir"> - <primary ->tdebuildsycoca</primary -></indexterm> - -<para ->Normalt förbereder <command ->configure</command -> för att installera den grafiska utvecklingsmiljön i &kde;:s standardkatalog. Det behövs, eftersom &tdevelop; antar att det går att direkt komma åt vissa verktyg och delprogram som finns där. Om du vill använda din egen installationskatalog, måste du tala om det för <command ->configure</command -> med väljaren <option ->--prefix</option ->: </para> -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->./configure --prefix=</userinput ->(där din kde3 finns) </member -></simplelist -></informalexample> -<para ->Det finns ett problem om du gör det. Du måste ge möjlighet för &tdevelop; att komma åt nödvändiga verktyg och delprogram i &kde;:s katalog när det kör. (Du kan fortfarande använda den integrerade utvecklingsmiljön utan att göra det, men med mycket begränsade funktioner.) </para> -<para ->Starta ett skal och se till att köra följande kommandon innan du startar &tdevelop; från skalet. </para> - -<note -><para -><emphasis ->Försäkra dig om att använda pluralis:</emphasis -> Det är <quote -><envar ->TDEDIRS</envar -></quote ->, inte bara <quote -><envar ->TDEDIR</envar -></quote ->. </para -></note> - -<informalexample -><simplelist> - <member -><prompt ->~> </prompt -> <userinput ->export TDEDIRS=/usr/local/kde:/opt/kde3</userinput -> </member> - <member -><prompt ->~> </prompt -> <userinput ->tdebuildsycoca</userinput -> </member> - <member ->(Starta nu &tdevelop;:) </member> - <member -><prompt ->~> </prompt -> <userinput ->tdevelop</userinput -> </member> -</simplelist -></informalexample> - -<note -><simplelist> - <member ->Miljövariabeln <envar ->TDEDIRS</envar -> måste vara inställt till <emphasis ->listan med aktiva &kde;-bibliotek</emphasis -> i systemet. Vi använder</member> - <member -><filename class="directory" ->/usr/local/kde</filename ->:<filename class="directory" ->/opt/kde3</filename -></member> - <member ->bara som ett exempel.</member> - <member ->Katalogen <filename class="directory" ->/usr/local/kde</filename -> kan till exempel innehålla en ofullständig &kde;-version som du kompilerat i avlusningssyfte, och katalogen <filename class="directory" ->/opt/kde3</filename -> innehåller dessutom den vanliga &kde;-versionen från distributionen som används för dagligt arbete.</member> -</simplelist -></note> - -<para ->I ett tcsh-skal måste du ställa in miljövariablerna genom att använda: </para> -<informalexample -><simplelist -><member -><prompt ->~> </prompt -> <userinput ->setenv TDEDIRS /usr/local/kde:/opt/kde3</userinput -> </member -></simplelist -></informalexample> -<para ->Kommandot <command ->tdebuildsycoca</command -> (<quote ->bygg systemkontrollcache</quote ->) söker efter bibliotek och lagrar deras plats och version i en cache, så att &tdevelop; kan hitta dem. Problemet är att det tar märkbart med tid, och måste köras varje gång du använder skalet för att starta &tdevelop; med en annan installationskatalog än standardkatalogen. Du skulle kunna skriva in ovanstående kommandon i ett skalskript för att reducera ansträngningen att skriva in det. </para> -<para ->(Du skulle också kunna skriva in raderna i filen <filename ->.bashrc</filename -> eller <filename ->.cshrc</filename ->, men det är inte önskvärt eftersom då körs <command ->tdebuildsycoca</command -> varje gång du använder skalet.) </para> - -<note -><para ->Kommandot <command ->tdebuildsycoca</command -> kör inte för systemadministratören. Du måste anropa det som en annan användare. (Men det är <emphasis ->inte en särskild god idé</emphasis -> att utveckla programvara som systemadministratör!) </para -></note> -</sect3 -> <!-- compile-and-install-options-dir --> + <primary>tdebuildsycoca</primary></indexterm> + +<para>Normalt förbereder <command>configure</command> för att installera den grafiska utvecklingsmiljön i &kde;:s standardkatalog. Det behövs, eftersom &tdevelop; antar att det går att direkt komma åt vissa verktyg och delprogram som finns där. Om du vill använda din egen installationskatalog, måste du tala om det för <command>configure</command> med väljaren <option>--prefix</option>: </para> +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>./configure --prefix=</userinput>(där din kde3 finns) </member></simplelist></informalexample> +<para>Det finns ett problem om du gör det. Du måste ge möjlighet för &tdevelop; att komma åt nödvändiga verktyg och delprogram i &kde;:s katalog när det kör. (Du kan fortfarande använda den integrerade utvecklingsmiljön utan att göra det, men med mycket begränsade funktioner.) </para> +<para>Starta ett skal och se till att köra följande kommandon innan du startar &tdevelop; från skalet. </para> + +<note><para><emphasis>Försäkra dig om att använda pluralis:</emphasis> Det är <quote><envar>TDEDIRS</envar></quote>, inte bara <quote><envar>TDEDIR</envar></quote>. </para></note> + +<informalexample><simplelist> + <member><prompt>~> </prompt> <userinput>export TDEDIRS=/usr/local/kde:/opt/kde3</userinput> </member> + <member><prompt>~> </prompt> <userinput>tdebuildsycoca</userinput> </member> + <member>(Starta nu &tdevelop;:) </member> + <member><prompt>~> </prompt> <userinput>tdevelop</userinput> </member> +</simplelist></informalexample> + +<note><simplelist> + <member>Miljövariabeln <envar>TDEDIRS</envar> måste vara inställt till <emphasis>listan med aktiva &kde;-bibliotek</emphasis> i systemet. Vi använder</member> + <member><filename class="directory">/usr/local/kde</filename>:<filename class="directory">/opt/kde3</filename></member> + <member>bara som ett exempel.</member> + <member>Katalogen <filename class="directory">/usr/local/kde</filename> kan till exempel innehålla en ofullständig &kde;-version som du kompilerat i avlusningssyfte, och katalogen <filename class="directory">/opt/kde3</filename> innehåller dessutom den vanliga &kde;-versionen från distributionen som används för dagligt arbete.</member> +</simplelist></note> + +<para>I ett tcsh-skal måste du ställa in miljövariablerna genom att använda: </para> +<informalexample><simplelist><member><prompt>~> </prompt> <userinput>setenv TDEDIRS /usr/local/kde:/opt/kde3</userinput> </member></simplelist></informalexample> +<para>Kommandot <command>tdebuildsycoca</command> (<quote>bygg systemkontrollcache</quote>) söker efter bibliotek och lagrar deras plats och version i en cache, så att &tdevelop; kan hitta dem. Problemet är att det tar märkbart med tid, och måste köras varje gång du använder skalet för att starta &tdevelop; med en annan installationskatalog än standardkatalogen. Du skulle kunna skriva in ovanstående kommandon i ett skalskript för att reducera ansträngningen att skriva in det. </para> +<para>(Du skulle också kunna skriva in raderna i filen <filename>.bashrc</filename> eller <filename>.cshrc</filename>, men det är inte önskvärt eftersom då körs <command>tdebuildsycoca</command> varje gång du använder skalet.) </para> + +<note><para>Kommandot <command>tdebuildsycoca</command> kör inte för systemadministratören. Du måste anropa det som en annan användare. (Men det är <emphasis>inte en särskild god idé</emphasis> att utveckla programvara som systemadministratör!) </para></note> +</sect3> <!-- compile-and-install-options-dir --> <!-- ### put a sect3 with other configuration options here --> -</sect2 -> <!-- compile-and-install-options --> +</sect2> <!-- compile-and-install-options --> -</sect1 -> <!-- compile-and-install --> +</sect1> <!-- compile-and-install --> <sect1 id="make-api"> -<title ->Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</title> +<title>Hur man skaffar dokumentation av programmeringsgränssnittet för &tdevelop;</title> <indexterm zone="make-api"> - <primary ->programmeringsgränssnitt</primary> - <secondary ->&tdevelop;</secondary -></indexterm> + <primary>programmeringsgränssnitt</primary> + <secondary>&tdevelop;</secondary></indexterm> <indexterm zone="make-api"> - <primary ->&tdevelop;</primary> - <secondary ->programmeringsgränssnitt</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>programmeringsgränssnitt</secondary></indexterm> <indexterm zone="make-api"> - <primary ->kompilera</primary> - <secondary ->&tdevelop;</secondary> - <tertiary ->programmeringsgränssnitt</tertiary -></indexterm> + <primary>kompilera</primary> + <secondary>&tdevelop;</secondary> + <tertiary>programmeringsgränssnitt</tertiary></indexterm> <indexterm zone="make-api"> - <primary ->anpassa</primary> - <secondary ->Programmeringsgränssnitt i &tdevelop;</secondary -></indexterm> - -<para ->Programmeringsgränssnittet, <quote ->Application Program Interface</quote -> på engelska, ofta förkortat API, innehåller i själva verket en följd av beskrivningar (dvs. anropsmodeller) som ett program kan använda för att komma åt operativsystem och andra tjänster. I vårt fall har dock en mer omfattande definition använts. Programmeringsgränssnittet för ett &kde;- eller &Qt;-program är en sammanfattning av klasser och metodgränssnitt, en översikt som kan användas som uppslagsbok för navigation i källkoden. </para> -<para ->Det finns en version av det senaste programmeringsgränssnittet på <ulink url="http://www.kdevelop.org/HEAD/doc/api/html/index.html" -> KDevelops hemsida</ulink ->. Den uppdateras automatiskt varje dygn så att du kan hänga med. </para> -<para ->Tyvärr används den här versionen bäst för att bara läsa via Internet. Om du inte alltid är uppkopplad, kan du lika väl bygga din egen dokumentation av programmeringsgränssnittet från källkoden för &tdevelop;. För att göra det, måste du tala om det för automake-systemet var KDELIBS programmeringsgränssnitt finns på din dator. Det kan åstadkommas med den särskilda väljaren <option ->--with-tdelibsdoxy-dir</option -> i kommandot <command ->configure</command -> när du förbereder kompilering av källkoden för &tdevelop;. </para> - -<informalexample -><simplelist> - <member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->./configure --</userinput ->(vanliga väljare)<userinput -> \</userinput -> </member> + <primary>anpassa</primary> + <secondary>Programmeringsgränssnitt i &tdevelop;</secondary></indexterm> + +<para>Programmeringsgränssnittet, <quote>Application Program Interface</quote> på engelska, ofta förkortat API, innehåller i själva verket en följd av beskrivningar (dvs. anropsmodeller) som ett program kan använda för att komma åt operativsystem och andra tjänster. I vårt fall har dock en mer omfattande definition använts. Programmeringsgränssnittet för ett &kde;- eller &Qt;-program är en sammanfattning av klasser och metodgränssnitt, en översikt som kan användas som uppslagsbok för navigation i källkoden. </para> +<para>Det finns en version av det senaste programmeringsgränssnittet på <ulink url="http://www.kdevelop.org/HEAD/doc/api/html/index.html"> KDevelops hemsida</ulink>. Den uppdateras automatiskt varje dygn så att du kan hänga med. </para> +<para>Tyvärr används den här versionen bäst för att bara läsa via Internet. Om du inte alltid är uppkopplad, kan du lika väl bygga din egen dokumentation av programmeringsgränssnittet från källkoden för &tdevelop;. För att göra det, måste du tala om det för automake-systemet var KDELIBS programmeringsgränssnitt finns på din dator. Det kan åstadkommas med den särskilda väljaren <option>--with-tdelibsdoxy-dir</option> i kommandot <command>configure</command> när du förbereder kompilering av källkoden för &tdevelop;. </para> + +<informalexample><simplelist> + <member><prompt>~/kde3src/tdevelop> </prompt> <userinput>./configure --</userinput>(vanliga väljare)<userinput> \</userinput> </member> <member> - <userinput ->--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs</userinput> + <userinput>--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs</userinput> </member> -</simplelist -></informalexample> - -<para ->(<command ->make</command -> ersätter den globala variabeln <varname ->$TDEDIR</varname -> med den verkliga inställningen av &kde;-katalogen som finns där). Utför sedan kommandot <command ->make</command -> <link linkend="compile-and-install-make-basic" ->som vanligt</link ->. Efter att den integrerade utvecklingsmiljön &tdevelop; har byggts, har du möjlighet att också bygga programmeringsgränssnittet. För att göra det måste du skriva: </para> -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make apidocs</userinput -> </member -></simplelist -></informalexample> - -<para ->Detta bygger en <filename ->Doxyfile</filename -> i baskatalogen för &tdevelop;, som i sin tur behandlas av programmet <application ->Doxygen</application -> för att skapa en hel del <filename ->.html</filename ->-filer för programmeringsgränssnittet. När den ganska långa byggprocessen (den kan ta mer än en timme på en långsam dator) av programmeringsgränssnittet till sist är klar, måste du installera programmeringsgränssnittet precis som du måste installera själva den integrerade utvecklingsmiljön &tdevelop;. Skaffa rättigheter som systemadministratör om det behövs med: </para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->su</userinput -> </member -></simplelist -></informalexample> - -<para ->och ange systemadministratörens lösenord. Installera sedan dokumentationsfilerna: </para> - -<informalexample -><simplelist -><member -><prompt ->~/kde3src/tdevelop> </prompt -> <userinput ->make install-apidox</userinput -> </member -></simplelist -></informalexample> - -<para ->När det här väl är gjort, informerar <command ->make</command -> dig om katalogen där du till sist kan titta på innehållet i dokumentationen av programmeringsgränssnittet. Observera adressen, eftersom du kan använda den från &konqueror; samt inne i &tdevelop;, om du har ställt in den egna källkoden för &tdevelop; som projektet att arbeta med. </para> - -<note -><para ->Du ser troligen en mängd varningar och/eller felmeddelanden under tiden programmeringsgränssnittet byggs av <application ->Doxygen</application ->. Det är bäst att ignorera dem. De är bara av intresse för utvecklare av &tdevelop;. Om programmeringsgränssnittet väl skapats med lyckat resultat, blir dess <filename ->.html</filename ->-filer användbara. </para -></note> - -</sect1 -> <!-- make-api --> - -</appendix -> <!-- tdevelop-install --> +</simplelist></informalexample> + +<para>(<command>make</command> ersätter den globala variabeln <varname>$TDEDIR</varname> med den verkliga inställningen av &kde;-katalogen som finns där). Utför sedan kommandot <command>make</command> <link linkend="compile-and-install-make-basic">som vanligt</link>. Efter att den integrerade utvecklingsmiljön &tdevelop; har byggts, har du möjlighet att också bygga programmeringsgränssnittet. För att göra det måste du skriva: </para> +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make apidocs</userinput> </member></simplelist></informalexample> + +<para>Detta bygger en <filename>Doxyfile</filename> i baskatalogen för &tdevelop;, som i sin tur behandlas av programmet <application>Doxygen</application> för att skapa en hel del <filename>.html</filename>-filer för programmeringsgränssnittet. När den ganska långa byggprocessen (den kan ta mer än en timme på en långsam dator) av programmeringsgränssnittet till sist är klar, måste du installera programmeringsgränssnittet precis som du måste installera själva den integrerade utvecklingsmiljön &tdevelop;. Skaffa rättigheter som systemadministratör om det behövs med: </para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>su</userinput> </member></simplelist></informalexample> + +<para>och ange systemadministratörens lösenord. Installera sedan dokumentationsfilerna: </para> + +<informalexample><simplelist><member><prompt>~/kde3src/tdevelop> </prompt> <userinput>make install-apidox</userinput> </member></simplelist></informalexample> + +<para>När det här väl är gjort, informerar <command>make</command> dig om katalogen där du till sist kan titta på innehållet i dokumentationen av programmeringsgränssnittet. Observera adressen, eftersom du kan använda den från &konqueror; samt inne i &tdevelop;, om du har ställt in den egna källkoden för &tdevelop; som projektet att arbeta med. </para> + +<note><para>Du ser troligen en mängd varningar och/eller felmeddelanden under tiden programmeringsgränssnittet byggs av <application>Doxygen</application>. Det är bäst att ignorera dem. De är bara av intresse för utvecklare av &tdevelop;. Om programmeringsgränssnittet väl skapats med lyckat resultat, blir dess <filename>.html</filename>-filer användbara. </para></note> + +</sect1> <!-- make-api --> + +</appendix> <!-- tdevelop-install --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-scripting.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-scripting.docbook index deceb52065c..7e0d14e4785 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-scripting.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-scripting.docbook @@ -2,71 +2,45 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Ian</firstname -><surname ->Geiser</surname -></author> + <author><firstname>Ian</firstname><surname>Geiser</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Använda skript med KDevelop</title> +<title>Använda skript med KDevelop</title> <sect1 id="running-scripts"> -<title ->Köra skript</title> -<para ->För att komma åt ett skript som är tillgängligt i &tdevelop;, använd menyn <menuchoice -><guimenu ->Verktyg</guimenu -> <guimenuitem ->Skript</guimenuitem -></menuchoice ->. Om det inte finns någon sådant menyalternativ finns inga tillgängliga skript installerade i KDevelop. </para> +<title>Köra skript</title> +<para>För att komma åt ett skript som är tillgängligt i &tdevelop;, använd menyn <menuchoice><guimenu>Verktyg</guimenu> <guimenuitem>Skript</guimenuitem></menuchoice>. Om det inte finns någon sådant menyalternativ finns inga tillgängliga skript installerade i KDevelop. </para> </sect1> <sect1 id="adding-scripts"> -<title ->Lägga till skript</title> -<para ->När du väl har lagt till Kskript-stöd i ditt värdprogram är det lika lätt att lägga till skript. Skripten består av två delar, en skrivbordsfil som innehåller metadata om skriptet och själva skriptet. Den här infallsvinkeln användes av säkerhets- och enkelhetsskäl. Skrivbordsfilen tillhandahåller metainformation för menyer och skripttypen. Det förhindrar att värdprogrammet måste inspektera varje skript vid laddning. Ett exempel på filen visas nedan: </para> -<para ->Ovanstående exempel demonstrerar huvuddelarna som Kskript tittar efter. Den första posten, "Name", är namnet som visas för användaren i värdprogrammet och "Comment" visas oftast som verktygstips. Den viktigaste posten är "Type". Den används för att välja riktigt skriptgränssnitt för att köra skriptet. För närvarande är "ShellScript/bash" och "JavaScript/kjs" tillgängliga i KDE. Nästa steg är att skapa själva skriptet. För exemplet ovan är skripttypen som används "ShellScript/bash". Skalskriptgränssnittet tillhandahåller några saker åt utvecklaren. Det första elementet är värdprogrammets DCOP-identifikation. Den skickas som första argumentet till skriptet. Det betyder att var som helst i skriptet returnerar värdet "$1" värdprogrammets DCOP-identifikation. Ett exempel på ett skalskript visas nedan: </para> +<title>Lägga till skript</title> +<para>När du väl har lagt till Kskript-stöd i ditt värdprogram är det lika lätt att lägga till skript. Skripten består av två delar, en skrivbordsfil som innehåller metadata om skriptet och själva skriptet. Den här infallsvinkeln användes av säkerhets- och enkelhetsskäl. Skrivbordsfilen tillhandahåller metainformation för menyer och skripttypen. Det förhindrar att värdprogrammet måste inspektera varje skript vid laddning. Ett exempel på filen visas nedan: </para> +<para>Ovanstående exempel demonstrerar huvuddelarna som Kskript tittar efter. Den första posten, "Name", är namnet som visas för användaren i värdprogrammet och "Comment" visas oftast som verktygstips. Den viktigaste posten är "Type". Den används för att välja riktigt skriptgränssnitt för att köra skriptet. För närvarande är "ShellScript/bash" och "JavaScript/kjs" tillgängliga i KDE. Nästa steg är att skapa själva skriptet. För exemplet ovan är skripttypen som används "ShellScript/bash". Skalskriptgränssnittet tillhandahåller några saker åt utvecklaren. Det första elementet är värdprogrammets DCOP-identifikation. Den skickas som första argumentet till skriptet. Det betyder att var som helst i skriptet returnerar värdet "$1" värdprogrammets DCOP-identifikation. Ett exempel på ett skalskript visas nedan: </para> -<para ->Skriptet är mycket enkelt och kör bara ett kommando och sätter texten i det första dokumentet till utmatningen från "ls -l".</para> +<para>Skriptet är mycket enkelt och kör bara ett kommando och sätter texten i det första dokumentet till utmatningen från "ls -l".</para> -<para ->Ett av de mest användbara verktygen när skript för program utvecklas, är programmet KDCOP.</para> +<para>Ett av de mest användbara verktygen när skript för program utvecklas, är programmet KDCOP.</para> <figure id="screenshot-kdcop" float="1"> - <title ->KDCOP DCOP-bläddringsgränssnitt i &tdevelop;</title> + <title>KDCOP DCOP-bläddringsgränssnitt i &tdevelop;</title> <mediaobject> - <imageobject -><imagedata fileref="kdcop_browsing.png"/></imageobject> + <imageobject><imagedata fileref="kdcop_browsing.png"/></imageobject> </mediaobject> </figure> -<para ->KDCOP-verktyget låter skriptutvecklare bläddra och avlusa värdprogrammets nuvarande gränssnitt. KDCOP tillhandahåller också en trevlig funktion som låter användare markera en metod och dra nuvarande kod till en texteditor. Det förenklar användning för de som inte hajar DCOP-metoderna i värdspråket. För närvarande stöder KDCOP metoderna KJSEmbed, Python och Unix-skal för att komma åt DCOP.</para> +<para>KDCOP-verktyget låter skriptutvecklare bläddra och avlusa värdprogrammets nuvarande gränssnitt. KDCOP tillhandahåller också en trevlig funktion som låter användare markera en metod och dra nuvarande kod till en texteditor. Det förenklar användning för de som inte hajar DCOP-metoderna i värdspråket. För närvarande stöder KDCOP metoderna KJSEmbed, Python och Unix-skal för att komma åt DCOP.</para> -<para ->När skriptet väl är färdigt, är det klart att installeras. Programutvecklare bör dokumentera platsen som avsöks efter skript. I ovanstående exempel för Kate, är skripten placerade i "$TDEDIRS/share/apps/kate/scripts".</para> +<para>När skriptet väl är färdigt, är det klart att installeras. Programutvecklare bör dokumentera platsen som avsöks efter skript. I ovanstående exempel för Kate, är skripten placerade i "$TDEDIRS/share/apps/kate/scripts".</para> <figure id="screenshot-scripts" float="1"> - <title ->&tdevelop;-skript i filsystemet</title> + <title>&tdevelop;-skript i filsystemet</title> <mediaobject> - <imageobject -><imagedata fileref="script_location.png"/></imageobject> + <imageobject><imagedata fileref="script_location.png"/></imageobject> </mediaobject> </figure> -<para ->Skriptets skrivbordsfil, och tillhörande skript ska vara i samma katalog. För skriptutvecklare rekommenderas också att alla andra skriptresurser som UI-filer eller datafiler också finns i skriptkatalogen. I ovanstående exempel visas skriptet i menyn Verktyg -> KDE-skript. En viktig sak att notera för skriptutvecklare, är att de inte ska utföra åtgärder som kan blockera körning under en lång tid, eller starta en händelsesnurra. Det beror på att den nuvarande versionen av skriptgränssnittet är anpassat för automatiserade uppgifter som kör till de är färdiga. Detta hanteras och utökas för KDE 4. </para> +<para>Skriptets skrivbordsfil, och tillhörande skript ska vara i samma katalog. För skriptutvecklare rekommenderas också att alla andra skriptresurser som UI-filer eller datafiler också finns i skriptkatalogen. I ovanstående exempel visas skriptet i menyn Verktyg -> KDE-skript. En viktig sak att notera för skriptutvecklare, är att de inte ska utföra åtgärder som kan blockera körning under en lång tid, eller starta en händelsesnurra. Det beror på att den nuvarande versionen av skriptgränssnittet är anpassat för automatiserade uppgifter som kör till de är färdiga. Detta hanteras och utökas för KDE 4. </para> </sect1> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-survey.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-survey.docbook index deab4fb87f9..81b5c5f7e90 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-survey.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/tdevelop-survey.docbook @@ -2,217 +2,94 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Översikt över funktioner i &tdevelop;</title> +<title>Översikt över funktioner i &tdevelop;</title> <indexterm zone="tdevelop-survey"> - <primary ->&tdevelop;</primary> - <secondary ->översikt</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>översikt</secondary></indexterm> <indexterm zone="tdevelop-survey"> - <primary ->Översikt</primary -></indexterm> + <primary>Översikt</primary></indexterm> <indexterm zone="tdevelop-survey"> - <primary ->översikt</primary -></indexterm> - -<para ->&tdevelop; integrerar många verktyg, skript och mallar med ett gemensamt användargränssnitt. De grundläggande delarna är <itemizedlist> - <listitem -><para ->flera <link linkend="uimodes-survey" ->lägen för användargränssnittet</link -> som du kan använda för att välja arbetsområdets utseende och känsla, </para -></listitem> - <listitem -><para ->en <link linkend="applicationwizard" ->programguide</link ->, som hjälper dig ställa in ett nytt projekt, </para -></listitem> - <listitem -><para ->flera <link linkend="makesystems" ->system för projekthantering</link ->, som hjälper till att bygga och hantera projektet, </para -></listitem> - <listitem -><para ->några <link linkend="editing" ->redigeringsverktyg</link -> för att enkelt kunna arbeta med programtexten, </para -></listitem> - <listitem -><para ->diverse <link linkend="file-browsers" ->filbläddrare</link ->, som ger dig olika vyer av filsystemet, </para -></listitem> - <listitem -><para ->diverse <link linkend="class-browsers" ->klassbläddrare</link -> för att hjälpa dig underhålla klasser och deras förhållanden i ett objektorienterat programmeringsprojekt, </para -></listitem> - <listitem -><para ->ett <link linkend="debugger" ->avlusningsgränssnitt</link -> för att hitta och ta bort programfel inifrån &tdevelop;, och </para -></listitem> - <listitem -><para ->flera <link linkend="plugin-tools" ->insticksverktyg</link ->, utökningsbara moduler, eller delprogram, som laddas när programmet kör och vid behov. Det gör det möjligt för dig att bara aktivera de funktioner som du verkligen behöver. </para -></listitem> - <listitem -><para ->en uppsättning andra diagnos-, dokumentations- och optimeringsverktyg. </para -></listitem> + <primary>översikt</primary></indexterm> + +<para>&tdevelop; integrerar många verktyg, skript och mallar med ett gemensamt användargränssnitt. De grundläggande delarna är <itemizedlist> + <listitem><para>flera <link linkend="uimodes-survey">lägen för användargränssnittet</link> som du kan använda för att välja arbetsområdets utseende och känsla, </para></listitem> + <listitem><para>en <link linkend="applicationwizard">programguide</link>, som hjälper dig ställa in ett nytt projekt, </para></listitem> + <listitem><para>flera <link linkend="makesystems">system för projekthantering</link>, som hjälper till att bygga och hantera projektet, </para></listitem> + <listitem><para>några <link linkend="editing">redigeringsverktyg</link> för att enkelt kunna arbeta med programtexten, </para></listitem> + <listitem><para>diverse <link linkend="file-browsers">filbläddrare</link>, som ger dig olika vyer av filsystemet, </para></listitem> + <listitem><para>diverse <link linkend="class-browsers">klassbläddrare</link> för att hjälpa dig underhålla klasser och deras förhållanden i ett objektorienterat programmeringsprojekt, </para></listitem> + <listitem><para>ett <link linkend="debugger">avlusningsgränssnitt</link> för att hitta och ta bort programfel inifrån &tdevelop;, och </para></listitem> + <listitem><para>flera <link linkend="plugin-tools">insticksverktyg</link>, utökningsbara moduler, eller delprogram, som laddas när programmet kör och vid behov. Det gör det möjligt för dig att bara aktivera de funktioner som du verkligen behöver. </para></listitem> + <listitem><para>en uppsättning andra diagnos-, dokumentations- och optimeringsverktyg. </para></listitem> </itemizedlist> </para> <note> - <para ->Det finns i själva verket tre &tdevelop;-baserade program: </para> + <para>Det finns i själva verket tre &tdevelop;-baserade program: </para> <itemizedlist> - <listitem -><para ->Den integrerade utvecklingsmiljön &tdevelop;: Det här är platsen där du oftast arbetar.</para -></listitem> - <listitem -><para ->Den fristående dokumentationsbläddraren &tdevelop; assistent: Isolerar alla kraftfulla dokumentationsfunktioner i utvecklingsmiljön &tdevelop; i ett separat verktyg. Det här är praktiskt när du vill slå upp någon programmeringsdokumentation, men inte vill starta den fullständiga utvecklingsmiljön.</para -></listitem> - <listitem -><para ->&tdevelop; Designer: Utökar &Qt; Designer för grafiska gränssnitt med element specifika för &kde; och integreras på ett bra sätt i utvecklingsmiljön &tdevelop;.</para -></listitem> + <listitem><para>Den integrerade utvecklingsmiljön &tdevelop;: Det här är platsen där du oftast arbetar.</para></listitem> + <listitem><para>Den fristående dokumentationsbläddraren &tdevelop; assistent: Isolerar alla kraftfulla dokumentationsfunktioner i utvecklingsmiljön &tdevelop; i ett separat verktyg. Det här är praktiskt när du vill slå upp någon programmeringsdokumentation, men inte vill starta den fullständiga utvecklingsmiljön.</para></listitem> + <listitem><para>&tdevelop; Designer: Utökar &Qt; Designer för grafiska gränssnitt med element specifika för &kde; och integreras på ett bra sätt i utvecklingsmiljön &tdevelop;.</para></listitem> </itemizedlist> </note> <sect1 id="uimodes-survey"> -<title ->Tillgängliga lägen för användargränssnitt</title> +<title>Tillgängliga lägen för användargränssnitt</title> <indexterm zone="uimodes-survey"> - <primary ->&tdevelop;</primary> - <secondary ->lägen för användargränssnitt</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>lägen för användargränssnitt</secondary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->användargränssnitt</primary> - <secondary ->Lägen i &tdevelop;</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>Lägen i &tdevelop;</secondary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->Gränssnittslägen</primary -></indexterm> + <primary>Gränssnittslägen</primary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->Underramsfönster</primary -></indexterm> + <primary>Underramsfönster</primary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->Fliksidor</primary -></indexterm> + <primary>Fliksidor</primary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->Toppnivåfönster</primary -></indexterm> + <primary>Toppnivåfönster</primary></indexterm> <indexterm zone="uimodes-survey"> - <primary ->IDEA-fönster</primary -></indexterm> - -<para ->&tdevelop; erbjuder fyra olika gränssnittslägen (klicka på lägesnamnet för att se ett exempel): <itemizedlist> - <listitem -><para -><link linkend="ideal-desc" ->IDEA-fönster</link -></para> - <para ->Det här är ett nytt sorts användargränssnitt som både optimerar arbetsutrymmet och ger en intuitiv användning av verktygen. </para> + <primary>IDEA-fönster</primary></indexterm> + +<para>&tdevelop; erbjuder fyra olika gränssnittslägen (klicka på lägesnamnet för att se ett exempel): <itemizedlist> + <listitem><para><link linkend="ideal-desc">IDEA-fönster</link></para> + <para>Det här är ett nytt sorts användargränssnitt som både optimerar arbetsutrymmet och ger en intuitiv användning av verktygen. </para> <itemizedlist> - <listitem -><para ->Alla verktygsfönster är dockade som en flikrad omkring huvudramens område. De är grupperade till vänster, längst ner och till höger enligt de tjänster de erbjuder. </para -></listitem> - <listitem -><para ->Editor- och bläddrarfönster överlagras i ett stort fönster med flikar mitt i huvudramens område. </para -></listitem> + <listitem><para>Alla verktygsfönster är dockade som en flikrad omkring huvudramens område. De är grupperade till vänster, längst ner och till höger enligt de tjänster de erbjuder. </para></listitem> + <listitem><para>Editor- och bläddrarfönster överlagras i ett stort fönster med flikar mitt i huvudramens område. </para></listitem> </itemizedlist> </listitem> <listitem> - <para -><link linkend="mdi-desc" ->Underramsfönster</link -></para> + <para><link linkend="mdi-desc">Underramsfönster</link></para> <itemizedlist> - <listitem -><para ->Alla verktygsvyer är från början dockade i huvudramen.</para -></listitem> - <listitem -><para ->Editor- och bläddrarfönster existerar som toppnivåfönster inne i ett vyområde i huvudramen.</para -></listitem> + <listitem><para>Alla verktygsvyer är från början dockade i huvudramen.</para></listitem> + <listitem><para>Editor- och bläddrarfönster existerar som toppnivåfönster inne i ett vyområde i huvudramen.</para></listitem> </itemizedlist> </listitem> <listitem> - <para -><link linkend="tabbed-desc" ->Fliksidor</link -></para> + <para><link linkend="tabbed-desc">Fliksidor</link></para> <itemizedlist> - <listitem -><para ->Alla verktygsvyer är från början dockade i huvudramen. </para -></listitem> - <listitem -><para ->Editor- och bläddrarfönster överlagras i ett fönster med flikar. </para -></listitem> + <listitem><para>Alla verktygsvyer är från början dockade i huvudramen. </para></listitem> + <listitem><para>Editor- och bläddrarfönster överlagras i ett fönster med flikar. </para></listitem> </itemizedlist> </listitem> <listitem> - <para -><link linkend="toplevel-desc" ->Toppnivåfönster</link -></para> + <para><link linkend="toplevel-desc">Toppnivåfönster</link></para> <itemizedlist> - <listitem -><para ->Alla editor-, bläddrar- och verktygsfönster är toppnivåfönster direkt på skrivbordet. </para -></listitem> - <listitem -><para ->Huvudkomponenten innehåller bara menyraden, verktygsrader och statusraden. </para -></listitem> + <listitem><para>Alla editor-, bläddrar- och verktygsfönster är toppnivåfönster direkt på skrivbordet. </para></listitem> + <listitem><para>Huvudkomponenten innehåller bara menyraden, verktygsrader och statusraden. </para></listitem> </itemizedlist> </listitem> @@ -220,557 +97,259 @@ </para> <sect2 id="uimodes-switch"> -<title ->Hur man byter läge för användargränssnitt</title> +<title>Hur man byter läge för användargränssnitt</title> <indexterm zone="uimodes-switch"> - <primary ->användargränssnitt</primary> - <secondary ->byta läge</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>byta läge</secondary></indexterm> <indexterm zone="uimodes-switch"> - <primary ->byta gränssnittsläget</primary -></indexterm> - -<para ->För att byta läge för användargränssnittet, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Anpassa KDevelop...</guimenuitem -></menuchoice -> i menyraden. Dialogrutan <guilabel ->Anpassa KDevelop</guilabel -> dyker upp, där du måste välja <guilabel ->Användargränssnitt</guilabel -> i trädet till vänster. Då öppnas inställningssidan som visas nedan: </para> + <primary>byta gränssnittsläget</primary></indexterm> + +<para>För att byta läge för användargränssnittet, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Anpassa KDevelop...</guimenuitem></menuchoice> i menyraden. Dialogrutan <guilabel>Anpassa KDevelop</guilabel> dyker upp, där du måste välja <guilabel>Användargränssnitt</guilabel> i trädet till vänster. Då öppnas inställningssidan som visas nedan: </para> <screenshot> <mediaobject> <imageobject> <imagedata fileref="select-user-interface.png" format="PNG"/> </imageobject> - <caption -><para ->Välj ett användargränssnittsläge </para -></caption> + <caption><para>Välj ett användargränssnittsläge </para></caption> </mediaobject> </screenshot> -<para ->(Äldre versioner av &tdevelop; erbjuder bara valet Toppnivåläge.) </para> +<para>(Äldre versioner av &tdevelop; erbjuder bara valet Toppnivåläge.) </para> -<para ->i rutan <guilabel ->Huvudsakligt användargränssnitt</guilabel -> välj alternativknappen för användargränssnittsläget du vill arbeta med. </para> -<para ->Beroende på användargränssnittsläget du valde, blir andra inställningsrutor tillgängliga där du kan skräddarsy ytterligare detaljer för utseende och känsla i dina inställningar. Se kapitlet <link linkend="setup-ui" ->Välja användargränssnitt</link -> för mer information. </para> +<para>i rutan <guilabel>Huvudsakligt användargränssnitt</guilabel> välj alternativknappen för användargränssnittsläget du vill arbeta med. </para> +<para>Beroende på användargränssnittsläget du valde, blir andra inställningsrutor tillgängliga där du kan skräddarsy ytterligare detaljer för utseende och känsla i dina inställningar. Se kapitlet <link linkend="setup-ui">Välja användargränssnitt</link> för mer information. </para> -<note -><para ->Glöm inte att starta om &tdevelop; för att dina val ska få effekt. </para -></note> +<note><para>Glöm inte att starta om &tdevelop; för att dina val ska få effekt. </para></note> -</sect2 -> <!-- uimodes-switch --> +</sect2> <!-- uimodes-switch --> <sect2 id="maximize-workspace"> -<title ->Hur man maximerar arbetsområdet</title> +<title>Hur man maximerar arbetsområdet</title> <indexterm zone="maximize-workspace"> - <primary ->&tdevelop;</primary> - <secondary ->arbetsområde</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>arbetsområde</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->&tdevelop;</primary> - <secondary ->maximera arbetsområde</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>maximera arbetsområde</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->användargränssnitt</primary> - <secondary ->arbetsområde</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>arbetsområde</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->användargränssnitt</primary> - <secondary ->menyrad</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>menyrad</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->användargränssnitt</primary> - <secondary ->fullskärmsläge</secondary -></indexterm> + <primary>användargränssnitt</primary> + <secondary>fullskärmsläge</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->fullskärmsläge</primary -></indexterm> + <primary>fullskärmsläge</primary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->menyrad</primary> - <secondary ->dölj/visa</secondary -></indexterm> + <primary>menyrad</primary> + <secondary>dölj/visa</secondary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->dölj menyrad</primary -></indexterm> + <primary>dölj menyrad</primary></indexterm> <indexterm zone="maximize-workspace"> - <primary ->visa menyrad</primary -></indexterm> + <primary>visa menyrad</primary></indexterm> -<para ->Det finns ett fullskärmsläge tillgängligt för att maximera utrymmet, som expanderar huvudramens område till skärmkanterna. Ytterligare utrymme kan återtas genom att dölja menyraden. Du kan förstås också dölja alla verktygsrader, som vanligt i <application ->KDE</application ->-program. </para> +<para>Det finns ett fullskärmsläge tillgängligt för att maximera utrymmet, som expanderar huvudramens område till skärmkanterna. Ytterligare utrymme kan återtas genom att dölja menyraden. Du kan förstås också dölja alla verktygsrader, som vanligt i <application>KDE</application>-program. </para> <variablelist> <varlistentry> -<term ->Fullskärmsläge</term> +<term>Fullskärmsläge</term> <listitem> -<para ->För att byta till eller från fullskärmsläge, välj <menuchoice -><guimenu ->Visa</guimenu -> <guimenuitem ->Fullskärmsläge</guimenuitem -></menuchoice -> i menyraden, eller tryck på <keycombo ->&Ctrl;&Shift;<keycap ->F</keycap -></keycombo ->. Det finns också en ikon för <guiicon ->Fullskärmsläge</guiicon -> tillgänglig i <guilabel ->Bläddringsverktygsraden</guilabel ->..</para> +<para>För att byta till eller från fullskärmsläge, välj <menuchoice><guimenu>Visa</guimenu> <guimenuitem>Fullskärmsläge</guimenuitem></menuchoice> i menyraden, eller tryck på <keycombo>&Ctrl;&Shift;<keycap>F</keycap></keycombo>. Det finns också en ikon för <guiicon>Fullskärmsläge</guiicon> tillgänglig i <guilabel>Bläddringsverktygsraden</guilabel>..</para> </listitem> </varlistentry> <varlistentry> -<term ->Visa eller dölj menyraden</term> +<term>Visa eller dölj menyraden</term> <listitem> -<para ->För att <emphasis ->dölja</emphasis -> menyraden, välj <menuchoice -><guimenu ->Inställningar</guimenu -> <guimenuitem ->Visa menyrad</guimenuitem -></menuchoice -> i menyraden, eller tryck på <keycombo ->&Ctrl; <keycap ->M</keycap -></keycombo ->. Du kan också lägga till ikonen <guiicon ->Visa menyrad</guiicon -> på en lämplig verktygsrad, t.ex. <guilabel ->Bläddringsverktygsraden</guilabel -> för ändamålet. För att <emphasis ->visa</emphasis -> menyraden igen, måste du trycka på <keycombo ->&Ctrl; <keycap ->M</keycap -></keycombo ->, eller använda ikonen <guiicon ->Visa menyrad</guiicon ->, om den är tillgänglig. </para> +<para>För att <emphasis>dölja</emphasis> menyraden, välj <menuchoice><guimenu>Inställningar</guimenu> <guimenuitem>Visa menyrad</guimenuitem></menuchoice> i menyraden, eller tryck på <keycombo>&Ctrl; <keycap>M</keycap></keycombo>. Du kan också lägga till ikonen <guiicon>Visa menyrad</guiicon> på en lämplig verktygsrad, t.ex. <guilabel>Bläddringsverktygsraden</guilabel> för ändamålet. För att <emphasis>visa</emphasis> menyraden igen, måste du trycka på <keycombo>&Ctrl; <keycap>M</keycap></keycombo>, eller använda ikonen <guiicon>Visa menyrad</guiicon>, om den är tillgänglig. </para> </listitem> </varlistentry> </variablelist> -</sect2 -> <!-- maximize-workspace --> +</sect2> <!-- maximize-workspace --> -</sect1 -> <!-- uimodes-survey --> +</sect1> <!-- uimodes-survey --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="ui-elements"> -<title ->Element i användargränssnittet</title> +<title>Element i användargränssnittet</title> -<para ->(... ännu inte skrivet ...) </para> +<para>(... ännu inte skrivet ...) </para> <sect2 id="ui-elements-workarea"> -<title ->Arbetsområdet</title> +<title>Arbetsområdet</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-workarea --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-workarea --> <sect2 id="ui-elements-titlebar"> -<title ->Namnlisten i &tdevelop;</title> +<title>Namnlisten i &tdevelop;</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-titlebar --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-titlebar --> <sect2 id="ui-elements-statusbar"> -<title ->Statusraden i &tdevelop;</title> +<title>Statusraden i &tdevelop;</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-statusbar --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-statusbar --> <sect2 id="ui-elements-menubar"> -<title ->Menyraden</title> +<title>Menyraden</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-menubar --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-menubar --> <sect2 id="ui-elements-toolbars"> -<title ->Verktygsraderna</title> +<title>Verktygsraderna</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-toolbars --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-toolbars --> <sect2 id="ui-elements-treetoolviews"> -<title ->Trädverktygsvyerna</title> +<title>Trädverktygsvyerna</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-treetoolviews --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-treetoolviews --> <sect2 id="ui-elements-outputtoolviews"> -<title ->Utmatningsverktygsvyerna</title> +<title>Utmatningsverktygsvyerna</title> -<para ->(... ännu inte skrivet ...) </para> -</sect2 -> <!-- ui-elements-outputtoolviews --> +<para>(... ännu inte skrivet ...) </para> +</sect2> <!-- ui-elements-outputtoolviews --> -</sect1 -> <!-- ui-elements --> +</sect1> <!-- ui-elements --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="makesystems"> -<title ->Projekthanteringssystem</title> +<title>Projekthanteringssystem</title> <indexterm zone="makesystems"> - <primary ->projekthantering</primary -></indexterm> - -<para ->Totalt sett beror ett projekt på någon form av projekthanteringssystem. &tdevelop; erbjuder fyra <emphasis ->projekthanteringssystem</emphasis -> som programmeraren kan välja bland när ett nytt projekt skapas. <itemizedlist> - <listitem -><para -><link linkend="automake-project" ->Automake-projekt</link -> använder de vanliga utvecklingsverktygen för &GNU;. </para -></listitem> - <listitem -><para -><link linkend="qmake-project" ->Qmake-projekt</link -> använder Trolltechs Qmake-projekthantering. </para -></listitem> - <listitem -><para -><link linkend="ant-project" ->ANT-projekt</link -> använder Apaches ANT-projekthantering för Java-utveckling. </para -></listitem> - <listitem -><para -><link linkend="custom-project" ->Eget projekt</link -> kräver att du underhåller din egen <filename ->Makefile</filename ->. </para -></listitem> + <primary>projekthantering</primary></indexterm> + +<para>Totalt sett beror ett projekt på någon form av projekthanteringssystem. &tdevelop; erbjuder fyra <emphasis>projekthanteringssystem</emphasis> som programmeraren kan välja bland när ett nytt projekt skapas. <itemizedlist> + <listitem><para><link linkend="automake-project">Automake-projekt</link> använder de vanliga utvecklingsverktygen för &GNU;. </para></listitem> + <listitem><para><link linkend="qmake-project">Qmake-projekt</link> använder Trolltechs Qmake-projekthantering. </para></listitem> + <listitem><para><link linkend="ant-project">ANT-projekt</link> använder Apaches ANT-projekthantering för Java-utveckling. </para></listitem> + <listitem><para><link linkend="custom-project">Eget projekt</link> kräver att du underhåller din egen <filename>Makefile</filename>. </para></listitem> </itemizedlist> </para> <sect2 id="automake-project"> -<title ->Automake-projekt</title> +<title>Automake-projekt</title> <indexterm zone="automake-project"> - <primary ->projekt</primary> - <secondary ->automake</secondary -></indexterm> + <primary>projekt</primary> + <secondary>automake</secondary></indexterm> <indexterm zone="automake-project"> - <primary ->automake</primary> - <secondary ->projekt</secondary -></indexterm> - -<para ->Projekt som skapats med Hantering av automake i &tdevelop; gör det mycket lätt för utvecklare att använda de vanliga &GNU; utvecklingsverktygen. De tillhandahåller <itemizedlist> - <listitem -><para ->ett bättre sätt att skapa en <filename ->Makefile</filename -> och </para -></listitem> - <listitem -><para ->ett bra och säkert sätt för snabb anpassning till olika system med <filename ->configure</filename ->-skript skapade av autoconf. </para -></listitem> + <primary>automake</primary> + <secondary>projekt</secondary></indexterm> + +<para>Projekt som skapats med Hantering av automake i &tdevelop; gör det mycket lätt för utvecklare att använda de vanliga &GNU; utvecklingsverktygen. De tillhandahåller <itemizedlist> + <listitem><para>ett bättre sätt att skapa en <filename>Makefile</filename> och </para></listitem> + <listitem><para>ett bra och säkert sätt för snabb anpassning till olika system med <filename>configure</filename>-skript skapade av autoconf. </para></listitem> </itemizedlist> </para> -</sect2 -> <!-- automake-project --> +</sect2> <!-- automake-project --> <sect2 id="qmake-project"> -<title ->Qmake-projekt</title> +<title>Qmake-projekt</title> <indexterm zone="qmake-project"> - <primary ->projekt</primary> - <secondary ->qmake</secondary -></indexterm> + <primary>projekt</primary> + <secondary>qmake</secondary></indexterm> <indexterm zone="qmake-project"> - <primary ->qmake</primary> - <secondary ->projekt</secondary -></indexterm> - -<para ->För utvecklare som glädjer sig åt flexibiliteten och känslan i &Qt;:s qmake-system, erbjuder &tdevelop; möjlighet att hantera qmake-baserade projekt (.pro-filer) inne i det grafiska gränssnittet. </para> -<para ->För mer information om Qmake-projekthantering se <citetitle ->Qmake User Guide</citetitle ->, som ska finnas med i distributionen, eller ta en titt på hemsidan <ulink url="http://doc.trolltech.com/" ->Trolltech Documentation</ulink -> där du hittar Qmake-dokumentationen under <quote ->Qt C++ GUI Application Development Toolkit</quote ->. </para> -</sect2 -> <!-- qmake-project --> + <primary>qmake</primary> + <secondary>projekt</secondary></indexterm> + +<para>För utvecklare som glädjer sig åt flexibiliteten och känslan i &Qt;:s qmake-system, erbjuder &tdevelop; möjlighet att hantera qmake-baserade projekt (.pro-filer) inne i det grafiska gränssnittet. </para> +<para>För mer information om Qmake-projekthantering se <citetitle>Qmake User Guide</citetitle>, som ska finnas med i distributionen, eller ta en titt på hemsidan <ulink url="http://doc.trolltech.com/">Trolltech Documentation</ulink> där du hittar Qmake-dokumentationen under <quote>Qt C++ GUI Application Development Toolkit</quote>. </para> +</sect2> <!-- qmake-project --> <sect2 id="cmake-project"> -<title ->CMake-projekt</title> +<title>CMake-projekt</title> <indexterm zone="cmake-project"> - <primary ->projekt</primary> - <secondary ->cmake</secondary -></indexterm> + <primary>projekt</primary> + <secondary>cmake</secondary></indexterm> <indexterm zone="cmake-project"> - <primary ->cmake</primary> - <secondary ->projekt</secondary -></indexterm> - -<para ->CMake kommer att vara &kde;:s byggsystem för &kde; 4 och &tdevelop; tillhandahåller redan några mallar baserade på CMake för C och C++. Du behöver bara programmet cmake i $<envar ->PATH</envar -> för att bygga dem. </para> -<para ->För att ställa in ett nytt C eller C++ projekt i &tdevelop; välj <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt...</guimenuitem -> <guimenuitem ->C eller C++</guimenuitem -> <guimenuitem ->CMake-baserade projekt</guimenuitem -> <guimenuitem ->En mall för delat bibliotek eller Hello world program</guimenuitem -> </menuchoice ->. </para> -</sect2 -> <!-- cmake-project --> + <primary>cmake</primary> + <secondary>projekt</secondary></indexterm> + +<para>CMake kommer att vara &kde;:s byggsystem för &kde; 4 och &tdevelop; tillhandahåller redan några mallar baserade på CMake för C och C++. Du behöver bara programmet cmake i $<envar>PATH</envar> för att bygga dem. </para> +<para>För att ställa in ett nytt C eller C++ projekt i &tdevelop; välj <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt...</guimenuitem> <guimenuitem>C eller C++</guimenuitem> <guimenuitem>CMake-baserade projekt</guimenuitem> <guimenuitem>En mall för delat bibliotek eller Hello world program</guimenuitem> </menuchoice>. </para> +</sect2> <!-- cmake-project --> <sect2 id="ant-project"> -<title ->ANT-projekthantering (&Java;-projekt)</title> +<title>ANT-projekthantering (&Java;-projekt)</title> <indexterm zone="ant-project"> - <primary ->projekt</primary> - <secondary ->ant</secondary -></indexterm> + <primary>projekt</primary> + <secondary>ant</secondary></indexterm> <indexterm zone="ant-project"> - <primary ->ant</primary> - <secondary ->projekt</secondary -></indexterm> + <primary>ant</primary> + <secondary>projekt</secondary></indexterm> <indexterm zone="ant-project"> - <primary ->projekt</primary> - <secondary ->Java</secondary -></indexterm> + <primary>projekt</primary> + <secondary>Java</secondary></indexterm> <indexterm zone="ant-project"> - <primary ->Java</primary> - <secondary ->projekt</secondary -></indexterm> + <primary>Java</primary> + <secondary>projekt</secondary></indexterm> <indexterm zone="ant-project"> - <primary ->utveckling</primary> - <secondary ->Java</secondary -></indexterm> - -<para ->&Java;-utvecklare kan vilja använda Apaches ANT-projekthantering för sina projekt. För att skapa ett nytt ANT-projekt i &tdevelop;, välj <menuchoice -><guimenu ->Projekt</guimenu -> <guimenuitem ->Nytt projekt...</guimenuitem -> <guimenuitem ->Java</guimenuitem -> <guimenuitem ->Ant project</guimenuitem -> <guimenuitem ->Application</guimenuitem -></menuchoice ->. </para> -<para ->För mer information se <ulink url="http://ant.apache.org/" ->Ant-projektets hemsida</ulink ->. </para> -</sect2 -> <!-- ant-project --> + <primary>utveckling</primary> + <secondary>Java</secondary></indexterm> + +<para>&Java;-utvecklare kan vilja använda Apaches ANT-projekthantering för sina projekt. För att skapa ett nytt ANT-projekt i &tdevelop;, välj <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Nytt projekt...</guimenuitem> <guimenuitem>Java</guimenuitem> <guimenuitem>Ant project</guimenuitem> <guimenuitem>Application</guimenuitem></menuchoice>. </para> +<para>För mer information se <ulink url="http://ant.apache.org/">Ant-projektets hemsida</ulink>. </para> +</sect2> <!-- ant-project --> <sect2 id="custom-project"> -<title ->Eget projekt</title> +<title>Eget projekt</title> <indexterm zone="custom-project"> - <primary ->projekt</primary> - <secondary ->eget</secondary -></indexterm> + <primary>projekt</primary> + <secondary>eget</secondary></indexterm> <indexterm zone="custom-project"> - <primary ->eget projekt</primary -></indexterm> + <primary>eget projekt</primary></indexterm> <indexterm zone="custom-project"> - <primary ->Makefile</primary> - <secondary ->eget projekt</secondary -></indexterm> - -<para ->Om du föredrar att underhålla din egen <filename ->Makefile</filename -> för projektet, kan du använda alternativet med ett eget projekt i &tdevelop;. Det kan vara passande i projekt med ovanlig struktur, eller om du vill behålla fullständig kontroll över byggprocessen. </para> -<para ->Om du ändå inte <emphasis ->verkligen behöver</emphasis -> den egna projekthanteringens extra flexibilitet och kontroll, bör du fundera på Hantering av automake eller någon annan projekthantering, eftersom de förenklar bygg- och distributionsprocessen för program väsentligt. </para> -</sect2 -> <!-- custom-project --> + <primary>Makefile</primary> + <secondary>eget projekt</secondary></indexterm> + +<para>Om du föredrar att underhålla din egen <filename>Makefile</filename> för projektet, kan du använda alternativet med ett eget projekt i &tdevelop;. Det kan vara passande i projekt med ovanlig struktur, eller om du vill behålla fullständig kontroll över byggprocessen. </para> +<para>Om du ändå inte <emphasis>verkligen behöver</emphasis> den egna projekthanteringens extra flexibilitet och kontroll, bör du fundera på Hantering av automake eller någon annan projekthantering, eftersom de förenklar bygg- och distributionsprocessen för program väsentligt. </para> +</sect2> <!-- custom-project --> <sect2 id="makesystems-distribution"> -<title ->Hur du kan distribuera ditt program</title> +<title>Hur du kan distribuera ditt program</title> <indexterm zone="makesystems-distribution"> - <primary ->distribution</primary -></indexterm> + <primary>distribution</primary></indexterm> <indexterm zone="makesystems-distribution"> - <primary ->program</primary> - <secondary ->distribution</secondary -></indexterm> + <primary>program</primary> + <secondary>distribution</secondary></indexterm> <indexterm zone="makesystems-distribution"> - <primary ->binärpaket</primary -></indexterm> - -<para ->Distributionen av ditt program kräver inte att slutanvändaren har installerat något ytterligare än <itemizedlist> - <listitem -><para ->en lämplig kompilator,</para -></listitem> - <listitem -><para ->en länkare, och</para -></listitem> - <listitem -><para ->de lämpliga utvecklingsbiblioteken,</para -></listitem> + <primary>binärpaket</primary></indexterm> + +<para>Distributionen av ditt program kräver inte att slutanvändaren har installerat något ytterligare än <itemizedlist> + <listitem><para>en lämplig kompilator,</para></listitem> + <listitem><para>en länkare, och</para></listitem> + <listitem><para>de lämpliga utvecklingsbiblioteken,</para></listitem> </itemizedlist> </para> -<para ->vilket åtminstone för C++ program oftast är fallet. Men du kan lika väl distribuera <emphasis ->binärpaket</emphasis -> av programmet. Hur som helst, behöver inte slutanvändaren av produkten installera &tdevelop;. </para> -<para ->Om du ger bort din källkod, råder vi dig att också ta med <emphasis ->projektfilen</emphasis -> för &tdevelop;. Det gör det mycket enkelt för andra utvecklare, om de använder &tdevelop;, att arbeta med källkoden. </para> -<para ->För projekt där <emphasis ->flera utvecklare</emphasis ->, som kanske arbetar på olika ställen, är inblandade, bör detta vara fallet ändå. Du kan försäkra dig om överensstämmelse för alla <filename ->Makefile</filename ->, för att inte råka ut för bekymmer. </para> -<para ->Särskilt för program med flera språk, arbetar inte <emphasis ->översättare</emphasis -> direkt med källkoden, utom i fall som kräver rättning för att göra det möjligt med översättningsstöd. </para> - -</sect2 -> <!-- makesystems-distribution --> - -</sect1 -> <!-- makesystems --> - -</chapter -> <!-- tdevelop-survey --> +<para>vilket åtminstone för C++ program oftast är fallet. Men du kan lika väl distribuera <emphasis>binärpaket</emphasis> av programmet. Hur som helst, behöver inte slutanvändaren av produkten installera &tdevelop;. </para> +<para>Om du ger bort din källkod, råder vi dig att också ta med <emphasis>projektfilen</emphasis> för &tdevelop;. Det gör det mycket enkelt för andra utvecklare, om de använder &tdevelop;, att arbeta med källkoden. </para> +<para>För projekt där <emphasis>flera utvecklare</emphasis>, som kanske arbetar på olika ställen, är inblandade, bör detta vara fallet ändå. Du kan försäkra dig om överensstämmelse för alla <filename>Makefile</filename>, för att inte råka ut för bekymmer. </para> +<para>Särskilt för program med flera språk, arbetar inte <emphasis>översättare</emphasis> direkt med källkoden, utom i fall som kräver rättning för att göra det möjligt med översättningsstöd. </para> + +</sect2> <!-- makesystems-distribution --> + +</sect1> <!-- makesystems --> + +</chapter> <!-- tdevelop-survey --> diff --git a/tde-i18n-sv/docs/tdevelop/tdevelop/unixdev.docbook b/tde-i18n-sv/docs/tdevelop/tdevelop/unixdev.docbook index be8d66dbc9b..916fb4779ab 100644 --- a/tde-i18n-sv/docs/tdevelop/tdevelop/unixdev.docbook +++ b/tde-i18n-sv/docs/tdevelop/tdevelop/unixdev.docbook @@ -2,640 +2,292 @@ <appendixinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </appendixinfo> -<title ->Utveckling på &UNIX;</title> +<title>Utveckling på &UNIX;</title> -<indexterm zone="unixdev" -><primary ->utveckling</primary -></indexterm> +<indexterm zone="unixdev"><primary>utveckling</primary></indexterm> <indexterm zone="unixdev"> - <primary ->&UNIX;</primary> - <secondary ->utveckling</secondary -></indexterm> + <primary>&UNIX;</primary> + <secondary>utveckling</secondary></indexterm> <sect1 id="history"> -<title ->Några historiska anmärkningar</title> - -<indexterm zone="history" -><primary ->historia</primary -></indexterm> -<indexterm zone="history" -><primary ->skriptspråk</primary -></indexterm> +<title>Några historiska anmärkningar</title> + +<indexterm zone="history"><primary>historia</primary></indexterm> +<indexterm zone="history"><primary>skriptspråk</primary></indexterm> <indexterm zone="history"> - <primary ->&UNIX;</primary> - <secondary ->historia</secondary -></indexterm> + <primary>&UNIX;</primary> + <secondary>historia</secondary></indexterm> <indexterm zone="history"> - <primary ->&UNIX;</primary> - <secondary ->rörledning</secondary -></indexterm> + <primary>&UNIX;</primary> + <secondary>rörledning</secondary></indexterm> <indexterm zone="history"> - <primary ->&UNIX;</primary> - <secondary ->skal</secondary -></indexterm> + <primary>&UNIX;</primary> + <secondary>skal</secondary></indexterm> <indexterm zone="history"> - <primary ->skal</primary> - <secondary ->&UNIX;</secondary -></indexterm> - -<para ->Från början har &UNIX; upprätthållit två mycket olika utvecklingsmodeller. Den ena är sfären av programspråk för <emphasis ->system och tillämpningar</emphasis ->, där en källkod översätts till maskinkod med en <emphasis ->kompilator</emphasis -> eller <emphasis ->tolk</emphasis ->. Programspråket C är ett exempel på detta. Unix var den första operativsystemkärnan som skrevs i ett högnivåspråk istället för maskinnära assembler, som var vanligt innan dess. (I själva verket uppfanns till och med språket C för att skriva Unix-kärnan, och tillhörande program, på en DEC PDP-11 dator.) </para> -<para ->Den andra modellen är sfären med <emphasis ->skriptspråk</emphasis ->, som startade med uppfinningen av &UNIX;-skalet, som samtidigt var operativsystemets användargränssnitt, och ett programspråk på mycket hög nivå. Ett skalskript byggs upp av en mängd små verktyg som t.ex. <command ->grep</command ->, <command ->sed</command -> eller <command ->find</command ->. Varje sådant verktyg är konstruerat för en väl avgränsad uppgift. Tricket är att alla sådana verktyg kan kopplas ihop med varandra via en enkel överföringsmekanism, kallat <emphasis ->rörledning</emphasis ->, som skickar utmatningen från föregående verktyg till inmatningen för nästa. Det ger grunden till en mycket kraftfull och flexibel programmeringsmetod. </para> -<para ->Med tiden har båda sfärerna utvecklats. Medan C fortfarande i huvudsak används som ett systemprogramspråk, har C++, som en variant av C berikad med objektorienterade och generiska utökningar, funnit sin plats vid utveckling av komplexa program under 1990-talet. Det finns många andra programspråk, till och med äldre behåller sin plats. FORTRAN77 och Ada har t.ex. fortfarande sina fästen i numeriska tillämpningar. </para> -</sect1 -> <!-- history --> + <primary>skal</primary> + <secondary>&UNIX;</secondary></indexterm> + +<para>Från början har &UNIX; upprätthållit två mycket olika utvecklingsmodeller. Den ena är sfären av programspråk för <emphasis>system och tillämpningar</emphasis>, där en källkod översätts till maskinkod med en <emphasis>kompilator</emphasis> eller <emphasis>tolk</emphasis>. Programspråket C är ett exempel på detta. Unix var den första operativsystemkärnan som skrevs i ett högnivåspråk istället för maskinnära assembler, som var vanligt innan dess. (I själva verket uppfanns till och med språket C för att skriva Unix-kärnan, och tillhörande program, på en DEC PDP-11 dator.) </para> +<para>Den andra modellen är sfären med <emphasis>skriptspråk</emphasis>, som startade med uppfinningen av &UNIX;-skalet, som samtidigt var operativsystemets användargränssnitt, och ett programspråk på mycket hög nivå. Ett skalskript byggs upp av en mängd små verktyg som t.ex. <command>grep</command>, <command>sed</command> eller <command>find</command>. Varje sådant verktyg är konstruerat för en väl avgränsad uppgift. Tricket är att alla sådana verktyg kan kopplas ihop med varandra via en enkel överföringsmekanism, kallat <emphasis>rörledning</emphasis>, som skickar utmatningen från föregående verktyg till inmatningen för nästa. Det ger grunden till en mycket kraftfull och flexibel programmeringsmetod. </para> +<para>Med tiden har båda sfärerna utvecklats. Medan C fortfarande i huvudsak används som ett systemprogramspråk, har C++, som en variant av C berikad med objektorienterade och generiska utökningar, funnit sin plats vid utveckling av komplexa program under 1990-talet. Det finns många andra programspråk, till och med äldre behåller sin plats. FORTRAN77 och Ada har t.ex. fortfarande sina fästen i numeriska tillämpningar. </para> +</sect1> <!-- history --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="unixdev-scripting-languages"> -<title ->Moderna skriptspråk</title> -<para ->I skriptområdet har det skett ett skifte bort från skalet, som lider av flyttbarhetsproblem, till språk som samlar alla vanliga funktioner i standardbibliotek, medan de fortfarande kan ha gränssnitt mot omvärlden via rörledningar när det behövs. </para> -<para ->Alla skriptspråk har gemensamt att de ofta är flyttbara mellan många &UNIX;-varianter, &Microsoft; &Windows;, &MacOS; eller till och med VMS. Dessutom har de alla implementeringar som kan distribueras fritt. </para> +<title>Moderna skriptspråk</title> +<para>I skriptområdet har det skett ett skifte bort från skalet, som lider av flyttbarhetsproblem, till språk som samlar alla vanliga funktioner i standardbibliotek, medan de fortfarande kan ha gränssnitt mot omvärlden via rörledningar när det behövs. </para> +<para>Alla skriptspråk har gemensamt att de ofta är flyttbara mellan många &UNIX;-varianter, &Microsoft; &Windows;, &MacOS; eller till och med VMS. Dessutom har de alla implementeringar som kan distribueras fritt. </para> <sect2 id="unixdev-SL-Perl"> -<title ->&perl;</title> +<title>&perl;</title> -<indexterm zone="unixdev-SL-Perl" -><primary ->Perl</primary -></indexterm> +<indexterm zone="unixdev-SL-Perl"><primary>Perl</primary></indexterm> <indexterm zone="unixdev-SL-Perl"> - <primary ->skriptspråk</primary> - <secondary ->Perl</secondary -></indexterm> - -<para -><ulink url="http://www.perl.com" ->&perl;</ulink -> har blivit populärt som textbehandlings- och systemadministrationsspråk. Från starten av webben användes CGI-skript skrivna i &perl; som ett utbrett sätt att skapa dynamiska webbsidor från databaser. Idag har den metoden ofta ersatts med insticksprogrammet <command ->mod_perl</command -> för webbservern &apache;. Bland &perl;s styrkor är dess inbyggda stöd för avancerade reguljära uttryck, och rika arkiv med fritt distribuerade moduler. </para> -<para ->För mer information se webbplatsen <ulink url="http://cpan.org" ->Comprehensive Perl Archive Network (<acronym ->CPAN</acronym ->)</ulink ->. </para> -</sect2 -> <!-- unixdev-SL-Perl --> + <primary>skriptspråk</primary> + <secondary>Perl</secondary></indexterm> + +<para><ulink url="http://www.perl.com">&perl;</ulink> har blivit populärt som textbehandlings- och systemadministrationsspråk. Från starten av webben användes CGI-skript skrivna i &perl; som ett utbrett sätt att skapa dynamiska webbsidor från databaser. Idag har den metoden ofta ersatts med insticksprogrammet <command>mod_perl</command> för webbservern &apache;. Bland &perl;s styrkor är dess inbyggda stöd för avancerade reguljära uttryck, och rika arkiv med fritt distribuerade moduler. </para> +<para>För mer information se webbplatsen <ulink url="http://cpan.org">Comprehensive Perl Archive Network (<acronym>CPAN</acronym>)</ulink>. </para> +</sect2> <!-- unixdev-SL-Perl --> <sect2 id="unixdev-SL-Python"> -<title ->Python</title> +<title>Python</title> -<indexterm zone="unixdev-SL-Python" -><primary ->Python</primary -></indexterm> +<indexterm zone="unixdev-SL-Python"><primary>Python</primary></indexterm> <indexterm zone="unixdev-SL-Python"> - <primary ->skriptspråk</primary> - <secondary ->Python</secondary -></indexterm> - -<para -><ulink url="http://www.python.org" ->&python;</ulink -> glänser med elegansen i sitt klassystem och enkelheten och flexibiliteten som yttre bibliotek kan förpackas, på så sätt att de förefaller vara standardklasser och -funktioner i &python;. I motsats till &perl;, har &python; ett klart och koncist inbäddningsgränssnitt, som gör det till bästa val för att möjliggöra skript för C och C++ program. </para> -</sect2 -> <!-- unixdev-SL-Python --> + <primary>skriptspråk</primary> + <secondary>Python</secondary></indexterm> + +<para><ulink url="http://www.python.org">&python;</ulink> glänser med elegansen i sitt klassystem och enkelheten och flexibiliteten som yttre bibliotek kan förpackas, på så sätt att de förefaller vara standardklasser och -funktioner i &python;. I motsats till &perl;, har &python; ett klart och koncist inbäddningsgränssnitt, som gör det till bästa val för att möjliggöra skript för C och C++ program. </para> +</sect2> <!-- unixdev-SL-Python --> <sect2 id="unixdev-SL-PHP"> -<title ->PHP</title> +<title>PHP</title> -<indexterm zone="unixdev-SL-PHP" -><primary ->PHP</primary -></indexterm> +<indexterm zone="unixdev-SL-PHP"><primary>PHP</primary></indexterm> <indexterm zone="unixdev-SL-PHP"> - <primary ->skriptspråk</primary> - <secondary ->PHP</secondary -></indexterm> - -<para -><ulink url="http://www.php.net" ->&php;</ulink -> uppfanns som ett språk för direkt inbäddning på HTML-sidor, och har av den orsaken huvudanvändningen att leverera dynamisk innehåll för webben. </para> -</sect2 -> <!-- unixdev-SL-PHP --> -</sect1 -> <!-- unixdev-scripting-languages --> + <primary>skriptspråk</primary> + <secondary>PHP</secondary></indexterm> + +<para><ulink url="http://www.php.net">&php;</ulink> uppfanns som ett språk för direkt inbäddning på HTML-sidor, och har av den orsaken huvudanvändningen att leverera dynamisk innehåll för webben. </para> +</sect2> <!-- unixdev-SL-PHP --> +</sect1> <!-- unixdev-scripting-languages --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="unixdev-hl-script"> -<title ->Högnivåskript</title> - -<para ->Högnivåprogram i &UNIX; saknar ofta snabbheten och flexibiliteten hos de traditionella teckenbaserade skalskriptmekanismerna. Det är särskilt sant i de grafiska gränssnittens värld, som t.ex. &kde;. </para> -<para ->Försök har gjorts att tillhandahålla liknande mekanismer som fungerar på en högre programnivå, bland de mest nämnvärda är <link linkend="unixdev-corba" ->CORBA</link ->, och i &kde;-miljön, <link linkend="unixdev-dcop" ->&DCOP;</link ->. </para> +<title>Högnivåskript</title> + +<para>Högnivåprogram i &UNIX; saknar ofta snabbheten och flexibiliteten hos de traditionella teckenbaserade skalskriptmekanismerna. Det är särskilt sant i de grafiska gränssnittens värld, som t.ex. &kde;. </para> +<para>Försök har gjorts att tillhandahålla liknande mekanismer som fungerar på en högre programnivå, bland de mest nämnvärda är <link linkend="unixdev-corba">CORBA</link>, och i &kde;-miljön, <link linkend="unixdev-dcop">&DCOP;</link>. </para> <sect2 id="unixdev-corba"> -<title ->CORBA-protokollet</title> +<title>CORBA-protokollet</title> -<indexterm zone="unixdev-corba" -><primary ->CORBA</primary -></indexterm> +<indexterm zone="unixdev-corba"><primary>CORBA</primary></indexterm> <indexterm zone="unixdev-corba"> - <primary ->skriptspråk</primary> - <secondary ->CORBA</secondary -></indexterm> + <primary>skriptspråk</primary> + <secondary>CORBA</secondary></indexterm> <indexterm zone="unixdev-corba"> - <primary ->kommunikation</primary> - <secondary ->CORBA</secondary -></indexterm> - -<para -><ulink url="http://www.omg.org/gettingstarted/corbafaq.htm" ->CORBA</ulink -> (<emphasis ->Common Object Request Broker Architecture</emphasis ->) är ett försök att låta datorprogram arbeta tillsammans via nätverk. Det togs fram av den privata, leverantörsoberoende kommittén <ulink url="http://www.omg.org" ->OMG</ulink -> (Object Management Group). </para> -<para ->CORBA-baserade program använder IIOP-standardprotokollet för att kommunicera. Implementeringar baserade på IIOP är tillgängliga för ett stort antal operativsystem, programspråk och nätverk, och är därför mycket flyttbara. </para> -<para ->Den huvudsakliga nackdelen med CORBA är dess ganska långsamma hastighet. Även om det kan tolereras i nätverk, är det ett verkligt hinder för kommunikation mellan program i en miljö utan nätverk, såsom &kde; när det kör på en enda dator. </para> - -</sect2 -> <!-- unixdev-corba --> + <primary>kommunikation</primary> + <secondary>CORBA</secondary></indexterm> + +<para><ulink url="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA</ulink> (<emphasis>Common Object Request Broker Architecture</emphasis>) är ett försök att låta datorprogram arbeta tillsammans via nätverk. Det togs fram av den privata, leverantörsoberoende kommittén <ulink url="http://www.omg.org">OMG</ulink> (Object Management Group). </para> +<para>CORBA-baserade program använder IIOP-standardprotokollet för att kommunicera. Implementeringar baserade på IIOP är tillgängliga för ett stort antal operativsystem, programspråk och nätverk, och är därför mycket flyttbara. </para> +<para>Den huvudsakliga nackdelen med CORBA är dess ganska långsamma hastighet. Även om det kan tolereras i nätverk, är det ett verkligt hinder för kommunikation mellan program i en miljö utan nätverk, såsom &kde; när det kör på en enda dator. </para> + +</sect2> <!-- unixdev-corba --> <sect2 id="unixdev-dcop"> -<title ->&DCOP;-gränssnittet</title> +<title>&DCOP;-gränssnittet</title> -<indexterm zone="unixdev-dcop" -><primary ->DCOP</primary -></indexterm> +<indexterm zone="unixdev-dcop"><primary>DCOP</primary></indexterm> <indexterm zone="unixdev-dcop"> - <primary ->skriptspråk</primary> - <secondary ->DCOP</secondary -></indexterm> + <primary>skriptspråk</primary> + <secondary>DCOP</secondary></indexterm> <indexterm zone="unixdev-dcop"> - <primary ->kommunikation</primary> - <secondary ->DCOP</secondary -></indexterm> - -<para ->En annan evolution av &UNIX;-liknande skript är <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html" -><emphasis ->DCOP</emphasis -></ulink ->-protokollet, som uppfanns för kommunikation mellan &kde;-program för att bemästra CORBA:s begränsningar. </para> -<para ->&DCOP; betyder <emphasis ->Desktop COmmunikation Protocol</emphasis -> (protokollet för skrivbordskommunikation), och är implementerat som en enkel IPC/RPC-mekanism byggd för att fungera via uttag. Sluteffekten är att erbjuda funktioner som liknar den traditionella rörledningsmekanismen i &UNIX;. </para> -<para ->Traditionella skalskript är baserade på ganska små programverktyg, som konstruerades för att enbart fungera baserade på ren text. &DCOP; tillåter att avancerade grafiska program kommunicerar med varandra på ett motsvarande sätt. Det gör det till exempel möjligt för ett &kde;-program att skicka meddelanden till ett annat &kde;-program, eller ta emot data från det för sitt eget syfte. </para> -<para ->Det finns dock nackdelar. För att använda &DCOP;, måste programmet vara konstruerat med ett speciellt &DCOP;-gränssnitt. Dessutom går &DCOP;-kommunikationsprocessen något långsamt (även om den är mycket snabbare än CORBA). Ändå så återger det mycket av styrkan och flexibiliteten i &UNIX;-skript till högnivåprogram som är baserade på ett grafiskt användargränssnitt. </para> -<para ->För ytterligare information, se artikeln <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html" ->DCOP: Desktop COmmunications Protocol</ulink -> eller <ulink url="developer.kde.org/documentation/library/cvs-api/dcop/html/index.html" ->The DCOP Desktop Communication Protocol library</ulink ->, dokumentation av användargränssnittet för &kde;:s DCOP-bibliotek. </para> -</sect2 -> <!-- unixdev-dcop --> - -</sect1 -> <!-- unixdev-hl-script --> + <primary>kommunikation</primary> + <secondary>DCOP</secondary></indexterm> + +<para>En annan evolution av &UNIX;-liknande skript är <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html"><emphasis>DCOP</emphasis></ulink>-protokollet, som uppfanns för kommunikation mellan &kde;-program för att bemästra CORBA:s begränsningar. </para> +<para>&DCOP; betyder <emphasis>Desktop COmmunikation Protocol</emphasis> (protokollet för skrivbordskommunikation), och är implementerat som en enkel IPC/RPC-mekanism byggd för att fungera via uttag. Sluteffekten är att erbjuda funktioner som liknar den traditionella rörledningsmekanismen i &UNIX;. </para> +<para>Traditionella skalskript är baserade på ganska små programverktyg, som konstruerades för att enbart fungera baserade på ren text. &DCOP; tillåter att avancerade grafiska program kommunicerar med varandra på ett motsvarande sätt. Det gör det till exempel möjligt för ett &kde;-program att skicka meddelanden till ett annat &kde;-program, eller ta emot data från det för sitt eget syfte. </para> +<para>Det finns dock nackdelar. För att använda &DCOP;, måste programmet vara konstruerat med ett speciellt &DCOP;-gränssnitt. Dessutom går &DCOP;-kommunikationsprocessen något långsamt (även om den är mycket snabbare än CORBA). Ändå så återger det mycket av styrkan och flexibiliteten i &UNIX;-skript till högnivåprogram som är baserade på ett grafiskt användargränssnitt. </para> +<para>För ytterligare information, se artikeln <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html">DCOP: Desktop COmmunications Protocol</ulink> eller <ulink url="developer.kde.org/documentation/library/cvs-api/dcop/html/index.html">The DCOP Desktop Communication Protocol library</ulink>, dokumentation av användargränssnittet för &kde;:s DCOP-bibliotek. </para> +</sect2> <!-- unixdev-dcop --> + +</sect1> <!-- unixdev-hl-script --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="unixdev-buildsystems"> -<title ->Byggsystem</title> - -<para ->Utom i mycket enkla fall, kommer ett programmeringsprojekt att bestå av många byggblock med källkod, vart och ett placerat i en enskild fil för enklare underhåll. För att få allt att köra, måste man effektivt kunna översätta allt detta till några få maskinkodsenheter med lämpligt format, som gör att operativsystemet kan ladda och köra programmet. </para> -<para ->För att åstadkomma detta, är de grundläggande verktyg som behövs: <itemizedlist> - <listitem -><para ->en <emphasis ->texteditor</emphasis -> för att skriva källkodsfilerna, </para -></listitem> - <listitem -><para ->ett översättningsprogram, oftast en <emphasis ->kompilator</emphasis -> för att omvandla källkoden till objektfiler, </para -></listitem> - <listitem -><para ->ett <emphasis ->biblioteksprogram</emphasis -> som samlar objektfiler i bibliotek, som enkelt kan återanvändas utan att behöva kompileras om, </para -></listitem> - <listitem -><para ->en <emphasis ->länkare</emphasis ->, som binder ihop flera objektfiler och bibliotek till ett körbart program, </para -></listitem> - <listitem -><para ->ett <emphasis ->byggsystem</emphasis ->, som erbjuder något sätt att hantera allt detta, och inte att förglömma, </para -></listitem> - <listitem -><para ->en <emphasis ->avlusare</emphasis -> för att (förhoppningsvis) hitta alla fel i programmet, och möjligen ytterligare diagnosverktyg för att få allt att köra smidigt. </para -></listitem> +<title>Byggsystem</title> + +<para>Utom i mycket enkla fall, kommer ett programmeringsprojekt att bestå av många byggblock med källkod, vart och ett placerat i en enskild fil för enklare underhåll. För att få allt att köra, måste man effektivt kunna översätta allt detta till några få maskinkodsenheter med lämpligt format, som gör att operativsystemet kan ladda och köra programmet. </para> +<para>För att åstadkomma detta, är de grundläggande verktyg som behövs: <itemizedlist> + <listitem><para>en <emphasis>texteditor</emphasis> för att skriva källkodsfilerna, </para></listitem> + <listitem><para>ett översättningsprogram, oftast en <emphasis>kompilator</emphasis> för att omvandla källkoden till objektfiler, </para></listitem> + <listitem><para>ett <emphasis>biblioteksprogram</emphasis> som samlar objektfiler i bibliotek, som enkelt kan återanvändas utan att behöva kompileras om, </para></listitem> + <listitem><para>en <emphasis>länkare</emphasis>, som binder ihop flera objektfiler och bibliotek till ett körbart program, </para></listitem> + <listitem><para>ett <emphasis>byggsystem</emphasis>, som erbjuder något sätt att hantera allt detta, och inte att förglömma, </para></listitem> + <listitem><para>en <emphasis>avlusare</emphasis> för att (förhoppningsvis) hitta alla fel i programmet, och möjligen ytterligare diagnosverktyg för att få allt att köra smidigt. </para></listitem> </itemizedlist> </para> -<para ->När man har ett stort projekt, som kan bestå av upp till hundratals källkodsfiler, kan kompileringsprocessen bli riktigt arbetsintensiv. Man vill inte kompilera om alla filer varje gång några av dem har ändrats. Istället vill man bara kompilera om de filer som påverkas av ändringen. I allmänhet är det inte alltid helt uppenbart vilka av filerna som måste kompileras om. </para> -<para ->När t.ex. en funktionsprototyp i en deklarationsfil ändras, måste alla filer som beror på deklarationsfilen kompileras om. Om projektet innehåller många sådana filer kan man enkelt missa en eller två av dem om arbetet måste göras för hand. Därför behövs någon form av automatisering. </para> +<para>När man har ett stort projekt, som kan bestå av upp till hundratals källkodsfiler, kan kompileringsprocessen bli riktigt arbetsintensiv. Man vill inte kompilera om alla filer varje gång några av dem har ändrats. Istället vill man bara kompilera om de filer som påverkas av ändringen. I allmänhet är det inte alltid helt uppenbart vilka av filerna som måste kompileras om. </para> +<para>När t.ex. en funktionsprototyp i en deklarationsfil ändras, måste alla filer som beror på deklarationsfilen kompileras om. Om projektet innehåller många sådana filer kan man enkelt missa en eller två av dem om arbetet måste göras för hand. Därför behövs någon form av automatisering. </para> <sect2 id="unixdev-buildsystems-make"> -<title ->Byggprocessen</title> +<title>Byggprocessen</title> <indexterm zone="unixdev-buildsystems-make"> - <primary ->bygg</primary -></indexterm> + <primary>bygg</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->Makefile</primary -></indexterm> + <primary>Makefile</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->regel</primary -></indexterm> + <primary>regel</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->omkompileringar</primary -></indexterm> + <primary>omkompileringar</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->mål</primary -></indexterm> + <primary>mål</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->beroenden</primary -></indexterm> + <primary>beroenden</primary></indexterm> <indexterm zone="unixdev-buildsystems-make"> - <primary ->kommandon</primary -></indexterm> - -<para ->Ett verktyg som tar hand om omkompileringar är <command ->make</command ->. Det håller reda på allt arbete med en uppsättning <emphasis ->regler</emphasis ->, som beskriver vad som ska göras i händelse någon viss information (oftast en källkods- eller objektkodsfil) ändrades. Alla regler som hör till ett visst projekt lagras i en så kallad <filename ->Makefile</filename ->, som behandlas av <command ->make</command -> så fort du vill uppdatera arbetet. </para> -<para ->Varje regel består av flera byggblock, närmare bestämt <itemizedlist> - <listitem -><para ->ett <emphasis ->mål</emphasis ->, dvs filen som ska byggas </para -></listitem> - <listitem -><para ->en uppsättning <emphasis ->beroenden</emphasis ->, i grunden namnen på de filer som målet beror på (t.ex. namnet på en källkodsfil, när målet är namnet på objektfilen som ska byggas) och </para -></listitem> - <listitem -><para ->de <emphasis ->kommandon</emphasis -> som ska köras för att <quote ->bygga</quote -> målet (dvs. för att kompilera det eller länka ihop andra objektfiler för att skapa en körbar programfil). </para -></listitem> + <primary>kommandon</primary></indexterm> + +<para>Ett verktyg som tar hand om omkompileringar är <command>make</command>. Det håller reda på allt arbete med en uppsättning <emphasis>regler</emphasis>, som beskriver vad som ska göras i händelse någon viss information (oftast en källkods- eller objektkodsfil) ändrades. Alla regler som hör till ett visst projekt lagras i en så kallad <filename>Makefile</filename>, som behandlas av <command>make</command> så fort du vill uppdatera arbetet. </para> +<para>Varje regel består av flera byggblock, närmare bestämt <itemizedlist> + <listitem><para>ett <emphasis>mål</emphasis>, dvs filen som ska byggas </para></listitem> + <listitem><para>en uppsättning <emphasis>beroenden</emphasis>, i grunden namnen på de filer som målet beror på (t.ex. namnet på en källkodsfil, när målet är namnet på objektfilen som ska byggas) och </para></listitem> + <listitem><para>de <emphasis>kommandon</emphasis> som ska köras för att <quote>bygga</quote> målet (dvs. för att kompilera det eller länka ihop andra objektfiler för att skapa en körbar programfil). </para></listitem> </itemizedlist> </para> -<para ->Enkelt uttryckt, läser kommandot <command ->make</command -> reglerna en i taget, kontrollerar varje fil i beroendelistan för ett givet mål, och bygger målet igen om någon av filerna har ändrats, med de kommandon som listas i regeln. </para> -<para ->Det finns flera ytterligare möjligheter att styra en sådan byggprocess, och en <filename ->Makefile</filename -> kan på så sätt växa sig mycket komplex. Vi kan inte gå in på detaljer här. Hur som helst, rekommenderar vi att du gör dig bekant med syntaxen för <command ->make</command ->. Även om du inte normalt använder det direkt, kan en förståelse för grunderna i byggsystemet vara användbar. Se <ulink url="info://make/Top" -><citetitle ->GNU make manualen</citetitle -></ulink -> för mer information. </para> -<para ->För mer detaljinformation specifik för &tdevelop;, se <link linkend="project-management" ->Bygga och projekthantering</link -> i den här handboken. </para> -<para ->Det finns flera handledningar tillgängliga, se <link linkend="automake-references" ->referenserna</link -> i kapitlet Bygga och projekthantering. </para> -</sect2 -> <!-- unixdev-buildsystems-make --> - -</sect1 -> <!-- unixdev-buildsystems --> +<para>Enkelt uttryckt, läser kommandot <command>make</command> reglerna en i taget, kontrollerar varje fil i beroendelistan för ett givet mål, och bygger målet igen om någon av filerna har ändrats, med de kommandon som listas i regeln. </para> +<para>Det finns flera ytterligare möjligheter att styra en sådan byggprocess, och en <filename>Makefile</filename> kan på så sätt växa sig mycket komplex. Vi kan inte gå in på detaljer här. Hur som helst, rekommenderar vi att du gör dig bekant med syntaxen för <command>make</command>. Även om du inte normalt använder det direkt, kan en förståelse för grunderna i byggsystemet vara användbar. Se <ulink url="info://make/Top"><citetitle>GNU make manualen</citetitle></ulink> för mer information. </para> +<para>För mer detaljinformation specifik för &tdevelop;, se <link linkend="project-management">Bygga och projekthantering</link> i den här handboken. </para> +<para>Det finns flera handledningar tillgängliga, se <link linkend="automake-references">referenserna</link> i kapitlet Bygga och projekthantering. </para> +</sect2> <!-- unixdev-buildsystems-make --> + +</sect1> <!-- unixdev-buildsystems --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="unixdev-guidevelopment"> -<title ->Utveckling av grafiska gränssnitt</title> +<title>Utveckling av grafiska gränssnitt</title> <indexterm zone="unixdev-guidevelopment"> - <primary ->GUI</primary -></indexterm> + <primary>GUI</primary></indexterm> <indexterm zone="unixdev-guidevelopment"> - <primary ->grafiskt användargränssnitt</primary -></indexterm> + <primary>grafiskt användargränssnitt</primary></indexterm> <indexterm zone="unixdev-guidevelopment"> - <primary ->användargränssnitt</primary> - <secondary ->GUI</secondary -></indexterm> - -<para ->Programutvecklare blir ännu mer belastade genom att de inte bara måste skapa programbibliotek och logiken, men också tillhandahålla lättanvända egenbyggda användargränssnitt som både är enkla att förstå och funktionella. De flesta programmerare får liten eller ingen utbildning i utveckling av grafiska gränssnitt, och som ett resultat är användargränssnitt ofta dåligt konstruerade. </para> -<para ->Under många år har några gemensamma designprinciper utvecklats. Du rekommenderas starkt att hålla dig till dem. På så sätt behåller ditt användargränssnitt ett gemensamt utseende och känsla, som användare av programmet tacksamt uppskattar. </para> -<para ->För utveckling av grafiska gränssnitt för &kde; finns en stilguide tillgänglig. Den finns som <ulink url="http://developer.kde.org/documentation/standards/kde/style/basics/index.html" ->&kde;:s guide för användargränssnitt</ulink -> på sidan &kde;:s utvecklingshörna. </para> -<para ->En kort introduktion till gemensamma principer för konstruktion av grafiska gränssnitt finns <ulink url="http://axp16.iie.org.mx/Monitor/v01n03/ar_ihc2.htm" ->här</ulink ->. </para> - -</sect1 -> <!-- unixdev-guidevelopment --> + <primary>användargränssnitt</primary> + <secondary>GUI</secondary></indexterm> + +<para>Programutvecklare blir ännu mer belastade genom att de inte bara måste skapa programbibliotek och logiken, men också tillhandahålla lättanvända egenbyggda användargränssnitt som både är enkla att förstå och funktionella. De flesta programmerare får liten eller ingen utbildning i utveckling av grafiska gränssnitt, och som ett resultat är användargränssnitt ofta dåligt konstruerade. </para> +<para>Under många år har några gemensamma designprinciper utvecklats. Du rekommenderas starkt att hålla dig till dem. På så sätt behåller ditt användargränssnitt ett gemensamt utseende och känsla, som användare av programmet tacksamt uppskattar. </para> +<para>För utveckling av grafiska gränssnitt för &kde; finns en stilguide tillgänglig. Den finns som <ulink url="http://developer.kde.org/documentation/standards/kde/style/basics/index.html">&kde;:s guide för användargränssnitt</ulink> på sidan &kde;:s utvecklingshörna. </para> +<para>En kort introduktion till gemensamma principer för konstruktion av grafiska gränssnitt finns <ulink url="http://axp16.iie.org.mx/Monitor/v01n03/ar_ihc2.htm">här</ulink>. </para> + +</sect1> <!-- unixdev-guidevelopment --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="unixdev-ide"> -<title ->Integration av koncept och verktyg: den integrerade utvecklingsmiljön</title> +<title>Integration av koncept och verktyg: den integrerade utvecklingsmiljön</title> <indexterm zone="unixdev-ide"> - <primary ->IDE</primary -></indexterm> + <primary>IDE</primary></indexterm> <indexterm zone="unixdev-ide"> - <primary ->integrerad utvecklingsmiljö</primary -></indexterm> + <primary>integrerad utvecklingsmiljö</primary></indexterm> <indexterm zone="unixdev-ide"> - <primary ->utveckling</primary> - <secondary ->IDE</secondary -></indexterm> + <primary>utveckling</primary> + <secondary>IDE</secondary></indexterm> <indexterm zone="unixdev-ide"> - <primary ->miljö</primary> - <secondary ->IDE</secondary -></indexterm> - -<para ->Det finns separata verktyg tillgängliga för nästan varje steg i programmeringsprocessen: planering, redigering, processen för att hantera filer och kompilering, avlusning, dokumentation med mera. Men när projekten växer, blir programmeringsprocesserna troligtvis ganska omständliga. </para> -<para ->Mycket repetitivt arbete måste göras vid konstruktion, kompilering och avlusning av ett program. En hel del sådant arbete kan sparas genom att använda mallar och skript. Ytterligare arbete kan sparas genom att ha verktygen lätt tillgängliga, och med möjlighet att kommunicera med varandra i ett gemensamt grafiskt gränssnitt. </para> -<para ->Vore det till exempel inte bekvämt om en avlusare kunde öppna källkoden i fråga i en editor, och placera markören direkt på platsen för felet som just hittats? </para> -<para ->För att enklare uppnå ett sådant fall, togs <emphasis ->integrerade utvecklingsmiljöer</emphasis -> (IDE:er) fram. En sådan miljö integrerar alla mallar, verktyg och skript som ofta behövs i utvecklingsprocessen i en enda omgivning. </para> -<para ->&tdevelop; är en sådan integrerad utvecklingsmiljö för &kde;-plattformen. Den erbjuder ett brett spektrum av verktyg som underlättar programutveckling och underhåll, till och med för olika programspråk och olika plattformar. </para> + <primary>miljö</primary> + <secondary>IDE</secondary></indexterm> + +<para>Det finns separata verktyg tillgängliga för nästan varje steg i programmeringsprocessen: planering, redigering, processen för att hantera filer och kompilering, avlusning, dokumentation med mera. Men när projekten växer, blir programmeringsprocesserna troligtvis ganska omständliga. </para> +<para>Mycket repetitivt arbete måste göras vid konstruktion, kompilering och avlusning av ett program. En hel del sådant arbete kan sparas genom att använda mallar och skript. Ytterligare arbete kan sparas genom att ha verktygen lätt tillgängliga, och med möjlighet att kommunicera med varandra i ett gemensamt grafiskt gränssnitt. </para> +<para>Vore det till exempel inte bekvämt om en avlusare kunde öppna källkoden i fråga i en editor, och placera markören direkt på platsen för felet som just hittats? </para> +<para>För att enklare uppnå ett sådant fall, togs <emphasis>integrerade utvecklingsmiljöer</emphasis> (IDE:er) fram. En sådan miljö integrerar alla mallar, verktyg och skript som ofta behövs i utvecklingsprocessen i en enda omgivning. </para> +<para>&tdevelop; är en sådan integrerad utvecklingsmiljö för &kde;-plattformen. Den erbjuder ett brett spektrum av verktyg som underlättar programutveckling och underhåll, till och med för olika programspråk och olika plattformar. </para> <sect2 id="unixdev-ide-tdevelop"> -<title ->Grundläggande funktioner i &tdevelop; &kdevrelease;</title> +<title>Grundläggande funktioner i &tdevelop; &kdevrelease;</title> <indexterm zone="unixdev-ide-tdevelop"> - <primary ->&tdevelop;</primary> - <secondary ->funktioner</secondary -></indexterm> + <primary>&tdevelop;</primary> + <secondary>funktioner</secondary></indexterm> <indexterm zone="unixdev-ide-tdevelop"> - <primary ->funktioner</primary -></indexterm> + <primary>funktioner</primary></indexterm> <!-- ### copied from web page, needs to be updated --> <itemizedlist> <listitem> - <para ->Hanterar alla <emphasis ->utvecklingsverktyg</emphasis -> som behövs för C++ programmering, som kompilator, länkare, avlusare och byggsystem.</para> + <para>Hanterar alla <emphasis>utvecklingsverktyg</emphasis> som behövs för C++ programmering, som kompilator, länkare, avlusare och byggsystem.</para> </listitem> <listitem> - <para ->Tillhandahåller en <emphasis ->programguide</emphasis -> som skapar fullständiga, körklara exempelprogram.</para> + <para>Tillhandahåller en <emphasis>programguide</emphasis> som skapar fullständiga, körklara exempelprogram.</para> </listitem> <listitem> - <para ->Låter användaren välja en <emphasis ->integrerad editor</emphasis -> baserad på &kde;:s programmeringseditor &kwrite;, TrollTechs <application ->Qeditor</application -> eller andra.</para> + <para>Låter användaren välja en <emphasis>integrerad editor</emphasis> baserad på &kde;:s programmeringseditor &kwrite;, TrollTechs <application>Qeditor</application> eller andra.</para> </listitem> <listitem> - <para ->En <emphasis ->klassgenerator</emphasis -> för att skapa nya klasser och integrera dem i det nuvarande projektet.</para> + <para>En <emphasis>klassgenerator</emphasis> för att skapa nya klasser och integrera dem i det nuvarande projektet.</para> </listitem> <listitem> - <para -><emphasis ->Filhantering</emphasis -> för källkod, deklarationer, dokumentation, etc. som ska ingå i projektet.</para> + <para><emphasis>Filhantering</emphasis> för källkod, deklarationer, dokumentation, etc. som ska ingå i projektet.</para> </listitem> <listitem> - <para ->Hjälp med att <emphasis ->skapa en användarhandbok</emphasis -> för programmet skriven med &kde;-verktyg.</para> + <para>Hjälp med att <emphasis>skapa en användarhandbok</emphasis> för programmet skriven med &kde;-verktyg.</para> </listitem> <listitem> - <para ->Automatisk HTML-baserad <emphasis ->dokumentation av programmeringsgränssnittet</emphasis -> för projektets klasser med korsreferens till använda bibliotek.</para> + <para>Automatisk HTML-baserad <emphasis>dokumentation av programmeringsgränssnittet</emphasis> för projektets klasser med korsreferens till använda bibliotek.</para> </listitem> <listitem> - <para -><emphasis ->Översättningsstöd</emphasis -> som gör det möjligt för översättare att enkelt lägga till sitt modersmål i projektet, inklusive stöd för &kbabel;.</para> + <para><emphasis>Översättningsstöd</emphasis> som gör det möjligt för översättare att enkelt lägga till sitt modersmål i projektet, inklusive stöd för &kbabel;.</para> </listitem> <listitem> - <para ->Stöd för att hantera ett projekt via ett av flera <emphasis ->versionshanteringssystem</emphasis -> (t.ex. &CVS;), genom att tillhandahålla ett lättanvänt gränssnitt till funktionerna som oftast behövs.</para> + <para>Stöd för att hantera ett projekt via ett av flera <emphasis>versionshanteringssystem</emphasis> (t.ex. &CVS;), genom att tillhandahålla ett lättanvänt gränssnitt till funktionerna som oftast behövs.</para> </listitem> <listitem> - <para ->Ett integrerat gränssnitt för <emphasis ->avlusning</emphasis ->.</para> + <para>Ett integrerat gränssnitt för <emphasis>avlusning</emphasis>.</para> </listitem> <listitem> - <para ->En integrerad emulator av en <emphasis ->skalkonsol</emphasis ->.</para> + <para>En integrerad emulator av en <emphasis>skalkonsol</emphasis>.</para> </listitem> <listitem> - <para -><emphasis ->Syntaxfärgläggning</emphasis -> i källkodstext.</para> + <para><emphasis>Syntaxfärgläggning</emphasis> i källkodstext.</para> </listitem> <listitem> - <para ->En funktion för <emphasis ->automatisk kodkomplettering</emphasis -> för klassvariabler, klassmetoder, funktionsargument med mera.</para> + <para>En funktion för <emphasis>automatisk kodkomplettering</emphasis> för klassvariabler, klassmetoder, funktionsargument med mera.</para> </listitem> <listitem> - <para -><emphasis ->Mallar för att skapa diverse projekt</emphasis -> (moduler i inställningscentralen, miniprogram i panelen &kicker;, I/O-slavar, insticksprogram till &konqueror; och skrivbordsstilar).</para> + <para><emphasis>Mallar för att skapa diverse projekt</emphasis> (moduler i inställningscentralen, miniprogram i panelen &kicker;, I/O-slavar, insticksprogram till &konqueror; och skrivbordsstilar).</para> </listitem> <listitem> - <para ->Fyra <emphasis ->trädvyer</emphasis -> för att enkelt byta mellan källkodsfiler, deklarationsfiler, klasser och dokumentation, vilket gör det onödigt med en extern filhanterare.</para> + <para>Fyra <emphasis>trädvyer</emphasis> för att enkelt byta mellan källkodsfiler, deklarationsfiler, klasser och dokumentation, vilket gör det onödigt med en extern filhanterare.</para> </listitem> <listitem> - <para -><emphasis ->Stöd för korskompilering</emphasis ->, med möjlighet att ange olika kompilatorer, kompilatorflaggor, målarkitektur etc.</para> + <para><emphasis>Stöd för korskompilering</emphasis>, med möjlighet att ange olika kompilatorer, kompilatorflaggor, målarkitektur etc.</para> </listitem> <listitem> - <para ->Stöd för projekt med <emphasis ->Qt/Embedded</emphasis -> (som Zaurus och IPAQ).</para> + <para>Stöd för projekt med <emphasis>Qt/Embedded</emphasis> (som Zaurus och IPAQ).</para> </listitem> <listitem> - <para ->Möjlighet att <emphasis ->inkludera vilket annat program</emphasis -> som helst som du behöver för utveckling genom att lägga till det i menyn <guimenuitem ->Verktyg</guimenuitem ->, enligt dina individuella behov.</para> + <para>Möjlighet att <emphasis>inkludera vilket annat program</emphasis> som helst som du behöver för utveckling genom att lägga till det i menyn <guimenuitem>Verktyg</guimenuitem>, enligt dina individuella behov.</para> </listitem> </itemizedlist> -</sect2 -> <!-- unixdev-ide-tdevelop --> +</sect2> <!-- unixdev-ide-tdevelop --> -</sect1 -> <!-- unixdev-ide --> +</sect1> <!-- unixdev-ide --> -</appendix -> <!-- unixdev --> +</appendix> <!-- unixdev --> |