BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
@ -0,0 +1,9 @@ | |||
;; -*- emacs-lisp -*- | |||
;; | |||
;; This file is processed by the dirvars emacs package. Each variable | |||
;; setting below is performed when this dirvars file is loaded. | |||
;; | |||
indent-tabs-mode: nil | |||
tab-width: 8 | |||
c-basic-offset: 2 | |||
evaluate: (c-set-offset 'innamespace '0) |
@ -0,0 +1,45 @@ | |||
certmanager Steffen Hansen <hansen@kde.org> | |||
kaddressbook Tobias Koenig <tokoe@kde.org> | |||
Cornelius Schumacher <schumacher@kde.org> | |||
kalarm David Jarvie <software@astrojar.org.uk> | |||
kalarmd Cornelius Schumacher <schumacher@kde.org> | |||
kandy Cornelius Schumacher <schumacher@kde.org> | |||
karm Mark Bucciarelli <mark@hubcapconsulting.com> | |||
kdgantt Kalle Dalheimer <kalle@klaralvdalens-datakonsult.se> | |||
Lutz Rogowski <lutz@klaralvdalens-datakonsult.se> | |||
kfile-plugins ? | |||
kgantt ? Jochen Hanff <jochen@ifb.bv.tu-berlin.de> | |||
kioslaves ? Marc Mutz <mutz@kde.org> | |||
kitchensync Cornelius Schumacher <schumacher@kde.org> | |||
Holger Freyther <freyther@kde.org> | |||
kmail Ingo Kloecker <kloecker@kde.org> | |||
Don Sanders <sanders@kde.org> | |||
kmailcvt Danny Kukawka <danny.kukawka@web.de> | |||
kmobile Helge Deller <deller@kde.org> | |||
knode Roberto Selbach Teixeira <maragato@kde.org> | |||
knotes Michael Brade <brade@kde.org> | |||
konsolekalendar Tuukka Pasanen <illuusio@mailcity.com> | |||
Allen Winter <winter@kde.org> | |||
kontact Daniel Molkentin <molkentin@kde.org> | |||
korganizer Reinhold Kainhofer <reinhold@kainhofer.com> | |||
Cornelius Schumacher <schumacher@kde.org> | |||
korn Mart Kelder <mart.mailing@hccnet.nl> | |||
kpilot Adriaan de Groot <groot@kde.org> | |||
Reinhold Kainhofer <reinhold@kainhofer.com> | |||
ktnef Michael Goffioul <goffioul@imec.be> | |||
libical Cornelius Schumacher <schumacher@kde.org> | |||
Reinhold Kainhofer <reinhold@kainhofer.com> | |||
libkcal Cornelius Schumacher <schumacher@kde.org> | |||
Reinhold Kainhofer <reinhold@kainhofer.com> | |||
libkdenetwork Marc Mutz <mutz@kde.org> | |||
Mathias Waack <mathias@atoll-net.de> (Scoring) | |||
Ingo Klรถcker <ingo.kloecker@epost.de> (kpgp) | |||
Carsten Burghardt <burghardt@kde.org> (kfoldertree, ksubscription, kaccount) | |||
Karl-Heinz Zimmer <khz@kde.org> (cryptplugwrapper*) | |||
libkdepim Cornelius Schumacher <schumacher@kde.org> | |||
Tobias Koenig <tokoe@kde.org> (addresseeview, kvcarddrag) | |||
Zack Rusin <zack@kde.org> (addressesdialog, komposer) | |||
Don Sanders <sanders@kde.org> (maillistdrag) | |||
libkpimexchange Jan-Pascal van Best <janpascal@vanbest.org> | |||
libksieve ? Marc Mutz <mutz@kde.org> | |||
mimelib ? |
@ -0,0 +1,94 @@ | |||
/** | |||
* @mainpage KDE PIM API Reference | |||
* | |||
* | |||
* | |||
* This section contains the KDE online class reference for the current | |||
* development version of KDE-PIM. Additionally, you can subscribe | |||
* or read the mailing lists for any additions and/or modifications | |||
* to the API. | |||
* | |||
* <table width="100%"> | |||
* <tr><th>Applications</th><th>Libraries</th></tr> | |||
* <tr><td valign="top"> | |||
* - <a href="certmanager/html/index.html"><b>certmanager</b></a> | |||
* (<a href="certmanager/html/classes.html">classes</a>)\n | |||
* <i>KDE Key Manager.</i> | |||
* - <a href="kaddressbook/html/index.html"><b>kaddressbook</b></a> | |||
* (<a href="kaddressbook/html/classes.html">classes</a>)\n | |||
* <i>Keeps your addresses on file.</i> | |||
* - <a href="kalarm/html/index.html"><b>kalarm</b></a> | |||
* (<a href="kalarm/html/classes.html">classes</a>)\n | |||
* <i>A personal alarm message, command and email scheduler.</i> | |||
* - <a href="kalarm/kalarmd/html/index.html"><b>kalarmd</b></a> | |||
* (<a href="kalarm/kalarmd/html/classes.html">classes</a>)\n | |||
* <i>Alarm daemon.</i> | |||
* - <a href="kandy/html/index.html"><b>kandy</b></a> | |||
* (<a href="kandy/html/classes.html">classes</a>)\n | |||
* <i>Synchronises data with your mobile phone.</i> | |||
* - <a href="karm/html/index.html"><b>karm</b></a> | |||
* (<a href="karm/html/classes.html">classes</a>)\n | |||
* <i>A time tracker.</i> | |||
* - <a href="kfile-plugins/html/index.html"><b>kfile-plugins</b></a> | |||
* <i></i> | |||
* - <a href="kgantt/html/index.html"><b>kgantt</b></a> | |||
* (<a href="kgantt/html/classes.html">classes</a>)\n | |||
* <i></i> | |||
* - <a href="kitchensync/html/index.html"><b>kitchensync</b></a> | |||
* (<a href="kitchensync/html/classes.html">classes</a>)\n | |||
* <i>Generic Syncing.</i> | |||
* - <a href="kmail/html/index.html"><b>kmail</b></a> | |||
* (<a href="kmail/html/classes.html">classes</a>)\n | |||
* <i>A fully-featured email client.</i> | |||
* - <a href="knotes/html/index.html"><b>knotes</b></a> | |||
* (<a href="knotes/html/classes.html">classes</a>)\n | |||
* <i>A small tool to scribble down notes.</i> | |||
* - <a href="konsolekalendar/html/index.html"><b>konsolekalendar</b></a> | |||
* (<a href="konsolekalendar/html/classes.html">classes</a>)\n | |||
* <i>A command line interface to KDE calendars.</i> | |||
* - <a href="kontact/html/index.html"><b>kontact</b></a> | |||
* (<a href="kontact/html/classes.html">classes</a>)\n | |||
* <i>Brings together all the KDE PIM applications under one roof.</i> | |||
* - <a href="korganizer/html/index.html"><b>korganizer</b></a> | |||
* (<a href="korganizer/html/classes.html">classes</a>)\n | |||
* <i>The calendar and scheduling program for KDE.</i> | |||
* - <a href="korganizer/korgac/html/index.html"><b>korgac</b></a> | |||
* (<a href="korganizer/korgac/html/classes.html">classes</a>)\n | |||
* <i>An alarm client for KOrganizer.</i> | |||
* - <a href="kpilot/kpilot/html/index.html"><b>kpilot</b></a> | |||
* (<a href="kpilot/kpilot/html/classes.html">classes</a>)\n | |||
* <i>Synchronizes data with your PalmOS-based handheld.</i> | |||
* </td> | |||
* <td valign="top"> | |||
* - <a href="libemailfunctions/html/index.html"><b>libemailfunctions</b></a> | |||
* <i>A library for general purpose email handling.</i> | |||
* - <a href="libkcal/html/index.html"><b>libkcal</b></a> | |||
* (<a href="libkcal/html/classes.html">classes</a>)\n | |||
* <i>A library of calendaring classes.</i> | |||
* - <a href="libkdenetwork/html/index.html"><b>libkdenetwork</b></a> | |||
* <i>A library of networkworking classes.</i> | |||
* - <a href="libkdepim/html/index.html"><b>libkdepim</b></a> | |||
* (<a href="libkdepim/html/classes.html">classes</a>)\n | |||
* <i>A library of widgets and other goodies for pim.</i> | |||
* - <a href="libkholidays/html/index.html"><b>libkholidays</b></a> | |||
* (<a href="libkholidays/html/classes.html">classes</a>)\n | |||
* <i>A library for handling holidays.</i> | |||
* - <a href="libkmime/html/index.html"><b>libkmime</b></a> | |||
* (<a href="libkmime/html/classes.html">classes</a>)\n | |||
* <i>A library for MIME handling.</i> | |||
* - <a href="libkpgp/html/index.html"><b>libkpgp</b></a> | |||
* (<a href="libkpgp/html/classes.html">classes</a>)\n | |||
* <i>A PGP abstraction layer.</i> | |||
* - <a href="libkpimexchange/html/index.html"><b>libkpimexchange</b></a> | |||
* <i></i> | |||
* - <a href="libkpimidentities/html/index.html"><b>libkpimidentities</b></a> | |||
* (<a href="libkpimidentities/html/classes.html">classes</a>)\n | |||
* <i>A library for managing identities.</i> | |||
* - <a href="kpilot/lib/html/index.html"><b>kpilot library</b></a> | |||
* (<a href="kpilot/lib/html/classes.html">classes</a>)\n | |||
* <i>KPilot Library.</i> | |||
* </td> | |||
* </tr></table> | |||
* | |||
* | |||
*/ |
@ -0,0 +1,50 @@ | |||
## kdepim/Makefile.am | |||
## (C) 1997 Stephan Kulow | |||
# these are here to control the compilation order, but are only textual | |||
# hints for the cvs.sh script. If you change something here, you have | |||
# to call Makefile.cvs again. | |||
# WARNING: The Makefile.am is auto-generated from Makefile.am.in, so | |||
# don't change these in Makefile.am, but rather in Makefile.am.in! | |||
# | |||
# Libraries and their upwards dependencies | |||
COMPILE_AFTER_libkmime = libemailfunctions | |||
COMPILE_AFTER_libemailfunctions = libkcal libkpimidentities kmail korganizer | |||
COMPILE_AFTER_libkholidays = korganizer kontact | |||
COMPILE_AFTER_libkcal = kalarm kitchensync konsolekalendar korganizer libkpimexchange kpilot libkdepim karm knotes kresources kfile-plugins | |||
COMPILE_AFTER_mimelib = korn kmail | |||
COMPILE_AFTER_libkdenetwork = kmail knode | |||
COMPILE_AFTER_libksieve = kmail | |||
# | |||
# Applications and their downward dependencies (ie. the libs they use) | |||
# | |||
COMPILE_BEFORE_libkpimidentities = libkdepim certmanager | |||
COMPILE_BEFORE_certmanager = libkdenetwork libkpgp | |||
COMPILE_BEFORE_korganizer = libkdepim libkpimidentities libkpimexchange kgantt | |||
COMPILE_BEFORE_kaddressbook = libkdepim certmanager akregator | |||
COMPILE_BEFORE_kandy = libkdepim | |||
COMPILE_BEFORE_kmail= libkdepim libkpimidentities certmanager libkpgp libkmime indexlib | |||
COMPILE_BEFORE_knode= libkdepim libkpgp libkmime | |||
COMPILE_BEFORE_karm = libkdepim kresources | |||
COMPILE_BEFORE_plugins = kmail libkdepim libkcal | |||
COMPILE_BEFORE_kontact = kaddressbook knotes korganizer akregator karm | |||
COMPILE_BEFORE_kioslaves = libkmime libkdepim | |||
COMPILE_BEFORE_libkpimexchange = libkdepim | |||
COMPILE_BEFORE_kalarm = libkdepim libkmime | |||
COMPILE_BEFORE_kresources = libkpimexchange knotes kaddressbook kode | |||
COMPILE_BEFORE_wizards = libkdepim kresources korganizer kaddressbook kmail | |||
COMPILE_BEFORE_korn = libkdenetwork | |||
COMPILE_BEFORE_kitchensync = libkdepim | |||
COMPILE_BEFORE_akregator = libkdepim | |||
COMPILE_BEFORE_knotes = libkdepim | |||
COMPILE_BEFORE_konsolekalendar = libkdepim | |||
COMPILE_BEFORE_kabc = libkdepim | |||
AUTOMAKE_OPTIONS = foreign 1.6.1 | |||
DISTCLEANFILES = inst-apps | |||
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 SUBDIRS | |||
include $(top_srcdir)/admin/Doxyfile.am | |||
include admin/deps.am | |||
@ -0,0 +1,16 @@ | |||
all: | |||
@echo "This Makefile is only for the CVS repository" | |||
@echo "This will be deleted before making the distribution" | |||
@echo "" | |||
@if test ! -d admin; then \ | |||
echo "Please recheckout this module!" ;\ | |||
echo "for cvs: use checkout once and after that update again" ;\ | |||
echo "for cvsup: checkout kde-common from cvsup and" ;\ | |||
echo " link kde-common/admin to ./admin" ;\ | |||
exit 1 ;\ | |||
fi | |||
$(MAKE) -f admin/Makefile.common cvs | |||
.SILENT: | |||
@ -0,0 +1,84 @@ | |||
In this file: | |||
* What you find here | |||
* What it is | |||
* Mailing List, Getting involved | |||
What you find here | |||
------------------ | |||
Anything relating to the KDE-PIM project. See also http://pim.kde.org. | |||
The KDE-PIM project aims to bring together those who wish to help design, | |||
implement, test, etc. anything that's to do with personal information | |||
management. | |||
This rather broad scope encompasses mail clients, addressbooks, usenet news, | |||
scheduling and even sticky notes. | |||
What it is | |||
---------- | |||
* kaddressbook: The KDE addressbook application. | |||
* kandy: sync phone book entries between your cell phone and computer | |||
("kandy" comes from "Handy", the german word used for a cellular) | |||
* kmail: the KDE mail client | |||
* kmailcvt: tool for importing mail related data from other programs | |||
* knode: news client | |||
* korganizer: a calendar-of-events and todo-list manager | |||
* kpilot: to sync with your PalmPilot | |||
* kalarm: gui for setting up personal alarm messages, emails and commands | |||
* kalarmd: alarm monitoring daemon, shared by korganizer and kalarm. | |||
* kontact: Integrated PIM application | |||
* karm: Time tracker. | |||
* kitchensync: Synchronization framework, still under heavy development. | |||
* kfile-plugins: vCard KFIleItem plugin. | |||
* knotes: yellow notes application | |||
* konsolecalendar: Command line tool for accessing calendar files. | |||
* korn: mail checker | |||
* akregator: Feed reader | |||
There is also quite an amount of infrastructure in this package: | |||
* calendarsystem: library for handling of non-gregorian calendar systems | |||
* libkdepim: Common code for different kdepim apps | |||
* libkdenetwork: Common code for apps previously being in the kdenetwork CVS | |||
module (KMail, KNode). This will be merged with libkdepim. | |||
* mimelib: MIME messages library | |||
* libkcal: C++ api for the iCalendar and vCalendar formats | |||
* libkcal/libical: a basic iCalendar protocol implementation, see RFCs 2245,2246 | |||
* libkpimexchange: connecting to Exchange2000 servers | |||
* kabc/frontend: A GUI frontend for libkabc, not intended for end users. | |||
* kgantt: lib to display and manage Gantt diagrams used by the project view | |||
plugin of KOrganizer | |||
* kdgantt: alternative lib for Gantt diagrams, used by the free/busy view of | |||
KOrganizer (yes, we should decide for one of the Gantt libs) | |||
* kioslaves/sieve: Sieve kioslave | |||
* ktnef: handling of tnef data | |||
The following subdirectories have been moved to kdenonbeta/kdepim: | |||
* empath: a modular e-mail client, designed for reuse, needs a Qt | |||
with threading support | |||
* twister: another personal information manager, needs empath | |||
* kab2: another design for the KDE addressbook | |||
* ldif: a parser for LDIF, the LDAP Information Interchange Format | |||
* libdif: dito, one of them is superfluous | |||
* libimap: IMAP handling | |||
* librmm: an Internet mail message parser (RFC 822 -> Class hierarchy) | |||
Mailing List, getting involved | |||
------------------------------ | |||
If you'd like to get involved with the project, subscribe to kde-pim@kde.org | |||
with an email to kde-pim-request@kde.org with the subject line: | |||
subscribe my@email.address | |||
If you have questions relating to development of this module please post them on | |||
the developers mailing list (kde-pim@kde.org). If you have user questions, | |||
please use kdepim-users@kde.org | |||
If you are interested in kmail development use the mailing list | |||
kmail-devel@kde.org. | |||
@ -0,0 +1,82 @@ | |||
These are preliminary instructions on how to set up kdepim to work | |||
with a kolab server. It is meant to be a help for people setting | |||
up for testing. It is also meant as a list of things to set up in the | |||
upcoming Kolab setup wizard. | |||
There are the steps needed to setup the Kolab server as the primary | |||
server. | |||
KMail: | |||
1. Set up your identity. | |||
2. Set up a disconnected IMAP account to the server and sync it. | |||
Optional: Choose TLS and Clear text | |||
3. Set up sending through the kolab server | |||
Optional: Choose authentication and/or TLS | |||
4. After the first sync, enable IMAP resource folder options in | |||
Misc->Groupware and set to be subfolders of the account INBOX | |||
5. Enable groupware functionality on the same page | |||
6. TODO: Where is sieve setup??? | |||
Note: We might want to add a KMail profile for this in addition | |||
to the kolab wizard. | |||
KAddressBook: | |||
1. Start KDE Control Center and go to KDE Components, page KDE | |||
Resources Configuration. Choose the contact resource. Add an | |||
IMAP resource and set it to standard. | |||
Optional: Delete others or set them to readonly. | |||
2. Start KAddressBook and add an LDAP server in the configuration | |||
with these settings: | |||
Host = "kolab.kde.org" (for example) | |||
Port = "389" | |||
Base DN = "dc=kolab,dc=kde,dc=org" | |||
TODO: Are Bind DN and password the Kolab user settings? | |||
TODO: If yes, do they make the LDAP resource writable? | |||
The scheme for the base DN is to take the parts of the fully | |||
qualified hostname of the kolab server and put ",dc=" between | |||
the parts and "dc=" in front of it. Or in Qt code: | |||
baseDN = "dc=" + hostname.replace( '.', ",dc=" ); | |||
Finally check the checkbox to activate the LDAP server. Now | |||
you can search the Kolab LDAP server and get all users on the | |||
system. | |||
KOrganizer: | |||
1. Start KDE Control Center and go to KDE Components, page KDE | |||
Resources Configuration. Choose the calendar resource. Add an | |||
IMAP resource and set it to standard. | |||
Optional: Delete others or set them to readonly. | |||
TODO: Free-Busy setup and KMail mail scheduling. | |||
KPilot: | |||
TODO | |||
KitchenSync: | |||
TODO | |||
kalarmd: | |||
TODO | |||
Kontact: | |||
General Notes: | |||
============== | |||
Autocompletion: Works in both KMail and KOrganizer. The order of resources used for completion | |||
is as follows: | |||
1. All available addressbook resources as seen in "kcmshell kresources", section "kabc" | |||
2. LDAP | |||
Nothing special, AFAIK |
@ -0,0 +1,4 @@ | |||
The directory libkcal/libical contains version 0.24 of libical with KDE local | |||
modifications to fix some bugs and let it compile in the kdepim module. | |||
You may obtain the original distribution from | |||
http://sourceforge.net/projects/freeassociation/ |
@ -0,0 +1,44 @@ | |||
Developers/Contributors: | |||
Stanislav Karchebny (Stanislav.Karchebny AT kdemail.net) | |||
Sashmit Bhaduri (smt AT vfemail.net) | |||
Frank Osterfeld (frank.osterfeld AT kdemail.net) | |||
Teemu Rytilahti (teemu.rytilahti AT kde-fi.org) | |||
Stephan Binner (binner AT kde.org) | |||
Gary Cramblitt (garycramblitt AT comcast.net) | |||
Christof Musik (christof AT freenet.de) | |||
George Staikos (staikos AT kde.org) | |||
Packagers: | |||
Pierre Habouzit (pierre.habouzit AT m4x.org) | |||
Thanks To: | |||
Frerich Raabe (raabe AT kde.org) | |||
Translators: | |||
Breton: Thierry Vignaud <tvignaud AT mandrakesoft.com> | |||
Catalan: Albert Astals Cid <astals11 AT terra.es> | |||
Welsh: KD wrth KGyfieithu <kyfieithu AT dotmon.com> | |||
Danish: Erik Kjรฆr Pedersen <erik AT binghamton.edu> | |||
British English: Andrew Coles <andrew_coles AT yahoo.co.uk> | |||
Spanish: Ignacio Bezanilla Diaz <coder AT telefonica.net> | |||
Estonian: Marek Laane <bald AT online.ee> | |||
Finnish: Teemu Rytilahti <teemu.rytilahti AT kde-fi.org> | |||
French: Nicolas Ternisien <nicolast AT libertysurf.fr> | |||
Irish Gaelic: Sรฉamus ร Ciardhuรกin <seoc AT cnds.ucd.ie> | |||
Italian: Luciano Montanaro <mikelima AT cirulla.net> | |||
Dutch: Rinse de Vries <rinsedevries AT kde.nl> | |||
Polish: Michaล Mroczek <sagitto AT wp.pl> | |||
Portuguese: Pedro Morais <morais AT kde.org> | |||
Brazilian Portuguese: Caio Begotti <caio1982 AT gmail.com> | |||
Romanian: Claudiu Costin <claudiuc AT kde.org> | |||
Russian: Nickolai Shaforostoff <shafff AT ukr.net> | |||
Serbian: Chusslove Illich <caslav.ilic AT gmx.net> | |||
Swedish: Stefan Asserhรคll <stefan.asserhall AT comhem.se> | |||
Tamil: I. Felix <ifelix25 AT yahoo.co.in> | |||
Turkish: Gรถrkem รetin <gorkem AT kde.org> |
@ -0,0 +1,340 @@ | |||
GNU GENERAL PUBLIC LICENSE | |||
Version 2, June 1991 | |||
Copyright (C) 1989, 1991 Free Software Foundation, Inc. | |||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
Everyone is permitted to copy and distribute verbatim copies | |||
of this license document, but changing it is not allowed. | |||
Preamble | |||
The licenses for most software are designed to take away your | |||
freedom to share and change it. By contrast, the GNU General Public | |||
License is intended to guarantee your freedom to share and change free | |||
software--to make sure the software is free for all its users. This | |||
General Public License applies to most of the Free Software | |||
Foundation's software and to any other program whose authors commit to | |||
using it. (Some other Free Software Foundation software is covered by | |||
the GNU Library General Public License instead.) You can apply it to | |||
your programs, too. | |||
When we speak of free software, we are referring to freedom, not | |||
price. Our General Public Licenses are designed to make sure that you | |||
have the freedom to distribute copies of free software (and charge for | |||
this service if you wish), that you receive source code or can get it | |||
if you want it, that you can change the software or use pieces of it | |||
in new free programs; and that you know you can do these things. | |||
To protect your rights, we need to make restrictions that forbid | |||
anyone to deny you these rights or to ask you to surrender the rights. | |||
These restrictions translate to certain responsibilities for you if you | |||
distribute copies of the software, or if you modify it. | |||
For example, if you distribute copies of such a program, whether | |||
gratis or for a fee, you must give the recipients all the rights that | |||
you have. You must make sure that they, too, receive or can get the | |||
source code. And you must show them these terms so they know their | |||
rights. | |||
We protect your rights with two steps: (1) copyright the software, and | |||
(2) offer you this license which gives you legal permission to copy, | |||
distribute and/or modify the software. | |||
Also, for each author's protection and ours, we want to make certain | |||
that everyone understands that there is no warranty for this free | |||
software. If the software is modified by someone else and passed on, we | |||
want its recipients to know that what they have is not the original, so | |||
that any problems introduced by others will not reflect on the original | |||
authors' reputations. | |||
Finally, any free program is threatened constantly by software | |||
patents. We wish to avoid the danger that redistributors of a free | |||
program will individually obtain patent licenses, in effect making the | |||
program proprietary. To prevent this, we have made it clear that any | |||
patent must be licensed for everyone's free use or not licensed at all. | |||
The precise terms and conditions for copying, distribution and | |||
modification follow. | |||
GNU GENERAL PUBLIC LICENSE | |||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |||
0. This License applies to any program or other work which contains | |||
a notice placed by the copyright holder saying it may be distributed | |||
under the terms of this General Public License. The "Program", below, | |||
refers to any such program or work, and a "work based on the Program" | |||
means either the Program or any derivative work under copyright law: | |||
that is to say, a work containing the Program or a portion of it, | |||
either verbatim or with modifications and/or translated into another | |||
language. (Hereinafter, translation is included without limitation in | |||
the term "modification".) Each licensee is addressed as "you". | |||
Activities other than copying, distribution and modification are not | |||
covered by this License; they are outside its scope. The act of | |||
running the Program is not restricted, and the output from the Program | |||
is covered only if its contents constitute a work based on the | |||
Program (independent of having been made by running the Program). | |||
Whether that is true depends on what the Program does. | |||
1. You may copy and distribute verbatim copies of the Program's | |||
source code as you receive it, in any medium, provided that you | |||
conspicuously and appropriately publish on each copy an appropriate | |||
copyright notice and disclaimer of warranty; keep intact all the | |||
notices that refer to this License and to the absence of any warranty; | |||
and give any other recipients of the Program a copy of this License | |||
along with the Program. | |||
You may charge a fee for the physical act of transferring a copy, and | |||
you may at your option offer warranty protection in exchange for a fee. | |||
2. You may modify your copy or copies of the Program or any portion | |||
of it, thus forming a work based on the Program, and copy and | |||
distribute such modifications or work under the terms of Section 1 | |||
above, provided that you also meet all of these conditions: | |||
a) You must cause the modified files to carry prominent notices | |||
stating that you changed the files and the date of any change. | |||
b) You must cause any work that you distribute or publish, that in | |||
whole or in part contains or is derived from the Program or any | |||
part thereof, to be licensed as a whole at no charge to all third | |||
parties under the terms of this License. | |||
c) If the modified program normally reads commands interactively | |||
when run, you must cause it, when started running for such | |||
interactive use in the most ordinary way, to print or display an | |||
announcement including an appropriate copyright notice and a | |||
notice that there is no warranty (or else, saying that you provide | |||
a warranty) and that users may redistribute the program under | |||
these conditions, and telling the user how to view a copy of this | |||
License. (Exception: if the Program itself is interactive but | |||
does not normally print such an announcement, your work based on | |||
the Program is not required to print an announcement.) | |||
These requirements apply to the modified work as a whole. If | |||
identifiable sections of that work are not derived from the Program, | |||
and can be reasonably considered independent and separate works in | |||
themselves, then this License, and its terms, do not apply to those | |||
sections when you distribute them as separate works. But when you | |||
distribute the same sections as part of a whole which is a work based | |||
on the Program, the distribution of the whole must be on the terms of | |||
this License, whose permissions for other licensees extend to the | |||
entire whole, and thus to each and every part regardless of who wrote it. | |||
Thus, it is not the intent of this section to claim rights or contest | |||
your rights to work written entirely by you; rather, the intent is to | |||
exercise the right to control the distribution of derivative or | |||
collective works based on the Program. | |||
In addition, mere aggregation of another work not based on the Program | |||
with the Program (or with a work based on the Program) on a volume of | |||
a storage or distribution medium does not bring the other work under | |||
the scope of this License. | |||
3. You may copy and distribute the Program (or a work based on it, | |||
under Section 2) in object code or executable form under the terms of | |||
Sections 1 and 2 above provided that you also do one of the following: | |||
a) Accompany it with the complete corresponding machine-readable | |||
source code, which must be distributed under the terms of Sections | |||
1 and 2 above on a medium customarily used for software interchange; or, | |||
b) Accompany it with a written offer, valid for at least three | |||
years, to give any third party, for a charge no more than your | |||
cost of physically performing source distribution, a complete | |||
machine-readable copy of the corresponding source code, to be | |||
distributed under the terms of Sections 1 and 2 above on a medium | |||
customarily used for software interchange; or, | |||
c) Accompany it with the information you received as to the offer | |||
to distribute corresponding source code. (This alternative is | |||
allowed only for noncommercial distribution and only if you | |||
received the program in object code or executable form with such | |||
an offer, in accord with Subsection b above.) | |||
The source code for a work means the preferred form of the work for | |||
making modifications to it. For an executable work, complete source | |||
code means all the source code for all modules it contains, plus any | |||
associated interface definition files, plus the scripts used to | |||
control compilation and installation of the executable. However, as a | |||
special exception, the source code distributed need not include | |||
anything that is normally distributed (in either source or binary | |||
form) with the major components (compiler, kernel, and so on) of the | |||
operating system on which the executable runs, unless that component | |||
itself accompanies the executable. | |||
If distribution of executable or object code is made by offering | |||
access to copy from a designated place, then offering equivalent | |||
access to copy the source code from the same place counts as | |||
distribution of the source code, even though third parties are not | |||
compelled to copy the source along with the object code. | |||
4. You may not copy, modify, sublicense, or distribute the Program | |||
except as expressly provided under this License. Any attempt | |||
otherwise to copy, modify, sublicense or distribute the Program is | |||
void, and will automatically terminate your rights under this License. | |||
However, parties who have received copies, or rights, from you under | |||
this License will not have their licenses terminated so long as such | |||
parties remain in full compliance. | |||
5. You are not required to accept this License, since you have not | |||
signed it. However, nothing else grants you permission to modify or | |||
distribute the Program or its derivative works. These actions are | |||
prohibited by law if you do not accept this License. Therefore, by | |||
modifying or distributing the Program (or any work based on the | |||
Program), you indicate your acceptance of this License to do so, and | |||
all its terms and conditions for copying, distributing or modifying | |||
the Program or works based on it. | |||
6. Each time you redistribute the Program (or any work based on the | |||
Program), the recipient automatically receives a license from the | |||
original licensor to copy, distribute or modify the Program subject to | |||
these terms and conditions. You may not impose any further | |||
restrictions on the recipients' exercise of the rights granted herein. | |||
You are not responsible for enforcing compliance by third parties to | |||
this License. | |||
7. If, as a consequence of a court judgment or allegation of patent | |||
infringement or for any other reason (not limited to patent issues), | |||
conditions are imposed on you (whether by court order, agreement or | |||
otherwise) that contradict the conditions of this License, they do not | |||
excuse you from the conditions of this License. If you cannot | |||
distribute so as to satisfy simultaneously your obligations under this | |||
License and any other pertinent obligations, then as a consequence you | |||
may not distribute the Program at all. For example, if a patent | |||
license would not permit royalty-free redistribution of the Program by | |||
all those who receive copies directly or indirectly through you, then | |||
the only way you could satisfy both it and this License would be to | |||
refrain entirely from distribution of the Program. | |||
If any portion of this section is held invalid or unenforceable under | |||
any particular circumstance, the balance of the section is intended to | |||
apply and the section as a whole is intended to apply in other | |||
circumstances. | |||
It is not the purpose of this section to induce you to infringe any | |||
patents or other property right claims or to contest validity of any | |||
such claims; this section has the sole purpose of protecting the | |||
integrity of the free software distribution system, which is | |||
implemented by public license practices. Many people have made | |||
generous contributions to the wide range of software distributed | |||
through that system in reliance on consistent application of that | |||
system; it is up to the author/donor to decide if he or she is willing | |||
to distribute software through any other system and a licensee cannot | |||
impose that choice. | |||
This section is intended to make thoroughly clear what is believed to | |||
be a consequence of the rest of this License. | |||
8. If the distribution and/or use of the Program is restricted in | |||
certain countries either by patents or by copyrighted interfaces, the | |||
original copyright holder who places the Program under this License | |||
may add an explicit geographical distribution limitation excluding | |||
those countries, so that distribution is permitted only in or among | |||
countries not thus excluded. In such case, this License incorporates | |||
the limitation as if written in the body of this License. | |||
9. The Free Software Foundation may publish revised and/or new versions | |||
of the General Public License from time to time. Such new versions will | |||
be similar in spirit to the present version, but may differ in detail to | |||
address new problems or concerns. | |||
Each version is given a distinguishing version number. If the Program | |||
specifies a version number of this License which applies to it and "any | |||
later version", you have the option of following the terms and conditions | |||
either of that version or of any later version published by the Free | |||
Software Foundation. If the Program does not specify a version number of | |||
this License, you may choose any version ever published by the Free Software | |||
Foundation. | |||
10. If you wish to incorporate parts of the Program into other free | |||
programs whose distribution conditions are different, write to the author | |||
to ask for permission. For software which is copyrighted by the Free | |||
Software Foundation, write to the Free Software Foundation; we sometimes | |||
make exceptions for this. Our decision will be guided by the two goals | |||
of preserving the free status of all derivatives of our free software and | |||
of promoting the sharing and reuse of software generally. | |||
NO WARRANTY | |||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | |||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | |||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | |||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |||
REPAIR OR CORRECTION. | |||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |||
POSSIBILITY OF SUCH DAMAGES. | |||
END OF TERMS AND CONDITIONS | |||
How to Apply These Terms to Your New Programs | |||
If you develop a new program, and you want it to be of the greatest | |||
possible use to the public, the best way to achieve this is to make it | |||
free software which everyone can redistribute and change under these terms. | |||
To do so, attach the following notices to the program. It is safest | |||
to attach them to the start of each source file to most effectively | |||
convey the exclusion of warranty; and each file should have at least | |||
the "copyright" line and a pointer to where the full notice is found. | |||
<one line to give the program's name and a brief idea of what it does.> | |||
Copyright (C) <year> <name of author> | |||
This program is free software; you can redistribute it and/or modify | |||
it under the terms of the GNU General Public License as published by | |||
the Free Software Foundation; either version 2 of the License, or | |||
(at your option) any later version. | |||
This program is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
GNU General Public License for more details. | |||
You should have received a copy of the GNU General Public License | |||
along with this program; if not, write to the Free Software | |||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
Also add information on how to contact you by electronic and paper mail. | |||
If the program is interactive, make it output a short notice like this | |||
when it starts in an interactive mode: | |||
Gnomovision version 69, Copyright (C) year name of author | |||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | |||
This is free software, and you are welcome to redistribute it | |||
under certain conditions; type `show c' for details. | |||
The hypothetical commands `show w' and `show c' should show the appropriate | |||
parts of the General Public License. Of course, the commands you use may | |||
be called something other than `show w' and `show c'; they could even be | |||
mouse-clicks or menu items--whatever suits your program. | |||
You should also get your employer (if you work as a programmer) or your | |||
school, if any, to sign a "copyright disclaimer" for the program, if | |||
necessary. Here is a sample; alter the names: | |||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program | |||
`Gnomovision' (which makes passes at compilers) written by James Hacker. | |||
<signature of Ty Coon>, 1 April 1989 | |||
Ty Coon, President of Vice | |||
This General Public License does not permit incorporating your program into | |||
proprietary programs. If your program is a subroutine library, you may | |||
consider it more useful to permit linking proprietary applications with the | |||
library. If this is what you want to do, use the GNU Library General | |||
Public License instead of this License. |
@ -0,0 +1,430 @@ | |||
#Akregator ChangeLog | |||
=================== | |||
(c) 2004-2007 the Akregator authors. | |||
Changes after 1.2.7: | |||
----------------------------- | |||
Bug fixes: | |||
2007/10/05 Fix storage backend waking up CPU every 3 seconds (#150389) -ew | |||
Original patch by Alan Jenkins | |||
Changes after 1.2.6: | |||
----------------------------- | |||
Bug fixes: | |||
2007/02/24 fix crash when using "Load the full website when reading articles" and an error (e.g. 404) | |||
is returned (2nd try) (#126812) -fo | |||
Changes after 1.2.5: | |||
----------------------------- | |||
Bug fixes: | |||
2006/11/30 Use "firefox %u" as default for the alternative browser command (#115777) | |||
2006/11/24 Add session management for browser tabs (#100964) Patch by Carsten Pfeiffer <pfeiffer at kde.org> -fo | |||
2006/11/10 Fix crash in Konqueror icon plugin sometimes happening when switching parts (#134929) -fo | |||
2006/10/31 Fix group name encoding bug when adding feeds from commandline (e.g., using the Konq plugin) (#136559) | |||
Patch by Andrey Cherepanov. | |||
Changes after 1.2.4: | |||
----------------------------- | |||
Bug fixes: | |||
2006/09/18 Set default font sizes, prevents use of font size 1 in article viewer on first startup -fo | |||
2006/08/28 Do not create multiple items in the feed lists when dragging feeds to a folder | |||
that was moved before (#124303) -fo | |||
2006/08/26 Fix a possible crash in the internal browser when going forward -fo | |||
2006/08/26 show error messages while browsing as HTML, not as annoying popups (#107740) -fo | |||
2006/08/25 Show title of selected feed in window caption (#111471) -fo | |||
2006/08/25 Konqueror plugins: correctly enable/disable icon when enabling/disabling the plugin (#132823) -fo | |||
2006/08/21 Don't crash on very long URLs (>255 chars) used for feed logos (#130849) -fo | |||
2006/08/20 Konqueror plugins: Fix crash when using the Akregator plugin in file manager mode (#124891) -fo | |||
2006/08/20 Feed detection: Fix detection when relative URLs are used in the link tags (#132687) -fo | |||
2006/08/17 Speak selected text in internal browser when using the "Speak Text" button (#132505) -fo | |||
Changes after 1.2.3: | |||
----------------------------- | |||
Bug fixes: | |||
2006/07/07 Remove tray icon when disabling Akregator part in Kontact (#130127) -fo | |||
2006/07/07 Fix a crash on shutdown occurring in ProgressManager (#130377) -fo | |||
2006/06/25 Fix context menus in browser tab, show appriopriate entries when | |||
text is selected (copy action) or the cursor is over a link | |||
(#121957) -fo | |||
Changes after 1.2.2: | |||
----------------------------- | |||
New features: | |||
2006/05/01 add author information to article header (in the article pane only) -fo | |||
Bug fixes: | |||
2006/05/20 Select oldest item instead of newest when jumping to the next feed using previous [unread] | |||
article actions (#126316) -fo | |||
2006/05/20 Disable Apply-Button in config dialog correctly if no changes were made (#103820) -fo | |||
2006/05/20 Don't reset article status to New when the article changed (#101907) -fo | |||
2006/05/10 Always show feed logos; load them on startup, not on first fetch -fo | |||
2006/05/10 fix crash when using "Load the full website when reading articles" and an error (e.g. 404) | |||
is returned (#126812) -fo | |||
2006/04/29 Do not crash on startup when Combined View mode is activated (Happened only when experimental tagging is | |||
activated) -fo | |||
2006/03/22 Prevent "Akregator is running" messages on startup (reset PID to -1 when closing akregator) -fo | |||
Changes after 1.2.1: | |||
----------------------------- | |||
Bug fixes: | |||
2006/03/09 Read more feed metadata for Atom feeds (title, link) (#123140) -fo | |||
2006/03/09 Use "refresh" cache mode as default, ignoring konq settings. | |||
("refresh" == Use cache after verifying with server) | |||
This should make disabling the "Use browser cache" option unnecessary. -fo | |||
2006/02/21 Set "rel" attribute default to "alternate", as requested by Atom specification (#122409) -ew | |||
2006/02/21 Disable category and tag support (unless experimental GUI is enabled) in the metakit backend, | |||
so it supports about 1000 feeds (500 with tags enabled) instead of 340 | |||
now with the default 1024 open files limit on most systems. -fo | |||
2006/02/15 Combined View: Do not crash on "Next/Prev Unread Article" (#121999) -fo | |||
2006/01/31 RSS parser: ignore unknown or invalid version attribute value in the <rss> tag and | |||
just assume RSS 2.0. The older formats are compatible to 2.0, so this should work. | |||
(at least better than refusing to parse the feeds) (#118793) -fo | |||
Changes after 1.2: | |||
----------------------------- | |||
Bug fixes: | |||
2006/01/17 Do not open binary files in the HTML viewer but externally. | |||
Fix Save Link As for binary files (regression introduced after 1.2) | |||
(#120087 (partially)) -fo | |||
2006/01/16 Fix article order in Combined View: sort by date (reversed) (#118055) -fo | |||
2006/01/15 Fix parsing of Atom 1.0 feeds with escaped HTML in it: Don't show tags | |||
as text (#112491, #117938) -fo | |||
2006/01/10 Select next item in article list when deleting the selected article | |||
(single selection mode only) (#119724) -fo | |||
2006/01/10 Fix item handling in the feed list, avoid crashes as happening | |||
after moving a folder and deleting a subitem afterwards | |||
(#118659) -fo | |||
2006/01/08 Fix problems with keyboard navigation getting stuck on duplicated | |||
articles and prevent creation of new items when selecting an unread | |||
dupe (#114997) -fo | |||
2005/12/05 Wait 30 minutes before retrying fetching when fetching failed (host | |||
down, parsing error) (#113358) -fo | |||
Changes after 1.0: | |||
----------------------------- | |||
Note: This section (i.e. changes between 1.0 and 1.2) is completely incomplete | |||
New features: | |||
- add "Save link as" to context menus -fo | |||
Changes: | |||
- Changed prev/next unread article actions to cycle through all unread articles -fo | |||
- The article archive is now configurable, using metakit implementation as default. | |||
This increases startup speed and reduces memory usage significantly -fo | |||
- Make it possible to fetch feeds while other fetches are running -fo | |||
Bug fixes: | |||
- Respect markImmediatelyAsRead setting when updating articles (#103502) -fo | |||
- make "fetch feeds on startup" option work again (#102085) -fo | |||
- Fix favicons, load them on startup (#94888) -fo | |||
- make BrowserRun delete itself when the Viewer gets destroyed (#101413) -tpr | |||
- tolerate leading and trailing whitespace in the Add Feed Dialog (#101988) -fo | |||
- fixed confusion of "disable archiving" and expiry by age (#101907) -fo | |||
- show open|save|cancel dialog for non-html links (101274) -fo | |||
- make forms work again (regression) (#94964) -fo | |||
- fix notification when running as kontact plugin -fo | |||
Changes after 1.0b9: | |||
----------------------------- | |||
Bug fixes: | |||
- fixed printing of articles (no infinite number of pages anymore) -fo | |||
Changes after 1.0b8: | |||
----------------------------- | |||
New features: | |||
- Make fonts configurable, added zoom in/out actions -fo | |||
- Use KNotify for notification -fo | |||
- Make caching configurable -fo | |||
- Forms work in the internal browser -gs | |||
- Enable sorting in article list -gs | |||
- Add possibility to delete article -fo | |||
- Allow bookmarking articles in global bookmarks -gs | |||
Changes: | |||
- Added new about page, designed by Lokheed, lokheed at gmail.com -fo | |||
- Use KDEPIM's progressbar -tpr | |||
- Update unread count when stopping fetching before it's finished -tpr | |||
- Added "Keep flag set" to the search combobox -fo | |||
- Added optional close buttons on browser tabs -fo | |||
- Prevent unreachable feeds from blocking the fetching process (timeout) -fo | |||
Bug fixes (selection): | |||
- Disable dnd in feed tree until the feed list is loaded (prevents crash) -fo | |||
- Decode the url before adding new feed, makes feed urls with special characters (?, =, &) to work -tpr | |||
- Don't crash when deleting feeds which are currently fetching -fo | |||
- Don't ignore updates in article which have a GUID -fo | |||
- Don't set non-parsable dates to 1970/01/01 -fo | |||
- added <xml> processing instruction to exported OPML -sk | |||
Changes after 1.0b7: | |||
----------------------------- | |||
New features: | |||
- Add icon to konqueror to show if page has a feed -tpr | |||
#85532 - Add feed summary -tpr | |||
#84314 - added print command for article viewer -fo | |||
#92330 - Added possibility to set article status (read/unread/new) manually -fo | |||
- Added basic "keep flag" support to prevent articles from expiring -fo | |||
Changes: | |||
- Add pageviewer actions into Go menu and print to file menu when in pageviewer mode -tpr | |||
- improve tabbed browsing: added back/forward buttons, improved context menus - fo | |||
- make search bar optional -fo | |||
- Do not allow user to stop feedlist loading to avoid data loss -tpr | |||
- Do not show feedlist url in title -tpr | |||
- Clear the statusbar when pressing Stop button -tpr | |||
Bug fixes: | |||
- save and restore open/close state of feed groups -fo | |||
- Use isNull() instead of comparing to QString::null -tpr | |||
- Make kontact plugin work with Kontact from CVS HEAD -fo | |||
- Don't load kontact plugin when akregator is already running -fo | |||
- Fix expiry by age (global setting was ignored) -fo | |||
- Make trayicon and configure dialog available in kontact -fo | |||
- Save and restore open/closed state of feed groups -fo | |||
- Fix interval fetching (Exclude feeds with custom settings from global fetch) -fo | |||
#84528 - Make session management to save and load feedlist when appropriate -tpr | |||
#88437 - Show credits on Kontact's about dialog -tpr | |||
#91660 - Don't crash on exit when internal browser widgets are opened or the article viewer is loading -fo | |||
#93739 - Fix Alignment of text body for right-to-left scripts -fo | |||
Changes after 1.0b6: | |||
----------------------------- | |||
New features: | |||
Changes: | |||
#84133, | |||
#85691 - added KMail-like key bindings -fo | |||
- Advanced archive options: Limit article number, disable archive -fo | |||
- Add "Fetch All Feeds" into context menu of trayicon -tpr | |||
- Show position of the tray icon with image in dialog when pressing the close button -tpr | |||
- Display proper error message when no feed found in add feed -tpr | |||
- make systray icon optional (Patch by Christof Musik, | |||
christof(at)freenet.de) -fo | |||
- added "Export Feeds" function to export the standard feed list -fo | |||
- Expiry support added -fo | |||
Bug fixes: | |||
#85409 - Resolve entities in feed titles -fo | |||
#90671 - Shutdown properly hopefully fixes #89172 too -tpr | |||
- Update combined view after fetching new articles (doesn't work in group view yet) | |||
Changes after 1.0b5: | |||
----------------------------- | |||
Changes: | |||
- Improved dupe detection, using md5 now -ph | |||
#82187 - Improved session management: save search settings, selected Feed and Article -fo | |||
- Make it possible to switch notifications off -tpr | |||
- Switch to a standard feed system, like most aggregators -smt | |||
#82082 - New message notification added -smt | |||
- Show comments URL for feeds, if available -smt | |||
- Only allow one akregator instance (KUniqueApplication) -smt | |||
- Autosave: Feeds are autosaved on every change now - save actions removed -smt | |||
- Support feed protocol -smt | |||
#85265 - Add feed column when browsing through a folder -smt | |||
Bug Fixes: | |||
- Make i18n work in konqueror plugin -tpr | |||
- Fixed problems with whitespace handling -ph | |||
- Make MMB work again in pageviewer -tpr | |||
#83995 - Don't crash when exiting KDE -fo | |||
#82791 - Save the toolbar position -tpr | |||
- Don't crash when there is no part available -tpr | |||
- Make tabs wider when there is free space available -tpr | |||
- Make feedlist saving work in kontact -smt | |||
- Remove all leading space between article text and headers -smt | |||
#86633 - Make tabs appear immediatly on slow sites -smt | |||
#85748 - Make filtering in combined mode work -smt | |||
#86917 - Make searching in combined mode work -smt | |||
#85451 - Open feed list properly in kontact | |||
Changes after 1.0b4: | |||
----------------------------- | |||
Changes: | |||
- Load last loaded feed list in kontact plugin (#84351) - smt | |||
- Show regular akregator icon in tray if there are no unread articles. Based on patch from cartman. -berkus | |||
- Implement session mangement (#82868) - smt | |||
Bug Fixes: | |||
#84095 - akregator article view doesn't display <pre> passages correctly -berkus | |||
#82820 - Kontact crashes when fetching - smt | |||
#84272 - aKregator doesn't restore feed list after logout with running application | |||
#81995 - Don't crash when changing from/to combined view when folder selected -tpr | |||
#82024 - Fix drag&drop regression which made it possible have multiple top level folders -sg | |||
#84471 - Fix sorting of articles with no pubDates - smt | |||
#83102 - Fix handling of non-HTML web pages - smt | |||
#83187 - Reset scrollbar while switching feeds in combined view - smt | |||
Changes after 1.0b3: | |||
----------------------------- | |||
New Features: | |||
#82023 - Added middle mouse button option to open tabs in background -tpr | |||
#83202 - "Clear" button for search string -berkus | |||
- Per feed interval fetching -smt | |||
- Konqueror plugin for adding feeds to aKregator from context menu -PhantomsDad | |||
- Command line options for adding feeds -PhantomsDad | |||
- In case the feed doesn't provide an article <link> element, fall back to the <guid> permaLink -sg | |||
Bug Fixes: | |||
- Update interval spinbox should be disabled if the checkbox isn't checked -tpr | |||
- "aKregator - 0 unread" -> "aKregator - No unread articles" -tpr | |||
- Scroll up when changing the article in article viewer -tpr | |||
- Various frame-switching bug fixes -smt | |||
- Fix favicon loading crash (#82682) -smt | |||
- Various stop-button related bug fixes -smt | |||
- Changed "Copy Link Location" to "Copy Link Address" because of the new naming standard of KDE -tpr | |||
- Fix archiving of article <guid> elements -sg | |||
Changes after 1.0b2: | |||
----------------------------- | |||
New Features: | |||
- Configuration dialog added -tpr | |||
- Kontact plugin added -smt | |||
- Ability to mark all entries as read on exit -tpr | |||
- Ability to change middle mouse button behaviour in browser -tpr | |||
- Ability to specify external browser (KDE default or custom command) -PhantomsDad | |||
- Fetch all feeds every <num> minutes -tpr | |||
- Display unread count in the tooltip of the tray icon -tpr | |||
Bug Fixes: | |||
#82618 - Don't crash if there's no kpart available -tpr | |||
#82691 - Don't minimize but close aKregator when session is shutting down -tpr | |||
- Mark all read marks everything as read -tpr | |||
#82752 - Mark all as read marks every entry in feed(group), mark all feeds as read marks every feed(group) as read -tpr | |||
- Make the feed tree drop visualizer work -sg | |||
- Make "Copy Link Location" copy into the selection clipboard as well -sg | |||
Changes from 1.0b1 to 1.0b2: | |||
----------------------------- | |||
New Features: | |||
- Add Search bar for searching text in articles | |||
- Clicking on a folder will show articles of all subitems | |||
- Feed images are stored and aren't fetched every time | |||
- Show progress while loading feed list | |||
- Make all shortcuts configurable | |||
- Gray out feed icons while fetching | |||
- Add context menus to the article and page readers | |||
- Add unread count to try icon | |||
#81993 - Save splitter sizes on exit | |||
#82004 - Next Unread in feed menu | |||
#82005 - Link title in article viewer to article link | |||
#82166 - Use ctrl-w to close tabs | |||
#82084 - Middle click in article list opens article link in tab | |||
#82095 - Show homepage in feed list context menu | |||
#82189 - Option to fetch all at startup | |||
- Middleclick on viewer opens now an external browser | |||
#82138 - Add context menu to the tabs with close and detach entries | |||
Bug Fixes: | |||
- Favicon fetching works for sites that have never been viewed | |||
- Make opening large OPML lists much faster | |||
- Reset feed icon on fetch if it error-ed | |||
- Fix memory leak in adding feeds | |||
- Update unread count after deleting a feed | |||
- Don't write article archive upon reading a read article | |||
#81965 - "When viewing story right clicking a feed crashes" | |||
#81966 - Fix the fact that sub-folder fetch fetched all siblings | |||
#81968 - Import feed list not enabling save | |||
#81978 - Fix favicon updating after fetch errors | |||
#81993 - Make splitters more sane | |||
#81994 - Fix duplicates articles listed in some feeds | |||
#81998 - Crash when folder selected and clicking in list view | |||
#81999 - Dragging in feeds view doesn't active save action | |||
#82000 - Duplicates found in feeds when they should not be | |||
#82002 - Save auto fetch interval | |||
#82003 - "Initial feed properties are discarded" | |||
#82021 - Support archiving for feeds whose encoding wasn't utf8 | |||
#82024 - Make sure that All Feeds isn't draggable | |||
#82029 - In first time use, save action does not work | |||
#82048 - Renaming a folder doesn't enable "Save Action" | |||
#82049 - File/New doesn't start with an empty view | |||
#82131 - Fix fetching with folders that have subfolders | |||
#82050 - Allow drag and drop to empty folders | |||
#82053 - Program closes without asking whether user saves | |||
#82165 - "cannot delete feed via menu" | |||
#82172 - "date is not fetched for some feeds" | |||
#82183 - Mark all as unread empties article list | |||
#82425 - add http:// to urls in add feed dialog if no protocol | |||
Changes from 0.9 to 1.0b1: | |||
#000049 FIX [x] Saving a freshly created feeds list erases "All Feeds" root entry text. | |||
CHG [x] show current feed's title in the article list heading | |||
#000041 FIX [x] order for dateless items (right now they show in random order) -->berkus | |||
order should be: ordered for items with dates, order same as in rss for items without dates. | |||
#000025 FIX [x] fix path in m_html->begin( KURL( "file:/tmp/something.html" ) ) so that local images and css can be referenced from article preview --> smt | |||
#000043 ADD [x] download feed image specified for RSS (for #000036) --> smt | |||
[x] if the channel image size is well-sized, show in headers -->smt | |||
#000019 ADD [x] implement tooltips and What's This? help -->berkus (enough of those for now) | |||
#000044 ADD [x] show an error favicon if feed could not be fetched -->smt | |||
#000037 ADD [x] add favicon support to the FeedsTree -->smt | |||
FIX [x] Fixed nasty bug with feed editing. | |||
FIX [x] aKregatorPart code cleanup. | |||
FIX [x] Zack Rusin: Fixes to Makefiles, code cleanup. | |||
#000029 CHG [x] "Modify" should enable in-line edit for feed group items, standard dialog for feeds | |||
#000003 ADD [x] sort ArticleList by Article::pubDate -->berkus | |||
CHG [x] add file filters to open/save dialogs | |||
#000013 FIX [x] list generated files in .cvsignore files | |||
#000006 ADD [x] system tray | |||
#000038 ADD [x] add isOpen=<bool> to feed group outline opml -->berkus | |||
#000039 FIX [x] make real use of LiveJournal checkboxes in AddFeedDialog | |||
#000012 FIX [x] refine aboutbox | |||
#000034 FIX [x] parse html entities in article titles | |||
#000035 FIX [x] non-latin1 opml doesn't restore properly | |||
CHG [x] feeds list now stored using QDom classes | |||
#000030 FIX [x] boolean vars are stored and retrieved improperly in opml | |||
CHG [x] use KPasswordEdit for ljPassword input | |||
#000001 ADD [x] allow inline editing of feeds to alter Feed[Group]::title and resetting updateTitle to false (slotItemRenamed) | |||
#000028 FIX [x] (librss + QDom) &lt;b&gt;test</b> from RSS is parsed wrong - because, librss tries to do unescaping on entitites that QDom already unescaped -- solution: fixed librss | |||
#000002 FIX [x] update ArticleList when selecting another feed | |||
#000026 CHG [x] unless someone offers me some icons, Fetch and Fetch all will be 'down' and 'bottom' respectively | |||
#000023 FIX [x] implement fetch all | |||
#000024 CHG [x] replace generic HTML part with strictly KHTMLPart (saves some static_cast<>s) | |||
#000018 ADD [x] provide .desktop file | |||
#000017 ADD [x] provide .lsm file | |||
#000016 ADD [x] provide standard AUTHORS, ChangeLog, README, and TODO files | |||
VERSION 0.9: | |||
RELEASE Added to kdenonbeta/akregator |
@ -0,0 +1,251 @@ | |||
================================================================================ | |||
Indentation | |||
================================================================================ | |||
We use 4 spaces instead of tabs everywhere. | |||
static void foo() | |||
{ | |||
if(bar()) // <-- 4 spaces | |||
baz() // <-- 8 spaces | |||
} | |||
================================================================================ | |||
Braces | |||
================================================================================ | |||
Opening braces should always be on their own line. | |||
class Foo | |||
{ | |||
// stuff | |||
}; | |||
if (foo == bar) | |||
{ | |||
// stuff | |||
} | |||
while (foo == bar && | |||
baz == quux && | |||
flop == pop) | |||
{ | |||
// stuff | |||
} | |||
static void foo() | |||
{ | |||
// stuff | |||
} | |||
Exceptions include inline functions that are just returning or setting a | |||
value. However multiple statements should not ever be combined onto one line: | |||
class Foo | |||
{ | |||
public: | |||
String value() const { return m_value; } | |||
}; | |||
Also conditionals / loops that only contain one line in their body (but where | |||
the conditional statement fits onto one line) should omit braces: | |||
if (foo == bar) | |||
baz(); | |||
But: | |||
if (baz == quux && | |||
ralf == spot) | |||
{ | |||
bar(); | |||
} | |||
================================================================================ | |||
Spaces | |||
================================================================================ | |||
Spaces should be used between the conditional / loop type and the | |||
conditional statement. They should not be used after parenthesis. However | |||
the should be to mark of mathematical or comparative operators. | |||
if ( foo == bar ) | |||
^ ^ | |||
The marked spaces should be ommitted to produce: | |||
if (foo == bar) | |||
================================================================================ | |||
Header Organization | |||
================================================================================ | |||
Member variables should always be private or protected and prefixed with "m_". | |||
Accessors may be inline in the headers. The organization of the members in a | |||
class should be roughly as follows: | |||
public typedefs: | |||
public ctors: | |||
public methods: | |||
public slots: | |||
signals: | |||
protected methods: | |||
protected slots: | |||
protected fields: | |||
private methods: | |||
private slots: | |||
private fields: | |||
private ctors: // if you define ctors/dtor as private, put them at end | |||
If there are no private slots there is no need for two private sections, however | |||
private functions and private variables should be clearly separated. | |||
The implementations files -- .cpp files -- should follow (when possible) the | |||
same order of function declarations as the header files. | |||
Virtual functions should always be marked as such even in derived classes where | |||
it is not strictly necessary. | |||
================================================================================ | |||
Whitespace | |||
================================================================================ | |||
Whitespace should be used liberally. When blocks of code are logically distinct | |||
I tend to put a blank line between them. This is difficult to explain | |||
systematically but after looking a bit at the current code organization this | |||
ideally will be somewhat clear. | |||
Also I tend to separate comments by blank lines on both sides. | |||
================================================================================ | |||
Pointer and Reference Operators | |||
================================================================================ | |||
This one is pretty simple. Use "Foo *f" and "Foo &f" in function signatures | |||
and declarations. And also in signal/slot names. | |||
================================================================================ | |||
Pointer and Reference Operators | |||
================================================================================ | |||
An example object here: | |||
test.h: | |||
#ifndef AKREGATOR_TEST_H | |||
#define AKREGATOR_TEST_H | |||
#include "localinclude.h" | |||
#include "anotherlocalinclude.h" | |||
#include <kdeinclude1.h> | |||
#include <kdeinclude2.h> | |||
#include <qtinclude1.h> | |||
#include <qtinclude2.h> | |||
class QSomething; | |||
namespace Akregator { | |||
class Test : public QObject | |||
{ | |||
Q_OBJECT | |||
public: | |||
typedef QValueList<Test> list; | |||
Test(); | |||
Test(QString someString); | |||
explicit Test(int i = 0); | |||
virtual ~Test(); | |||
void someFunc(); | |||
void someFunc2(QSomething *foo); | |||
static Test *instance() { return m_instance; } | |||
public slots: | |||
void receive(QSomething &); | |||
signals: | |||
void send(QSomething &); | |||
protected: | |||
void someProtectedFunc(); | |||
static void someProtectedStaticFunc(); | |||
protected slots: | |||
void protectedSlot(); | |||
protected: | |||
int m_protectedVar; | |||
private: | |||
int privateMethod(); | |||
static int staticPrivateMethod(); | |||
private slots: | |||
void privateSlotIndeed(int youWonder); | |||
private: | |||
int m_privateVar; | |||
QSomething *m_tastyThing; | |||
static Test *m_instance; | |||
}; | |||
} // no ; after namespace (borks on gcc 3.4+) | |||
#endif | |||
test.cpp: | |||
#include "test.h" | |||
#include "localinclude.h" | |||
#include "anotherlocalinclude.h" | |||
#include <kdeinclude1.h> | |||
#include <kdeinclude2.h> | |||
#include <qtinclude1.h> | |||
#include <qtinclude2.h> | |||
#include <qsomething.h> | |||
namespace Akregator { | |||
Test::Test() | |||
: QObject() | |||
, m_protectedVar(0) | |||
, m_privateVar(0) | |||
, m_tastyThing(0) | |||
, m_instance(0) | |||
{ | |||
} | |||
Test::Test(QString someString) | |||
: QObject() | |||
, m_protectedVar(0) | |||
, m_privateVar(0) | |||
, m_tastyThing(someString) | |||
, m_instance(0) | |||
{ | |||
} | |||
Test::Test(int i); | |||
: QObject() | |||
, m_protectedVar(0) | |||
, m_privateVar(0) | |||
, m_tastyThing(i) | |||
, m_instance(0) | |||
{ | |||
if(i == 0) | |||
kdDebug() << "Zero initializer" << endl; | |||
} | |||
} // no ; after namespace (borks on gcc 3.4+) | |||
================================================================================ | |||
Original document by | |||
Scott Wheeler <wheeler@kde.org> | |||
Amendments for Akregator needs by | |||
Stanislav Karchebny <stanislav.karchebny@kdemail.net> |
@ -0,0 +1,167 @@ | |||
Basic Installation | |||
================== | |||
These are generic installation instructions. | |||
The `configure' shell script attempts to guess correct values for | |||
various system-dependent variables used during compilation. It uses | |||
those values to create a `Makefile' in each directory of the package. | |||
It may also create one or more `.h' files containing system-dependent | |||
definitions. Finally, it creates a shell script `config.status' that | |||