Fixed the annoying bug (for me) that dealt with having a very long folder name. In this case, the name of the tab could be many more times bigger than the tabBar itself.
Now they are ellided, so e.g. "really really long folder name...is" or something.
Few more cases left for me to fix(shortly), but those are not quite close to this section.
Peter Penz [Sun, 5 Jul 2009 22:54:37 +0000 (22:54 +0000)]
The complexity of the class InformationPanel has grown a lot from KDE 4.0 to KDE 4.3. One main reason is that a lot of things are done now asynchronously with timers to prevent a blocking UI and unnecessary expensive operations.
To keep the Information Panel maintainable and prepared for future features a cleanup has been done. The whole user interface handling has been moved into the class InformationPanelContent that offers a straight forward interface: showItem(const KFileItem& item) and showItems(const KFileItemList& items).
The class InformationPanel is responsible for calling those methods in a way that hovering items, changing directories, doing selections, rename and delete operations, ... don't result in calling showItem() 10 times per second.
Peter Penz [Sun, 5 Jul 2009 19:10:20 +0000 (19:10 +0000)]
Improve performance of Dolphin:
- When changing a directory the receiving of the meta data is done now with a short delay. This gives the directory lister the chance to show the directory as fast as possible.
- Prevent that DolphinInformationPanel::reset() is invoked when changing a directory. The method only needs to get invoked if an item has been deleted or renamed.
- Cache an unknown file item. This improves the startup time of Dolphin (-> KFileItem constructor is invoked only once instead of up to 6 times).
Pass the "Yesterday (%B, %Y)" string to modifiedTime.toString(), such
that %B and %Y actually get replaced by month and year. Today seemed
to be a good day to reproduce and fix this :-)
Andrius Štikonas [Tue, 30 Jun 2009 20:09:04 +0000 (20:09 +0000)]
Use KIntSpinBox instead of QSpinBox for better integration with KDE. As a bonus this allows to use plural suffix in spinboxes since KDE 4.3 if necessary.
Swap two lines in DolphinViewContainer::setUrl. Up to now, the "if
(...)" check was more or less equivalent to "if (false)" here ;-) I've
verified that the "Create New..." menu is still enabled correctly when
switching columns in Columns view, which is what the "if" check
was added for in the first place.
Count selected items, not QItemSelectionRanges in
DolphinView::selectedItemsCount(). This fixes the problem that the
"Compare Files" action may be disabled or enabled incorrectly.
Peter Penz [Sun, 21 Jun 2009 08:16:03 +0000 (08:16 +0000)]
Simplify how Nepomuk comments can be edited by the user:
- don't provide any mode for editing, just let the user directly manipulate the comment inside the text widget
- automatically save changes, no explicit confirmation required
Peter Penz [Sat, 20 Jun 2009 18:35:08 +0000 (18:35 +0000)]
Simplify the handling of previews: Create the tooltip as early as possible even if the preview has not been finished yet. Previously an empty area has been shown instead of a default icon, but also in this case the size of the tooltip will change as soon as the preview is received -> just show the default icon as early as possible.
Peter Penz [Sat, 20 Jun 2009 16:49:04 +0000 (16:49 +0000)]
- Don't keep pointers to objects that are obtained and deleted by other objects.
- Simplify the API so that it is assured that no memory leaks are given.
Peter Penz [Sat, 20 Jun 2009 11:45:34 +0000 (11:45 +0000)]
We won't get translated labels for Nepomuk literals in KDE 4.3.0... At least assure that camelcase labels like "fileLocation:" are replaced by "File location:" (thanks to Sebastian Trüg for the code)
Use qAbs() instead of fabs(). The values in question are integers
anyway (so fabs() is not the 'right' function for them), and this
change makes the Sun Studio compiler happy.
Peter Penz [Wed, 10 Jun 2009 10:04:33 +0000 (10:04 +0000)]
fixed resizing issues when having long comments:
* embed the comment label inside a scrollarea
* assure that the "add comment..."/"change comment..." link is always visible
* assure that the maximum width of the meta data widget is set to the panel width (otherwise the panel would be increased in an unlimited way when having a text without spaces)
Peter Penz [Thu, 4 Jun 2009 06:05:45 +0000 (06:05 +0000)]
Only reset the current URL, if the element is shown in the current view.
This fixes the issue that when going back the last visited directory is
not marked.
Set the font to italic for symbolic links before calculating the size
of the area which is made available to KFileItemDelegate::paint. Fixes
the problem that Dolphin truncates the names of some symbolic links if
the italic version of the font needs more space than the non-italic
one.
Peter Penz [Mon, 11 May 2009 16:55:35 +0000 (16:55 +0000)]
Only select the clipboard items after the user triggered "Paste". This fixes the issue that items got selected accidently when creating items with a similar name to previously pasted items. BTW the code is also simpler now than before...
Peter Penz [Fri, 8 May 2009 17:08:55 +0000 (17:08 +0000)]
If the item height is nearly equal to the toggle height, center the toggle vertically instead of aligning it on the top. This assures a better alignment especially for the details and column view when working with a height of ~20 pixels.
Peter Penz [Fri, 8 May 2009 16:44:51 +0000 (16:44 +0000)]
Select copied/moved items automatically if no item is already selected. This gives the user an indication where his pasted items are located and allows invoking operations like "Rename" in an easy way.
Peter Penz [Thu, 7 May 2009 17:30:25 +0000 (17:30 +0000)]
* Use the height of the icon as factor for the toggle size. This prevents that the size of the toggle changes within one view because of items having one or two text lines.
* Use a larger toggle size starting with 48x48-sized icons.
Do not emit DolphinView's urlChanged(const KUrl&) signal if the view
is activated, as discussed with Peter. This fixes a crash on a failed
assert if the DolphinView's and the KUrlNavigator's URLs are slightly
different (i.e., if a slash has been added to the navigator's URL by
KDirLister).
I could not find any regressions caused by this change so far, but
even if there are side effects, the upcoming beta and RC releases
should give enough user feedback and time to fix them.