Kexi supports CSV import. kttsd adds support for Cepstral voices. Kopete add webcam receiving support for yahoo. Kopete implements global identity for all the IM services. KTorrent add search capability. Kopete support for Skype is in progress. Datakiosk adds prompts for sql queries and search.
The work on KDE4 continues. Many of the base applications can be run, although not reliably. The strategy is to get everything building and running, then start to sort out the remaining problems. While this is happening, bugfixes and improvements continue to be made to the KDE3 codebase in preparation for KDE 3.5. These fixes need to be ported to the KDE4 development tree. The porting from trunk will become more and more difficult as the two trees diverge. Applications trying to port face libraries that are a moving target. Obviously the situation is somewhat confusing and could become unmanageable. Stephan Kulow started a thread on kde-core-devel to elicit comments on how to best approach this. [1]
As originally announced I would like to have trunk based on Qt4 really soon now. For this I would like to branch off trunk this friday (and use the time till then to do an initial port of some more modules).
The translations were unaffected and would happen from the 3.5 branch. The 3.5 branch would still be an active development branch, but every change done there has to be done also in trunk. The actual schedule on merging might vary from app to app or even module to module, but that should be the goal. We can even make a public list of all revisions happened to 3.5 branch and strike off forward ports through a commit keyword (or some similiar mechanism).
But I think this needs to be done even before Qt4 is released. And it's no longer a completly uncertain adventure, but we know pretty well by now how much porting effort is behind Qt4 - but what we do not know is how well it runs. Getting konqueror to compile was done in pretty short time, but getting it to work for daily usage will still take a good while and we should as project should have good overview over it.
Everyone is free to stay and develop for KDE 3.5 as long as he feels like it, but everyone should be aware that the development for it needs to be ported to KDE4 without too much major pain or you're just asking for frustration.
Some of the issues were elaborated upon as the discussion continued. Stephan's goals is that [2]
KDE4 is the main target, KDE 3.5 development is defined as backport
OK, so how about dropping the idea of KDE 3.5 then? At the Akademy discussion KDE 3.5 was always discussed as "rest release". We really can't afford having KDE 4 be released in two years from now. And to get that done, we need all manpower we can get.
Take it as it is, but KDE 3.5 _is_ a step child and we can continue this "we need a KDE 3.X (where X is larger than the previous released)" discussion for years now. It just won't help us. We started with KDE 4 development - given fact. This means KDE 3.5 sees less development than any other KDE3 release - given fact. Now we have to make sure to find the balance between a) getting KDE 3.5 out at all and b) getting KDE 4 out in an overseeable future.
These sometimes radical proposals brought forth many opinions. (Stephan Kulow acknowledged that he was being somewhat outrageous on purpose [4]. When herding cats an easy way to get everyone's attention is to get everyone mad at you.) The KDEPIM developers came to a consensus during their recent meeting on a future roadmap. [5] Cornelius Schumacher wrote in part:
The basic assumption of the roadmap is that we won't be able to do feature work in two different branches, while porting one branch to Qt 4, because we don't have the resources to cope with the inevitable merging hell which would result from this. So we propose to concentrate on the 3.5 release and start Qt 4 porting and KDE 4 feature work when 3.5 is basically done.
That means that the KDEPIM porting effort will begin in August after the release of KDE 3.5. Many KDEPIM developers, including Thomas Zander [6] , Martijn Klingens [7] and Ingo Kloecker [8] asked that trunk/KDE/kdepim be read-only to prevent a confusing mess. Their reasoning is that with the current manpower it is reasonable to concentrate development efforts on one tree. Once the 3.5 features are complete, then KDE 4 development will begin in earnest.
Other developers stated their planned schedules. Aaron J. Seigo wrote [9]:
i noticed people have touched kde4/kdebase/kicker which i really wish they hadn't. if you had to run a KDE3 linked kicker for another month or two i doubt it would've been a cause of great consternation, but making changes in kicker right now really doesn't mesh with the schedule i've set out, much as with the kdepim people
and with some suggestions on how to go about this: [10]
i think there is a compromise to be had in realizing that applications will start porting at different stages according to their priorities and schedules. so there will be some coordination needed here between "core" and "KDE applications". i think this also really helps to self-define the lines between "KDE core" and "KDE applications"
in any case, i'd recommend that "small apps" such as kdeutils, kdetoys, kdeadmin, etc. be brought over immediately, bar none. ditto with kdelibs/kdebase (yes, in spite of me dragging my heels for up to another 4 weeks with kicker ;) ...
kdemm probably will want to come over sooner than later too due to the massive changes they will need, but that's something best expressed by the kdemm developers.
as for the rest, i'd make it clear to them the issues and let them schedule their devel switch as it works for them. we should respect those wishes and not port the code on them in the meantime. many of these projects rarely or never touch kdelibs/base anyways and so for them following a moving target until it settles down a wee bit may not be worth it.
For now I merge over changes done in trunk and it's still pretty easy to merge as we haven't done too many changes that can't be easily reverted and redone (calling qt3to4 and get it to compile). And as I said: if your feature freeze is end of june, that's fine. You just switch working to 3.5 branch and leave trunk alone for the month. If you're done, you port it over in one go - either reusing or overwriting the changes done in trunk so far.
I'm also fine with whole of kdepim joining trunk development only in august. I even suggest we remove kdepim from trunk then and copy it back into trunk later. But that doesn't work for kicker. We really need a gradually ported KDE4 to test changes done to the framework. And we have to make sure we're not loosing overview - and if all KDE 3.5 development is going to be merged by me, we're going to loose overview. So I want a change in policy who is responsible for merging KDE 3.5 development into the then main development branch - I don't want to dictate a policy on when this needs to be done and not even how.
This subject was brought up to try to avoid a situation where there are two separate development efforts that over time become more and more difficult to merge. We shall see how it works in the coming months.
mouseMoveEvent(): Prevent the moving vertex from disappearing underneath a widget, else there's no way to get it back. The current behavior is somewhat jerky - improvements are very welcome :) BUG:106356
* At the moment require 'Qt' and require 'Korundum' statements can't appear in the same ruby program. Suitable fatal error messages are now displayed to indicate the cause of the problem. Fixes bug reported by Caleb Tennis and Dave M CCBUGS: 100123
Fixes bug 105995. I have placed several controls to check that the number of fields matches the selection in the window, and that the fields are valid. If errors are found a warning per line is issued explaining the cause. The program skips the line with problems and continues with the next one. The warning is only seen if KStars is run from the command line. If any error has been found a KMessage box is shown to tell the user that some lines have not been processed.
I have to port this correction to the KDE 3.4 branch but that will break the message freeze.
I also need to do the same checking with the rest of modules.
Try to check if the given file is not a directory, exists and is readable (However it helps not much, except in the case of the mini-cli trying a thumbnail on a directory. Otherwise khtmlimage eats the KIO error (to kdDebug) and shows the NULL image.) CCBUG:90629
Patch by Trolltech to workaround miscompilation of Qt 3 with gcc 4.0.x.
"It results in functions such as QString::number to not work correctly, which in turn results in bugs like generated postscript during printing containing garbage."
The error message used was not relevent for most device types except for CD/DVD drives. We now use the old message for CD/DVD only, and introduce a new one to take care of the other devices.
Improve the groff basic support: - fix a few of the special characters (by looking into Unicode list) - change the way of setting fonts, always as HTML (The new implementation has the drawback not to have any font number anymore. So may be we need to go back a little in future, assuming needing \n[.f] ) (We do not use/abuse the KDE CSS classes as fonts anymore.) - as we do not know .ftr (font translation) offer a few other fonts too (The main ones of the ps output of groff) (Sorry, still no Japanese fonts, as I have no idea how to test. But Qt might be smarter anyway.) - fix the off-by-one easy-to-do error in scan_escape_direct and friends - fix single letter string variables and number registers. - new code for the font setting escape \f (including long names now) - fix \\ for getting a backspace - use HTML for the corresponding requests .SM and .SB - a few other minor details
CCBUG:106067 (It looks rather good this time, except the .while condition problem, which still polutes the text with >=2 here and there.)
A few simplifications: - use "const" on a few QStrings - get the path for the kio_man.css file only one time at start - construct the to kio_man.css on the fly when writing to the string - limit the i18n() to the real text (especially if the tags are unbalanced) - do not use QFile::encodeName when it has to be given as QString to the stream - make "static" the function sectionName - use const_iterator (as it seems more portable to Qt4) - use ++it instead of it++ for iterators (Partly follow-up of bug #99384) CCBUG:99384
A few basic groff improvements: - do not assign a char directly to QCString (Doing so is asking for trouble, as it does not work correctly) - fix font name handling (The logic of the code for checking if it is a number or a name was wrong.) - ` does not exist in HTML - use cerr as kdDebug replacement in SIMPLE_MAN2HTML mode - remove the #if 0-ed definition of what were probably (planned to be) internal number registers - try to allow a in a man link (not finished, as I found the major problem of QCString before being able to finishe this part of code; for bug #85753). - little detail change the from "Mandoc-Type" to "ROFF-Type" (It would be nice if one day the man kioslave could do other ROFF types than man(7) or mdoc(7) pages
CCBUG:106067 (With font changing working now, this looks even better. The major problem is still the .while condition.)
Add support for references to man pages where a non-breaking space exists between command and section number (as using a non-breaking space in this case is even more logical than using a normal space.) BUG:85753
Fix the scanning of conditions to allow a space if the condition is between parentheses
CCBUG:106067 This fixes the .while condition problem. The remain big problen is the generated HTML... do not know how to do it ith the current code. :-(
Resolve URLs using UDS_LOCAL_PATH before doing the real copy or move. This way we avoid copy+delete when we just want to move from a device to the same device (moving becomes instantaneous).
A few cleanups: - add a function to check if a character is a punctuation in the sence of mdoc(7) - fix macro .Fd (No need to tweak the ; character, as some defintions are not from functions, see man pahe of stdin(3)) - fix macro .Fn (Here too no ; tweaking and also fix the font used.) - fix the unknown mdoc macros (The output of the macro name was mangled.)
This makes stdin(3) quite good (except the use of the .St command, but the list is too long and the corresponding groff file is BSD with advertissement clause and therefore cannot be included in KDE).
CCBUG:105765(This make mdoc.samples(7) look a little better.)
Fix possible null pointer exception in applet destroy (if not yet created). Make sure the jvm info is printed when console is created, also fix a possible null pointer exception here because of the font set to red if no security manager. Simple ring buffer for logging that will be appended to the console if it's created. Most likely, one will use the console _after_ a problem occurs. As posted at http://lists.kde.org/?l=kfm-devel&m=110781285329105&w=2 this has no negative measurable startup speed impact. Also only print to stderr if 'Main.Debug' is true (if "-Dkjas.debug=1" is appended to the additional arguments).
Because when java console frame is created, that will also use the ring buffers, always add and flush them when showing the console. Also not use the 'force' flag, becuase it will mess up the log order and is needed because ring buffers is fast enough. 1000 characters x3 is a bit small (about 20 lines), so make it 3000
Do not completely trust the data length returned by GET PERFORMANCE. Cut it at 2048. This is too low in general but works for K3b's use so far. I need to come up with a better solution somehow.
Only parse icq contact's birthday if all three values (day, month, year) are not 0, thanks to Pierre-Etienne Messier. Validate icq contact's birthday date before displaying. Pierre-Etienne Messier <> CCBUG: 102991
BUGFIX: Fix for video devices that can't support RGB32 format. Now it handles RGB32 and RGB24 devices. FEATURE:Added functions to handle pixel formats independently of the underlying video capture api.
BUGFIX: Ok, this should FIX BUG 106522. there was default QFont used to repaint any text, not one used with setFont(); I wonder how it ever worked. I have to play aroud with colors, and see if they are screwed up too. Till, please test, and close the bug if you think it's OK. I am sure it is, as far as I am concerned.
Fixed a bug in export functions that caused page counting to be incorrect. Mostly, this just caused fragment identifiers in the HTML table of contents not to work.
This fixes a number of bugs: -Regarding loading the listviews with items, be a bit smarter. Keep the "Uncategorized" item at the top, and when new items are created, trim the list down to keep to the number of items specified in the user preferences. -Subcategories could be hidden after creating a new subcategory in a category that already had categories within it -Optimize the shopping calculator slightly
That fixes the last of the bugs I was aware of. Now I need to find some new ones :-P
Use only the standard kdelibs methods to get and use a recent file list CCBUG:106597 (I am not closing the bug, as the old code is still in hex edit and needs to be removed now.)
Add Cepstral voices to known voices list for use via Festival. Adds two French Canadian, two German, two Americas Spanish, two British English, and 10 American English voices. These are commercial voices available at www.cepstral.com
FEATURE: KNewStuff is now available for KVocTrain. This means that the vocabulary repository hosted at edu.kde.org can be downloaded directly from the application.
FEATURE: KNewStuff is now available for KWordQuiz. This means that the vocabulary repository hosted at edu.kde.org can be downloaded directly from the application.
Welcome KCanvas w/o KCanvasTarget :-) - removed the whole stupid canvas target but just tie it to Qt/QWidget, as anything else doesn't make sense anymore... - KCanvas now knows about it's KCanvasView childs which makes it possible to have as much KCanvasViews per canvas as you'd like to have (all with different bg color, zoom/pan, rendering device, ...) - pathtest now demonstrates the usage of multiple views (it really rocks)
There is one FIXME in the agg device, to be discussed with Rob...
Cool! By just implementing KSVGView::sizeHint() (returning the canvas size) and a simple adjustSize() call in the KParts::MainWindow (SVGMainWindow), the view is resized just to fit into the 'central widget', which is our rendering area - drawn by KCanvas.
Thanks go to aseigo for the "final hints" :-) This also fixes the regression test image grabbing.
Introduce a new property for desktop files : X-KDE-Protocols
Allow to declare which protocols are really supported for special cases (in particular applications needing to seek in files).
The behavior is the following: 1) If X-KDE-Protocols is not specified or X-KDE-Protocols=KIO, %U works as expected 2) If X-KDE-Protocols=protocol1,protocol2,... %U works as expected for protocol1, protocol2, ... Other URLs are rewritten using NetAccess::mostLocalURL() before being passed to the application (to ensure having file:/ URLs when using media:/ or system:/ for example)
As a result it's not necessary to resolve URLs having UDS_LOCAL_PATH in KFileItem::run(), everything is processed in KRun.
Thanks a lot to dfaure for helping with KRun itself.
From the user point of view it's now possible to use system:/ only for the common places, with the default configuration trash:/, remote:/ file:/$HOME, media:/ and settings:/ are displayed in one unified hierarchy.
Surely needs more testing, and some polishing (trash:/ context entry is missing currently) but it works quite well already.
Merge code from KO/Pi that actually makes the hourlabel look nice. Big fonts for hours, small ones for 00 or am/pm respectively. For an example see http://developer.kde.org/~danimo/screenies/korganizer_fancyhourlabel.png
Change shortcut for switching to next/previous folder with unread messages to Alt+Plus/Minus. This makes KMail more consistent with Akregator and it makes Ctrl+Plus/Minus available for zooming the message in the preview pane. Until zooming is actually implemented Ctrl+Plug/Minus will serve as secondary shortcuts for 'Go to next/previous folder with unread messages'.
Change the semantics of switching timezones in KOrganizer to ask the user whether she wants to a) keep the events at their absolute (UTC) times, which will make them shift in the calendar view, or b) shift them such that they remain at the same time in the view, which effectively shifts them in UTC. An example, to clarify:
Current timezone is Berlin, my lunch event is at 12:00. I change the timezone to London. If I chose a) my lunch event is now displayed at 11:00, since that is what 12:00 Berlin time is in London time. This is the correct thing to do, normally. If I chose b) the event will remain to to be shown at 12:00, in the view, which means that it has effectively been shifted in UTC. This is what KOrganizer used to always do. The reason for this is to make it possible for people to "correct" their timezone setting, in case they set a timezone in KControl, but not in KOrganizer (which defaults to UTC, not the KControl timezone), which would make it necessary to be able to change timezones without shifting already existing events.
But KOrganizer should always default to the setting KControl, I hear you scream in agitation. And you are right, I think. We shall make it so.
The texts of the dialogs need some serious polishing, obviously. Ellen has volunteered to help with that, so hopefully we'll find texts that are not completely confusing.
Beautiful and fancy new look&feel for KNotes. Thanks to Bera for the idea and the initial patch on which this patch is based. The style is now configurable in the global notes configuration. While I was on it I improved updateLayout() method quite a bit and removed old and wrong code.
The bugreports asked for a background image and maybe SVG, but this is stuff for KDE 4. I've put it on my TODO. Also, the gradients flicker a bit, which has to wait for Qt 4 as well.
I just realized that I forgot to replace the xpm with png, will do so the next days, I'm too tired right now.
Adding ideographic algorithm to support the last CSS 2.1 list-style cjk-ideographic. Also adds CSS 3 List (working draft) styles: -khtml-lao, -khtml-thai, -khtml-tibetan, -khtml-trad-chinese-formal, -khtml-trad-chinese-informal, -khtml-simp-chinese-formal, -khtml-simp-chinese-informal, -khtml-japanese-formal, khtml-japanese-informal.
Now the context menu used in system:/ or media:/ is on par with what you would obtain if you use it for file:/. Moreover it permit to empty the trashbin from system:/.
This commit also fix BR95662 (which was only adressing system:/ root).
Support for global identity module. What is Global Identity ?
It's a configuration module that set a global identity(nickname, avatar) for all the registred accounts. It's support a global nickname you enter in the configuration or you can select a account where the global nickname will be sync. Instead of changing your nickname for each account you have, only change the global nickname and it will be applied on each account that it supported !
Currently only implemented in MSN protocol. Jabber to coming soon !
- New feature: Automatically query last activity from offline users to get an up-to-date "last seen" property from the server - Fix renaming handling by removing an unnecessary method from the contact classes (possibly fixing the bug of doom #103716)
Check in first version of the Jabber KIO slave. It doesn't do much yet, it only discovers the top-level services and is not too clever about detecting what you want to do. More work will be done soon.
BUG: 8432.Make the user info (vCard) dialog for Jabber use the contact properties instead of requesting a new vCard from the net..Added new properties in JabberProtocol to match with the vCard properties.Send a vCard to server using the contact properties.
Implemented renaming of servers and setting the servers' preferred flag. Along with the previously implemented support for Ogg file format info, this should bring KMLDonkey in line with the latest core protocol.
Kexi supports CSV Import (from file and clipboard)
- support for setting primary key (including autodetection) - support for 'first row contains column names' flag (including autodetection) - column types are autodetected - import is performed within a single transaction - characted encoding fixes; different encoding can be selected - delimiting character is autodetected - clipboard support re-added - floating-point values are properly parsed - empty cells are supported - new table name is based on provided filename
* This would have made Patrick happy: no ImageMagick inside Krita anymore. We can now add new filter plugins to our hearts desire and have KOffice figure out which is the best. * Moved the guides -- these are UI components
Use KNotify for notifications about windows demanding attention. People who use hidden Kicker, have their taskbar configured to show only windows on the current desktop or similar now may configure it so that windows that didn't get focus because of focus stealing prevention now can not only have their taskbar entry marked but there can be e.g. also a passive popup.
Add an efficient implementation of the getText() method.This reduces the time needed to search through a 200 page document from about 100 seconds to about 8 seconds.
Qt-4-ify: Using [] on a string will detach it, use .at(i) instead. Use startsWith() and endsWith() where possible, also QString::chop instead of truncate(length() - 1). Also prevent lookups in the unicode tables by using QLatin1String and QLatin1Char.
Port 2 more decos, and mostly port b2 -- don't know how to port the XOR use, though. Also, let kwin load all decoes now. They're all quite buggy, though.
I've redone quite a bit of the recipe input internals. Every single time that dialog was opened, it would reload all the ingredients and prep methods into the combo boxes (for autocompletion or selected from the list). This takes about 10 seconds to do on my database, which is clearly inefficient. Now the items in these combo boxes are kept in sync with the database, so only one initial load is required.
- New tool 'Auto Color Correction' to group Autolevels, Normalize, Equalize, and Stretch Contrast color filter with preview effect (like B&W conversion dialog). - B&W conversion tool : remember B&W filter type for undo/redo image editor options.
Implementing perfection: show the IMAP-related menu item only if there is an IMAP account, and hide/show dynamically if deleting-last/creating-first IMAP account.
Backport from trunk for KDE 3.4.2: Check the response code after sending LIST OVERVIEW.FMT command. KNode now works again with servers that don't support this command.
Got a runtime warning there, due to array[-1] access (I have an assert in Qt to it crashed) Looked in trunk, found nicer code by reinhold -> backported. Log message was: "Clean up the event indicator code for the indicators at the top and the bottom of the agenda view. This also fixes bug 78174 (unnecessary marks when starting kontact), and also makes the indicators update correctly when one moves agenda items outside the visible area."
backport to 3.4 branch CCBUG: 61438 apply proposed patch that removes the _node.start/stop calls which seem not to be needed at this point (my aRts knowledge is fading :-( )
Remove rename() method from the Jabber contact classes and use the nick name property appropriately. This makes synch() the only place for nickname updates. Display names are now entirely handled by Kopete. Since other protocols do not suffer from renaming loops, this should fix bug #103716. BUG: 103716
Let all footnotes have difference footnote texts. That means: 1) Be sure no automatic footnote number is equal to a manual footnot text. 2) Every manual footnote must have a unique text.
Fix clash in selection ids leading to no color for highlighted match during search-n-replace Thanks to Mashrab Kuvatov for his report and investigation BUG: 103787
Fix #101490 Only use logaritmic scales for the line chart. The bug basically is about a missing feature in the kdchart backend which also happens to have been programmed quite poorly there for the part that does have it correctly falling back.
* Fix the drawing of the legend title. * Make the axes titles work. This is a hack and has some disadvantages: the text box has a fixed size (e.g not automatically adjusted to the text size and may be painted over the axes labels) and will mess up the chart if the x- and x-axes aren't visible. It does not work with polar charts either.
This is the new version of the parser I wrote for KDevelop. ATM there is no preprocessor :( So we have to use ``cpp''. The name of the parser is r++0. r++ is a small(+stupid+slow) bash script that invokes cpp and r++0. btw the script will be removed soon (I have almost finished the new preprocessor :-)
r++ something.cpp (parse and print the stats[1]) r++ -dump something.cpp (parse and print the AST)
[1] the time(1) of cpp and r++0
PS: I've disabled the "parsing of the function/method-body" (change control.cpp if you want to try it)
Improve the documentation about KFloppy: - add an appendix about the "user given device" mode (with many warnings. However I wonder how long it will take before somebody roasts its Linux or Window partition.) - define entities for BSD and Minix. (Minix is now marked as trademark, as it printed in small caps in the book "Operatimng systems, Design And Implementation", A. S. Tanenbaum) - fix a few errors found on the way