Commit graph

2524 commits

Author SHA1 Message Date
Peter Penz fa4680cb38 Enable Dolphin to show the revision states of files that are under revision control systems like SVN, Git, CVS, ... The current code is an early draft and it is planned that all plugins (SVN, Git, CVS, ...) are maintained outside Dolphin. If the API is stable enough, a discussion will be done at kfm-devel@kde.org regarding the location of the plugins (the current implementation of SubversionPlugin is only temporary located in Dolphin for testing purposes).
RevisionControlObserver is implemented in a way that no recognizable slowdown is given for directories that are not under revision control.

CCBUG: 192158

svn path=/trunk/KDE/kdebase/apps/; revision=995351
2009-07-12 14:00:45 +00:00
David Faure 2df2d4ea7e Same change as in r995015, but for usage in konq: Don't connect to KDirLister::itemDeleted(const KFileItem&), but KDirLister::itemsDeleted(const KFileItemList&).
svn path=/trunk/KDE/kdebase/apps/; revision=995123
2009-07-12 01:00:14 +00:00
Peter Penz 430c2e768c Don't open folders on a single-click in the column view when the mouse settings specify double-click. Originally this was meant as a kind of feature (open files on double-click, but folders still on single-click), but it has been received as bug.
BUG: 198464

svn path=/trunk/KDE/kdebase/apps/; revision=995029
2009-07-11 18:56:03 +00:00
Peter Penz 00cc24a9ba Update the statusbar synchronously when the directory lister has been completed. As no selection is given at this moment, there is no risk that updateStatusBar() is expensive.
svn path=/trunk/KDE/kdebase/apps/; revision=995021
2009-07-11 18:10:35 +00:00
Peter Penz 8e6dbadef2 Fixed performance issues related to selections and deleting of files:
- Don't connect to KDirLister::itemDeleted(const KFileItem&), but KDirLister::itemsDeleted(const KFileItemList&). Otherwise Dolphin is informed about each single file deletion instead of getting the deleted items as a list. Thanks to David Faure for the hint!

- DolphinViewContainer::updateStatusBar() can be expensive when a lot of files are selected, as the file size must get retrieved. Assure that fast calls for updateStatusBar() don't trigger a synchronous update, do the update after 300 ms where no further update has been triggered.

- Dolphin provides a list of file items when emitting the selectionChanged() signal. Collecting the file items is a quite expensive operation, so use the same approach as when updating the statusbar: only emit the selection changed signal when no change has been done within 300 ms. This improves the performance when doing huge selections a lot.

- Make updateStatusBar() a private method, the main window should not need to take care about updating the statusbar (this is done internally now by DolphinViewContainer).

BUG: 199090
BUG: 195787
CCBUG: 199352
CCBUG: 188218

svn path=/trunk/KDE/kdebase/apps/; revision=995015
2009-07-11 17:48:05 +00:00
David Faure ebd0f1b06f Fix regression introduced by an obviously untested "krazy fix" (r973284). Setting a
QVariant to QString() is not the same as calling clear on the QVariant (which makes the variant invalid).
(BUG 194502)

svn path=/trunk/KDE/kdebase/apps/; revision=994217
2009-07-10 11:46:48 +00:00
Peter Penz c3ffc95a73 - adding missing const
- minor adjustment of name
- use same declaration order as other private methods

CCMAIL: predator106@gmail.com 

svn path=/trunk/KDE/kdebase/apps/; revision=994089
2009-07-10 06:07:32 +00:00
Shaun Reich 70915125f7 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.

svn path=/trunk/KDE/kdebase/apps/; revision=993618
2009-07-09 04:41:53 +00:00
Peter Penz 31d359323c Performance improvement when selecting pasted/dropped items.
svn path=/trunk/KDE/kdebase/apps/; revision=993585
2009-07-08 22:34:02 +00:00
Peter Penz 7c539fd12f Fixed regression when refactoring the Information Panel: Don't forget to give a visual indication if the generation of the preview takes long.
svn path=/trunk/KDE/kdebase/apps/; revision=993584
2009-07-08 22:31:45 +00:00
Script Kiddy 00488cfa3c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=992648
2009-07-07 14:08:46 +00:00
Peter Penz dc29afa688 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.

This cleanup won't be backported to KDE 4.3.x

svn path=/trunk/KDE/kdebase/apps/; revision=991902
2009-07-05 22:54:37 +00:00
Peter Penz b4aacaf4d2 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).

svn path=/trunk/KDE/kdebase/apps/; revision=991840
2009-07-05 19:10:20 +00:00
Peter Penz 40cd135f4d Wrap the cursor on the right/left side to have a similar keyboard behavior like in Konqueror for KDE 3. Thanks to Tahseen Mohammad for the patch!
No backport to KDE 4.3.x is done until the patch has proven to work well under all circumstances.

BUG: 152985
CCMAIL: tahseen.mohammad@gmail.com
CCMAIL: frank78ac@googlemail.com

svn path=/trunk/KDE/kdebase/apps/; revision=991780
2009-07-05 16:24:46 +00:00
Script Kiddy 49bbd0097c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=990943
2009-07-03 14:05:35 +00:00
Frank Reininghaus 793b6832ce 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 :-)

BUG: 179262

svn path=/trunk/KDE/kdebase/apps/; revision=990131
2009-07-01 18:51:17 +00:00
Andrius Štikonas 23bd9f0d66 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.
svn path=/trunk/KDE/kdebase/apps/; revision=989742
2009-06-30 20:09:04 +00:00
Peter Penz c1a086da25 Fixed issue that the scroll position is reset if the focus of the itemview changes.
BUG: 197951

svn path=/trunk/KDE/kdebase/apps/; revision=989236
2009-06-29 19:32:39 +00:00
Script Kiddy 76d52a5ff1 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=988696
2009-06-28 14:31:57 +00:00
Frank Reininghaus fc77061ec0 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.  

svn path=/trunk/KDE/kdebase/apps/; revision=988119
2009-06-27 10:42:47 +00:00
Script Kiddy 18d48e5924 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=987253
2009-06-25 18:31:11 +00:00
Peter Penz 25fe9136db updated version number
svn path=/trunk/KDE/kdebase/apps/; revision=986664
2009-06-24 21:03:42 +00:00
Script Kiddy 60d555fa55 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=986478
2009-06-24 17:22:21 +00:00
Script Kiddy 194eb023eb SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=985817
2009-06-23 14:10:37 +00:00
Frank Reininghaus 2f7b1526c5 Count selected items, not QItemSelectionRanges in
DolphinView::selectedItemsCount(). This fixes the problem that the
"Compare Files" action may be disabled or enabled incorrectly.

BUG: 181134

svn path=/trunk/KDE/kdebase/apps/; revision=985402
2009-06-22 18:15:35 +00:00
Script Kiddy c1a3450f03 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=985256
2009-06-22 14:13:47 +00:00
Script Kiddy 5e57d17b98 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=984807
2009-06-21 13:45:48 +00:00
Peter Penz 0dd138d147 Use the name of the property instead of the label, otherwise the stored keys would get invalid as soon as we get translated labels.
svn path=/trunk/KDE/kdebase/apps/; revision=984677
2009-06-21 11:33:53 +00:00
Peter Penz 2f233f27da fixed issue the label texts with spaces might overlap with other labels
svn path=/trunk/KDE/kdebase/apps/; revision=984673
2009-06-21 11:23:25 +00:00
Peter Penz 1e208254c5 The file ktooltip.h contained the three public classes KToolTip, KToolTipDelegate and KToolTipItem. Use one separate file for each class.
svn path=/trunk/KDE/kdebase/apps/; revision=984646
2009-06-21 10:20:28 +00:00
Peter Penz 1c351eac8f disable Nepomuk legacy code to eliminate deprecated-warnings
svn path=/trunk/KDE/kdebase/apps/; revision=984621
2009-06-21 09:40:05 +00:00
Peter Penz 6e3e08e33c 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

svn path=/trunk/KDE/kdebase/apps/; revision=984592
2009-06-21 08:16:03 +00:00
Peter Penz 356c81cbf8 Disable additional properties per default as discussed with Sebastian Trüg.
svn path=/trunk/KDE/kdebase/apps/; revision=984493
2009-06-20 20:48:27 +00:00
Peter Penz 6862c3a617 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.
svn path=/trunk/KDE/kdebase/apps/; revision=984441
2009-06-20 18:35:08 +00:00
Peter Penz 7cd07bfa56 don't use empty dummy images if the preview takes a while to get generated, show the file icon instead
svn path=/trunk/KDE/kdebase/apps/; revision=984413
2009-06-20 17:43:23 +00:00
Peter Penz 419ad21309 - 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.

svn path=/trunk/KDE/kdebase/apps/; revision=984375
2009-06-20 16:49:04 +00:00
Peter Penz 374f5674ad Preview generators might send a null image, so show the default icon as fallback.
BUG: 196277

svn path=/trunk/KDE/kdebase/apps/; revision=984359
2009-06-20 16:21:17 +00:00
Script Kiddy 681e2dc696 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=984344
2009-06-20 15:46:27 +00:00
Peter Penz 5e73577d6c Tooltip interface cleanup: Don't use const-pointers as parameters if the implementation cannot handle 0-pointers. Use a const-reference instead.
svn path=/trunk/KDE/kdebase/apps/; revision=984342
2009-06-20 15:45:18 +00:00
Peter Penz 514566db88 use a style dependend border instead of a black box
svn path=/trunk/KDE/kdebase/apps/; revision=984301
2009-06-20 14:58:34 +00:00
Peter Penz 28614144f7 SVN_SILENT: minor coding style fixes
svn path=/trunk/KDE/kdebase/apps/; revision=984194
2009-06-20 11:56:14 +00:00
Peter Penz 0a1048a445 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)
svn path=/trunk/KDE/kdebase/apps/; revision=984190
2009-06-20 11:45:34 +00:00
Peter Penz 35a0eca331 clear the selection before renaming multiple items
svn path=/trunk/KDE/kdebase/apps/; revision=984159
2009-06-20 09:13:39 +00:00
Peter Penz f8c3c95a40 Fix bottleneck when renaming several hundrets of items (the expensive update of m_selection is not required).
svn path=/trunk/KDE/kdebase/apps/; revision=984020
2009-06-19 19:13:08 +00:00
Script Kiddy 0f59dc3af0 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=983936
2009-06-19 14:08:02 +00:00
Script Kiddy a93a759a5a SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=983098
2009-06-17 14:56:21 +00:00
Frank Reininghaus f44125b043 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.

Thanks to tropikhajma at gmail.com for the patch.

BUG: 196265

svn path=/trunk/KDE/kdebase/apps/; revision=981325
2009-06-13 10:05:35 +00:00
Peter Penz 6e74522422 don't clear the selection if a toggle has been pressed
BUG: 181123

svn path=/trunk/KDE/kdebase/apps/; revision=979750
2009-06-10 14:09:14 +00:00
Peter Penz 26b6d3b8ff 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)

CCMAIL: trueg@kde.org

svn path=/trunk/KDE/kdebase/apps/; revision=979621
2009-06-10 10:04:33 +00:00
Script Kiddy 950d61feda SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/apps/; revision=979321
2009-06-09 14:46:53 +00:00