Commit graph

648 commits

Author SHA1 Message Date
Frank Reininghaus 9dd728cb98 Remove filtered children if the parent folder is collapsed
This is analogous to commit e053ecdcd5,
which fixes the same problem for the case that the parent folder is
deleted.

BUG: 316335
FIXED-IN: 4.10.2
REVIEW: 109343
2013-03-10 18:26:37 +01:00
Daniel Kreuter 0ae259e098 Use a consistent way to group files by "Date"
Before this change, files were grouped by calendar weeks if they were
modified in the current month and ignoring the "first week day setting",
but by the actual distance measured in multiples of seven days if the
were modified last month.

This not only fixes the "ignores first week day" bug, but also the
problem that the inconsistencies in the algorithm could lead to a broken
grouping in the first days of a month (see screenshot in the review
request).

BUG: 181337
FIXED-IN: 4.11
REVIEW: 108667
2013-03-03 18:27:00 +01:00
Emmanuel Pescosta 4e4078c66a Removed everything related to m_expandedParentsCountRoot ->
This concept is not needed anymore because of the new "determine parents and
expansion levels" approach

Side effect:
Enables treeview for trash, ...

REVIEW: 109191
2013-02-27 19:56:55 +01:00
Emmanuel Pescosta f2d70693db Big Thanks to Frank Reininghaus, who helped me a lot with these
changes! :)

* Fixed the "Network browser" and "timeline" issues, by using the
KDirLister's itemsAdded(KUrl,KFileItemList) signal -> Use the
given Url to define the parent-child relationship.

* Changed the name of the slot "slotNewItems" to "slotItemsAdded"
for consistency with the signal.

* Use a QHash<KFileItem, ItemData*> instead of a QSet<KFileItem> to
store the filtered data (needed to keep the O(1) lookup for filtered
KFileItems in slotItemsDeleted + needed to fix bug 311912 "After
erasing a filter, some thumbnails randomly disappear")

* Made the determination of the "expandedParentsCount" slightly
simpler - just adding 1 to the parent's level (Also needed to fix the
"Network browser" and "timeline" issues)

FIXED-IN: 4.11.0
REVIEW: 109180
BUG: 304565
BUG: 311912
BUG: 312890
BUG: 315593
2013-02-27 13:35:20 +01:00
Frank Reininghaus cc1455c0e6 Merge remote-tracking branch 'origin/KDE/4.10'
Conflicts:
	dolphin/src/tests/kfileitemmodeltest.cpp
	lib/konq/konq_operations.cpp
2013-02-19 15:45:44 +01:00
Frank Reininghaus 6938241ebc Remove items from m_filteredItems if their parent is deleted
Fixes the problem that filtered children of expanded deleted folders
reappear if the filter is cleared.

BUG: 315210
FIXED-IN: 4.10.1
REVIEW: 108976
2013-02-18 23:50:38 +01:00
Frank Reininghaus e6ef1eec3a Merge remote-tracking branch 'origin/KDE/4.10' 2013-02-17 12:17:01 +01:00
Frank Reininghaus fc0c3f9d4e Prevent repeated re-layouting of all items while previews are generated
There was some code in KStandardItemListView::itemSizeHintUpdateRequired
already that was supposed to prevent an expensive re-layouting of all
items when a preview is received. However, it didn't quite work as
intended because also the "iconOverlays" role changed.

The new approach is to only re-layout if text of a visible role changes,
because this is the only way how the space needed by an item might
change (see KStandardItemListWidgetInformant::itemSizeHint()).

BUG: 315315
FIXED-IN: 4.10.1
REVIEW: 108984
2013-02-17 11:30:38 +01:00
Aurélien Gâteau a7705b04dd Merge remote-tracking branch 'origin/KDE/4.10' 2013-02-11 10:53:52 +01:00
Aurélien Gâteau 66af7c390c Fix blinking when moving the mouse over an hidden item
The opacity of the unhovered pixmap must be gradually reduced while
animating otherwise the alpha channel saturates.

REVIEW: 108858
BUG: 299371
FIXED-IN: 4.10.1
2013-02-11 10:38:28 +01:00
Frank Reininghaus ced9de5b82 Merge remote-tracking branch 'origin/KDE/4.10' 2013-02-10 19:27:21 +01:00
Frank Reininghaus dc6322dc09 Re-organize the code that compares expanded items
The previous approach, which was based on comparing the URLs as
strings, was not only very complex, but also could lead to
inconsistencies in the model, namely, that not all children were
removed from the model when the dir lister reported the parent as
deleted. Later on, this could even lead to a crash.

BUG: 311947
FIXED-IN: 4.11
REVIEW: 108766
2013-02-10 18:09:07 +01:00
Frank Reininghaus 4f5a2eb943 Include parent-child relationships in KFileItemModel's consistency check 2013-02-10 18:06:07 +01:00
Frank Reininghaus ac6d3d8250 KFileItemModel::insertItems(): reserve sufficient space for m_items
This prevents expensive and unnecessary repeated rehashing when many
items are inserted into the model.
2013-02-06 18:58:54 +01:00
Aniket Anvit 85ed71eb30 Apply changes of the KGlobalSettings::singleClick() setting immediately
Fixes a regression introduced by commit
7a364cbf48.

Patch reviewed and pushed by Frank Reininghaus.

BUG: 313342
FIXED-IN: 4.10.1
2013-02-05 19:58:06 +01:00
Frank Reininghaus 687d5145a2 Two small optimizations in KFileItemModel::removeItems()
1. It seems that it really can happen that KFileItems that we get from
   the dir lister's itemsDeleted signal are not in the model any more,
   e.g., if a folder where hidden files are shown is left and a folder
   where hidden files are not shown is entered. There is no need to
   output warnings then.
2. Remove the emptiness-check for the KFileItemList at the beginning.
   Even in the unlikely event that we do get an empty list, we return
   just a few lines later in the code.
2013-02-03 23:28:57 +01:00
Frank Reininghaus 01dc86f0df const QList<int> -> const QList<int>& 2013-02-03 23:19:58 +01:00
Frank Reininghaus 8371fb6d75 Fix crashes in KFileItemModel::removeItems()
These crashes were caused by the recent commit
ff3267c6dc. It introduced two problems:

a) A logic error in the code that removes the ItemData pointers from
   m_itemData that could cause crashes if multiple item ranges are
   removed, and there were un-removed items behind the last one.
b) The implicit assumption that any call of removeItems() will actually
   result in items being removed in the model. This is incorrect if
   the model is first cleared and then the hidden-files setting is
   modified, which happens if "Save view properties for each folder" is
   enabled, and a folder where hidden files are shown is left. In that
   case, the dir lister emits itemsDeleted for the hidden items after
   they have been removed from the model due to the folder change.

I'll add a unit test covering these issues soon.

Many thanks to Romário Rios and Hrvoje Senjan for testing!

BUG: 314046
2013-01-29 19:08:28 +01:00
Frank Reininghaus f76f3a1654 Move the consistency check for KFileItemModel from the test to the class
This makes it possible to check the model's consistency also in other
places, e.g., in KFileItemModel's benchmark.
2013-01-27 15:19:39 +01:00
Frank Reininghaus d1b75d1d64 Performance improvements in KFileItemModel::removeItems()
The performance of this method is improved by:
a) Not removing items one by one, but doing it in a way that minimizes
   the number of moves to prevent O(N^2) worst-case complexity.
b) Not sorting the removed items using the potentially extremely slow
   KFileItemModel::lessThan. We can get the indexes of the removed items
   very easily from the hash m_items, and sorting ints is a lot faster.
c) Preventing repeated rehashing of m_items when removing the deleted
   URLs by replacing remove() by erase().

REVIEW: 108540
2013-01-27 13:07:46 +01:00
Frank Reininghaus 71be8f2bee Add some benchmarks for KFileItemModel
The benchmark executable must be run manually. It is not run
automatically with the other unit tests to prevent waste of CPU cycles
in the not-so-uncommon situation that only test failures attract
attention.
2013-01-27 12:55:37 +01:00
Luca Beltrame dfa170cb49 Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-24 23:49:59 +01:00
Vishesh Handa d27c16d751 KFileItemModelRolesUpdater: Avoid multiple updates for Nepomuk data
The Nepomuk ResourceWatcher emits 3 signals - propertyChanged,
propertyAdded and propertyRemoved. We should only listen to either the
propertyChanged signal or the propertyAdded + Removed signals. There is
no point in listening to all 3 signals. That will just result in
unnecessary updates.

Additionally, we do not need to listen to the resourceCreated signal.
That is only emitted when we are watching for a specific types, which we
are not.

REVIEW: 108543
2013-01-24 23:16:27 +05:30
Frank Reininghaus 48231488bd Remove incorrect comments about the sorting functions
In fact, we could use the sorting functions provided by Qt or the STL.
The reason why we have our own is that we want to support parallel
sorting because sorting many items naturally by name can be expensive.
2013-01-15 19:07:36 +01:00
Frank Reininghaus d9680ead80 Re-organise the sorting code
The KFileItemModel-specific parts are now separated from the generic
ones, like the parallel sorting implementation.

REVIEW: 108386
2013-01-15 18:50:37 +01:00
Frank Reininghaus 87ac18f031 Change the sort and merge functions to a more generic form.
This might make it easier to reuse the parallel sorting code. Moreover,
some the upperBound/lowerBound functions have been removed because
equivalents are provided by the STL.
2013-01-15 18:47:51 +01:00
Frank Reininghaus c652807a19 Use std::rotate, rather than reversing three times
We need less code now, and moreover, the STL implementation of rotate
should be more efficient than three reverse() calls.
2013-01-15 18:44:42 +01:00
Simeon Bird 72de114a94 Merge branch 'KDE/4.10' 2013-01-15 11:11:11 -05:00
Emmanuel Pescosta 256792355d Select right item as current item (first item after the deletion) after deleting files
BUG: 290736
REVIEW: 108356
FIXED-IN: 4.10
2013-01-14 20:01:03 +01:00
Frank Reininghaus 1e2481c974 Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-11 17:24:05 +01:00
Frank Reininghaus d3b92d2d67 Slightly reduce the tinting for selected icons and previews
The intention of the tinting was to make it more obvious in icons view
which icons are selected. However, some icons and previews look quite
ugly with the current tinting value of 1.0 (i.e., the value passed to
KIconEffect::colorize). A slight reduction of this value to 0.8 makes
this a little less ugly. However, the real fix is to remove the tinting
altogether and find something better to indicate which items are
selected.

CCBUG: 309722
2013-01-11 17:12:34 +01:00
Frank Reininghaus 2a7e8b41d3 Only use parallel sorting when sorting by name
The reentrant natural comparison of strings is the only really
expensive operation. Other comparison functions are much cheaper and
might not be reentrant at all. Therefore, we disable parallel sorting
when not sorting by name to prevent crashes and other unpleasant
behaviour.

BUG: 312679
FIXED-IN: 4.10
REVIEW: 108309
2013-01-11 16:57:43 +01:00
Emmanuel Pescosta 4fd99ef4a3 Show the real audio file duration in additional informations
Big Thanks to Frank Reininghaus and Vishesh Handa!

BUG: 311794
REVIEW: 108281
FIXED-IN: 4.10
2013-01-09 16:24:15 +01:00
David Faure 2e88d73423 autoupdate is on by default, remove unnecessary calls 2013-01-04 22:11:31 +01:00
Michael Jansen fe1e3f240a Fix crash when browsing bluetooth device.
When trying to browse a N900 it crashed here because pathA was empty. Which
lead to index = maxIndex beeing -1 and pathA.at(index) crashing.

Reorder the while condition to prevent that courtesy of tsdgeos.

(cherry picked from commit f0c90a47de)
2013-01-03 17:14:30 +01:00
Michael Jansen ed4644bd87 Fix crash when browsing bluetooth device.
When trying to browse a N900 it crashed here because pathA was empty. Which
lead to index = maxIndex beeing -1 and pathA.at(index) crashing.

Reorder the while condition to prevent that courtesy of tsdgeos.
2012-12-30 20:57:48 +01:00
Frank Reininghaus e348bc5826 Merge remote-tracking branch 'origin/KDE/4.9' 2012-12-13 22:34:38 +01:00
Emmanuel Pescosta fe5c03fb58 Fix Bug 240820 - [Usability Bug] Handling Bad Filenames, dolphin gives unclear error message
Fix Bug 308597 - Regression: Renaming a file/folder to something that contains a "/" will result in several message boxes

Uses the same solution as Dolphin-Rename-Dialog does. (KIO::encodeFileName)

BUG: 240820
BUG: 308597
REVIEW: 107681
FIXED-IN: 4.9.5
2012-12-12 22:57:20 +01:00
Frank Reininghaus b2a580c2b9 Merge remote-tracking branch 'origin/KDE/4.9' 2012-12-07 22:31:24 +01:00
Frank Reininghaus e97c050157 Fix keyboard focus handling after renaming items inline
This reverts 951cb9c35d and
3143acc084, and fixes the crash caused by
nested event loops by delaying the deletion of the KItemListRoleEditor
until the next item is renamed inline.

BUG: 311206
FIXED-IN: 4.9.5
REVIEW: 107606
2012-12-07 22:15:32 +01:00
Frank Reininghaus ffe179ad51 Merge remote-tracking branch 'origin/KDE/4.9' 2012-11-25 12:05:53 +01:00
Frank Reininghaus c570c62036 Fix regression caused by 4120805872
Copied items should not be shown in gray. Thanks to Christoph Feck for
testing and reporting this regression!

CCBUG: 304615
CCMAIL: christoph@maxiom.de
2012-11-25 11:45:06 +01:00
Frank Reininghaus 06e5202c47 Merge remote-tracking branch 'origin/KDE/4.9' 2012-11-24 17:28:43 +01:00
Frank Reininghaus 2099f4a0c5 Update the 'isCut' state of items when cutting non-files, e.g., text
BUG: 304615
FIXED-IN: 4.9.4
REVIEW: 107390
2012-11-24 16:00:42 +01:00
Dawit Alemayehu b85d46b838 Merge remote-tracking branch 'origin/KDE/4.9' 2012-11-10 16:28:36 -05:00
Emmanuel Pescosta 9aacd610a3 Fix Bug 309760 - Crash while inline-renaming a file and apply change with return-key
BUG: 309760
FIXED-IN: 4.9.4
2012-11-09 12:10:36 +01:00
Frank Reininghaus 15faff457d Merge remote-tracking branch 'origin/KDE/4.9' 2012-11-05 22:12:45 +01:00
Frank Reininghaus c0559a2a1d Prevent crashes caused by nested event loops run when renaming inline
When renaming inline and starting a drag or invoking the context menu,
a nested event loop will be run. If the role editor loses focus and
emits roleEditingFinished(), we must prevent that deleteLater() is
called because this would delete the role editor inside a nested event
loop which is run from one of its own functions. We would get a crash
when returning from that event loop otherwise.

BUG: 308018
BUG: 309421
FIXED-IN: 4.9.4
2012-11-05 22:03:52 +01:00
Emmanuel Pescosta 32569ebedf Fix Bug 309338 - flood of error boxes while renaming a folder in the folder panel
BUG: 309338
FIXED-IN: 4.9.3
REVIEW: 107070
2012-10-31 22:43:21 +01:00
Frank Reininghaus 1353c92cce Fix some indentation issues 2012-10-30 08:25:21 +01:00
Frank Reininghaus 70aac0f1e6 Remove workaround for bug 304986 which is not needed in master
Commit ea6a7c09a0 added a workaround for
bug 304986 (high CPU usage because KFileItemModelRolesUpdater requests
previews for the same files over and over again after, e.g., a rename
operation). The KDE/4.10 branch of kdelibs contains the real fix for
this issue (b8f64ca3f4b6311519c21046031d66d9d0a570c6), so the workaround
can be removed.
2012-10-30 07:29:44 +01:00
Frank Reininghaus 1d9d83b434 Merge remote-tracking branch 'origin/KDE/4.9' 2012-10-30 07:26:30 +01:00
Emmanuel Pescosta c503452d56 Fix Bug 153984 - Clicking cancel on the authentication dialog for fish/sftp/ftp kioslave gets dolphin stuck on "Loading folder"
BUG: 153984
REVIEW: 107116
2012-10-29 20:54:53 +01:00
Emmanuel Pescosta 726cd768c9 Fix wrong function call in KFileItemModelSortAlgorithm::sequentialSort (Bug introduced in commit 429218eaf2) 2012-10-28 20:59:55 +01:00
Emmanuel Pescosta b4800d794c Implemented multithreading in KFileItemModelSortAlgorithm. Use as many threads as possible.
Thanks to Frank Reininghaus for all his suggestions.

REVIEW: 107025
2012-10-28 17:58:06 +01:00
Frank Reininghaus 37a54c053e Workaround for failed comparison of items in KFileItemModelRolesUpdater
The real fix is in the KDE/4.10 branch of kdelibs
(commit b8f64ca3f4b6311519c21046031d66d9d0a570c6). We work around the
problem that the KFileItem that a preview has been requested for is
different from the KFileItems in the sets m_pendingVisibleItems and
m_pendingInvisibleItems by refreshing those sets when we detect that
the bug has been triggered.

BUG: 304986
FIXED-IN: 4.9.3
2012-10-27 09:48:51 +02:00
Christoph Feck c1bc83dfdb Merge remote-tracking branch 'origin/KDE/4.9' 2012-10-26 01:58:50 +02:00
Christoph Feck 282f5cb869 Fix color role of tree view arrows
BUG: 307734
FIXED-IN: 4.9.3
REVIEW: 107031
2012-10-26 01:52:20 +02:00
Emmanuel Pescosta b6396ca721 Use QPixmapCache for KStandardItemListWidget::pixmapForIcon(const QString& name, int size) -> Avoid KIcon loading and rescaleing
REVIEW: 107039
2012-10-25 19:53:53 +02:00
Emmanuel Pescosta a9b04801db Port Dolphin from Nepomuk to Nepomuk2 according to the Nepomuk2Port mini guide on techbase - http://techbase.kde.org/Projects/Nepomuk/Nepomuk2Port
REVIEW: 106825
2012-10-15 21:46:59 +02:00
Dawit Alemayehu bc66254304 Merge branch '4.9' 2012-10-03 15:09:58 -04:00
Frank Reininghaus 0e49df9214 Find out the main window by calling the parent widget's window() member
KFileItemModel calls the dir lister's setMainWindow() method to make
sure that the dir lister caches authentication data. However, the method
used to determine the main window (qApp->activeWindow()) is not
guaranteed to yield the DolphinMainWindow or the KonqMainWindow. In
particular, if "Split View" is enabled in Dolphin's settings dialog, the
active window is the dialog, and when it is closed, any later access to
the stored pointer leads to a crash.

A better method is to verify that the model's parent is a QWidget and
then use this widget's window(). I had to make a small modification in
DolphinMainWindow to make sure that it also works correctly when the
view is split (the new view container had been created with a 0 parent
previously).

I tested it in Dolphin and Konqueror and verified that the "main window"
passed to the dir lister is really the application's main window.

BUG: 306459
FIXED-IN: 4.9.3
2012-09-29 19:53:14 +02:00
Dawit Alemayehu 65b7e3b785 Redo the fix for CTRL+Tab not working when using Dolphin's filemanagement part
in Konqueror. The original fix, commit 4f7ed2b, prevents drag and drop from
working correctly.

CCBUG: 302329
REVIEW: 106569
2012-09-28 14:01:21 -04:00
Dawit Alemayehu b7a8327c30 Merge branch '4.9' 2012-09-27 17:48:56 -04:00
Emmanuel Pescosta 814611ca36 Some speed improvements in KFileItemModelRolesUpdater:
- Use QSet.erase() instead of QSet.remove() => no expensive Rehashing
- Get rid of += in sortAndResolvePendingRoles()
- Some other small changes

REVIEW: 106577
2012-09-27 18:47:55 +02:00
Emmanuel Pescosta 63561edb45 Fix a Bug in KFileItemModelRolesUpdate::setEnabledPlugins.
Changes were never overtaken because of a wrong comparison.

FIXED-IN: 4.9.2
2012-09-26 17:36:51 +02:00
Dawit Alemayehu 7cef34939d Fixed CTRL+Tab not working when using Dolphin's filemanagement part in Konqueror.
BUG: 302329
FIXED-IN: 4.9.2
REVIEW: 106569
2012-09-26 10:16:44 -04:00
Amandeep Singh 509464cce9 Adding license header in kitemlistviewaccessible
Added the license header in kitemlistviewaccessible.*
Accessibility headers not included when QT_NO_ACCESSIBILITY defined
Removed unnecessary debug statement
2012-09-26 04:36:31 +05:30
Frank Reininghaus a5d8edb8c2 Fix coding style and unnecessary complexity in KItemListViewAccessible
CCMAIL: aman.dedman@gmail.com
CCMAIL: gladhorn@kde.org
2012-09-25 22:01:03 +02:00
Emmanuel Pescosta c330be5f5c Fixes Bug 305783 - dragging a file over a directory #c4
does not expand the dir => Bug discovered: When you drag a
     item onto a folder-view-item and then move it away
     instantly before the autoactivation event is triggered
     (After 750ms), the folder will be opened anyway.

BUG: 305783
REVIEW: 106381
FIXED-IN: 4.9.2
(cherry picked from commit 9ab8bcd6aa)
2012-09-25 17:06:34 +02:00
Amandeep Singh c08a4794ff Removing layouter from public, adding TableModelChanged update
REVIEW : 106555
2012-09-25 04:01:48 +05:30
Frank Reininghaus 631f97a6d9 Revert part of 20b0cb68bf
That commit, which disregarded roles with empty text for the row number
calculation in Icons View, caused the problem that icons might jump
around while information was retrieved asynchronously because previously
empty roles could get a non-empty value, and the corresponding items
would need an additional row in the view.

Thanks to Hrvoje Senjan for testing this feature in master and reporting
this issue early, such that we could fix it quickly and prevent that
other users suffer from this bug!

CCBUG: 304752
2012-09-24 23:32:51 +02:00
Frank Reininghaus a740120fe1 Fix crash when receiving Nepomuk info for a recently deleted file.
BUG: 306036
FIXED-IN: 4.9.2
2012-09-24 22:59:59 +02:00
Amandeep Singh 2fafb33240 Removing unneccessary case for Sibling in navigate 2012-09-23 02:15:24 +05:30
Frederik Gladhorn 8f816c8d95 Make cell indices work. 2012-09-22 22:41:54 +02:00
Frederik Gladhorn 174749c349 Accessibility: Fix cellAt
Row and column are 0 based, the cell function
uses 1 based indices.
2012-09-22 21:41:36 +02:00
Amandeep Singh 1b5b731621 Merge branch for accessibility 2012-09-22 23:49:15 +05:30
Amandeep Singh 990c7d260f Returning correct rowCount. 2012-09-22 23:47:18 +05:30
Amandeep Singh 4196026cd8 Making code confirm to policy 2012-09-22 23:47:18 +05:30
Amandeep Singh 28239e6ca8 Removing in-class functions and unnecessary destructor 2012-09-22 23:47:18 +05:30
Amandeep Singh 0ae031a4e6 Modify code according to dolphin policy 2012-09-22 23:47:17 +05:30
Luca Beltrame f1b822d926 Merge branch 'KDE/4.9'
Conflicts:
	konq-plugins/dirfilter/dirfilterplugin.cpp
	konq-plugins/dirfilter/dirfilterplugin.h
2012-09-21 10:55:08 +02:00
Emmanuel Pescosta 904d7b0701 Restore old behavior: Navigating by double-clicking in folder panel (Double-Click - show folder content and expand folder)
BUG: 295573
REVIEW: 106497
FIXED-IN: 4.9.2
2012-09-20 17:56:32 +02:00
Emmanuel Pescosta 580bcae62c Fixes Bug 293200 - Drag&drop files in dolphin doesnt preserve origin
Patch 106381 Comment #3:
When "Open folders during drag operations" is enabled, two things happen, both in the DolphinView and in the Folders Panel:

1) When hovering a folder that can be expanded (this is the case for folders with sub-folders in the Folders Panel and in the DolphinView if in Details View mode), toggle its "expanded" state.
2) When hovering a folder that can not be expanded (i.e., a folder without sub-folders or any folder in Icons or Compact View), open this folder in the DolphinView via the KItemListController's itemActivated(int) signal.

The bug described in bug 293200 comment 3 is that 1) is always wanted, but 2) is not wanted for the Folders Panel.

BUG: 293200
FIXED-IN: 4.9.2
2012-09-19 19:00:52 +02:00
Emmanuel Pescosta 186141f4d3 Fixes Bug 305783 - dragging a file over a directory #c4
does not expand the dir => Bug discovered: When you drag a
     item onto a folder-view-item and then move it away
     instantly before the autoactivation event is triggered
     (After 750ms), the folder will be opened anyway.

BUG: 305783
REVIEW: 106381
2012-09-12 19:33:28 +02:00
Frank Reininghaus 7de641316a Fix possible crash in KStandardItemListWidget::paint()
According to the backtrace in the bug report, it is possible that
KStandardItemListWidget::paint() is called if the hash m_textInfo has
not been initialised. The widget's index must be -1 in this case, see
KStandardItemListWidget::triggerCacheRefreshing(). It looks like this
can only happen if the item is about to be removed from the view, see
KItemListView::slotItemsRemoved().

I could not reproduce the crash, so I'm not sure why exactly this
happens, but this commit should at least prevent the crash.

BUG: 306167
FIXED-IN: 4.9.2
2012-09-11 19:34:23 +02:00
Dawit Alemayehu 2da3823b74 Implemented the new KParts extension, KParts::ListingiNotificationExtension.
REVIEW: 106333
(cherry picked from commit acef4b1c28)
2012-09-07 08:54:14 -04:00
Dawit Alemayehu 8b11c747a0 Implemented the new KParts extension, KParts::ListingiNotificationExtension.
REVIEW: 106333
2012-09-07 08:52:53 -04:00
Frank Reininghaus 85dfec046f Do not show '-' for additional info which is not available for an item
I'm only backporting the removal of the '-', not the update for the
line number calculation in Icons View, because this is the safest part
of the patch and also the one that fixes the most annoying part of the
bug.

Thanks to Todd Jennings for the patch!
BUG: 304752
REVIEW: 106304
(cherry picked from commit 20b0cb68bf)
2012-09-06 07:57:48 +02:00
Frank Reininghaus cad870df3b Do not show '-' for additional info which is not available for an item
Thanks to Todd Jennings for the patch!
CCBUG: 304752
REVIEW: 106304
2012-09-06 07:51:22 +02:00
Dawit Alemayehu 055ad286aa Implemented the new KParts' listing filter extension, KParts::ListingFilterExtension.
REVIEW: 106289
(cherry picked from commit cb79ee6a88)
2012-09-05 11:31:38 -04:00
Dawit Alemayehu 1bac8668d7 Implemented the new KParts' listing filter extension, KParts::ListingFilterExtension.
REVIEW: 106289
2012-09-05 11:25:37 -04:00
Frank Reininghaus ca6459ea5a Do not crash when finishing inline renaming in unusual ways
The crash was caused by a null pointer dereference when, e.g.,
minimizing Dolphin. The root cause was that
KStandardItemListWidget::closeRoleEditor() was called twice: once when
the role editor loses focus, and once again when the window is resized.
After m_roleEditor was set to 0, the second call dereferenced this null
pointer. I think the best solution is to disconnect from the role
editor's signals when the editor is not needed any more by the
KStandardItemListWidget.

CCBUG: 304524
(cherry picked from commit a9c2bdc3b5)
2012-08-24 23:29:17 +02:00
Frank Reininghaus 09775ec745 Do not crash when finishing inline renaming in unusual ways
The crash was caused by a null pointer dereference when, e.g.,
minimizing Dolphin. The root cause was that
KStandardItemListWidget::closeRoleEditor() was called twice: once when
the role editor loses focus, and once again when the window is resized.
After m_roleEditor was set to 0, the second call dereferenced this null
pointer. I think the best solution is to disconnect from the role
editor's signals when the editor is not needed any more by the
KStandardItemListWidget.

BUG: 304524
FIXED-IN: 4.9.1
2012-08-24 23:27:03 +02:00
Frank Reininghaus 89a678241d Fix regression that caused "(I18N_EMPTY_MESSAGE)" sub menus in menus
For top-level roles like "Name" and "Size", the group translation is 0.
In that case, the "group" member of the corresponding RoleInfo struct
must be an empty string. This is expected by the code which generates
Dolphin's menus, which group the top-level roles into a sub menu with
the name "(I18N_EMPTY_MESSAGE)" otherwise. This is a recent regression
caused by 199fabbaa8.

Thanks to Christoph Feck for investigating this issue!

CCBUG: 305228
(cherry picked from commit 168d0511c7)
2012-08-24 19:00:03 +02:00
Frank Reininghaus 2727715cdd Fix regression that caused "(I18N_EMPTY_MESSAGE)" sub menus in menus
For top-level roles like "Name" and "Size", the group translation is 0.
In that case, the "group" member of the corresponding RoleInfo struct
must be an empty string. This is expected by the code which generates
Dolphin's menus, which group the top-level roles into a sub menu with
the name "(I18N_EMPTY_MESSAGE)" otherwise. This is a recent regression
caused by 199fabbaa8.

Thanks to Christoph Feck for investigating this issue!

CCBUG: 305228
2012-08-24 18:57:47 +02:00
Albert Astals Cid fac19c757e Fix translations not showing in the Sort by and Additional Information submenus
Acked by Frank
REVIEW: 106049
BUGS: 305228
FIXED-IN: 4.9.1
(cherry picked from commit 199fabbaa8)
2012-08-16 22:29:56 +02:00
Albert Astals Cid 90e1e4e9f0 Fix translations not showing in the Sort by and Additional Information submenus
Acked by Frank
REVIEW: 106049
BUGS: 305228
FIXED-IN: 4.9.1
2012-08-16 22:27:12 +02:00
Emmanuel Pescosta 15b687a270 Fix wrong text color in Places Group Header. Use QPalette::Window for base color and QPalette::WindowText for text color. Also changed m_roleColor color mixing to 60% (from 70%) -> Better visible color difference when base color is darker than text color. Also changed styleOption().palette.brush(group, role).color() to styleOption().palette.color(group, role) in KStandardItemListWidget -> should be more efficient.
BUG: 303133
FIXED-IN: 4.9.1
(cherry picked from commit b3c3da9851)
2012-08-15 15:04:55 +02:00
Emmanuel Pescosta b039392f34 Fix wrong text color in Places Group Header. Use QPalette::Window for base color and QPalette::WindowText for text color. Also changed m_roleColor color mixing to 60% (from 70%) -> Better visible color difference when base color is darker than text color. Also changed styleOption().palette.brush(group, role).color() to styleOption().palette.color(group, role) in KStandardItemListWidget -> should be more efficient.
BUG: 303133
2012-08-14 22:02:24 +02:00
Amandeep Singh 9140d00259 Correcting code according to KDE Policy 2012-08-14 20:27:57 +05:30
David Faure bbf6c3af88 Fix bug 303375 - Dots in directory names treated as file extension.
Patch by Emmanuel Pescosta <emmanuelpescosta099@gmail.com>

BUG: 303375
REVIEW: 105575
FIXED-IN: 4.9.0
2012-08-14 20:27:56 +05:30
Amandeep Singh 7ac839a234 Reverting KListSelectionManager, removing unneccessary a11y factories 2012-08-14 20:27:56 +05:30
Amandeep Singh dc85bf39c9 Remove unneccessary dependency and polish the Accessibility Interfaces 2012-08-14 20:27:56 +05:30
Amandeep Singh 6770e617cb Enclose accessibility code within QT_NO_ACCESSIBILITY 2012-08-14 20:27:56 +05:30
Amandeep Singh 48fcc54aeb Adding calls to updateAccessibility
Items location changes when scrollbar is moved in dolphin.
Accordingly calls to updateAccessibility should be made.
2012-08-14 20:27:56 +05:30
Amandeep Singh 88b16b38ba Minor fixes to accessible interfaces 2012-08-14 20:27:56 +05:30
Amandeep Singh e43492a6d8 Focus-tracking for widgets in Dolphin View now works.
Added the calls to updateAccessibility, for DragDrop & Focus scenarios
2012-08-14 20:27:56 +05:30
Amandeep Singh 9437c93f07 Improving Accessibility implementation 2012-08-14 20:27:56 +05:30
Frederik Gladhorn 9149dc84b8 Accessibility: Implement rect for cells and view.
Remove comparison of QAccessibleInterfaces - these are pointers that get
instantiated again and again, so they cannot be compared. Use the object()
function in QAI instead for comparison.
2012-08-14 20:27:56 +05:30
Amandeep Singh 9def70cf8b Renaming the a11y classes and adding implementation 2012-08-14 20:27:56 +05:30
Frederik Gladhorn 6eb2884db0 Do not claim HasInvokeExtension.
This leads to crashes since it implies that
casting to QAccessible2Interface is valid.
2012-08-14 20:27:56 +05:30
Frederik Gladhorn ce1adc8f09 Remove some dubious code for now (crash less) 2012-08-14 20:27:56 +05:30
Frederik Gladhorn 0739a10a0c Add some fixmes, comment out broken rect() 2012-08-14 20:27:56 +05:30
Frederik Gladhorn c34fa9b025 Remove reimplementation of functions.
The base class implementations are actually good and without some problems.
Save one pointer's worth of memory by not having m_container.

rect was returning a relative rectangle always.

State was wrongly returning HasInvokeExtension which can lead to crashes.
2012-08-14 20:27:55 +05:30
Frederik Gladhorn cc7343815a Remove unused function.
And also bad use of "" instead of QString().
2012-08-14 20:27:55 +05:30
Frederik Gladhorn 9211640f39 Use KDebug in favor of qdebug. 2012-08-14 20:27:55 +05:30
Frederik Gladhorn ac2661d6ca Fix parent navigation for KItemListContainerAccessible. 2012-08-14 20:27:55 +05:30
Frederik Gladhorn af344f2eec Instantiate KItemListContainerAccessible when needed. 2012-08-14 20:27:55 +05:30
Amandeep Singh cd1d45c831 Adding the Accessibility classes 2012-08-14 20:27:55 +05:30
David Faure eb14263c48 Fix bug 303375 - Dots in directory names treated as file extension.
Patch by Emmanuel Pescosta <emmanuelpescosta099@gmail.com>

BUG: 303375
REVIEW: 105575
FIXED-IN: 4.9.0
2012-08-13 22:25:49 +02:00
Emmanuel Pescosta ab61d9d3ba Fix wrong text color in places and in folders panel.
FIXED-IN: 4.9.1
REVIEW: 105832
BUG: 303133
2012-08-13 19:10:50 +02:00
Emmanuel Pescosta 220d0d522d Fix wrong text color in places and in folders panel.
FIXED-IN: 4.9.1
REVIEW: 105832
BUG: 303133
2012-08-13 18:40:43 +02:00
Frank Reininghaus 5ae3d9c0ae Fix the size of the rating stars in Icons View
Moreover, make sure that the selection rectangle is large enough to
include the stars.

Patch by Emmanuel Pescosta. Thanks for the patch!

CCBUG: 302624
REVIEW: 105830
(cherry picked from commit 146c77eaa2)
2012-08-07 22:55:45 +02:00
Frank Reininghaus e534bc08f0 Fix the size of the rating stars in Icons View
Moreover, make sure that the selection rectangle is large enough to
include the stars.

Patch by Emmanuel Pescosta. Thanks for the patch!

BUG: 302624
FIXED-IN: 4.9.1
REVIEW: 105830
2012-08-07 22:54:35 +02:00
Frank Reininghaus 0d742b44df Stop preview jobs when closing Dolphin
Patch by Benni Hill. Thanks for the patch!
CCBUG: 304467
(cherry picked from commit 4d39dbc962)
2012-08-06 02:32:16 +02:00
Frank Reininghaus d7f18f5284 Stop preview jobs when closing Dolphin
Patch by Benni Hill. Thanks for the patch!
BUG: 304467
FIXED-IN: 4.9.1
2012-08-06 02:27:49 +02:00
Patrick Spendrin c7cce33067 msvc needs to have the class definition for reference parameters in methods 2012-07-29 01:13:59 +02:00
Patrick Spendrin c62146f9ff msvc needs to have the class definition for reference parameters in methods 2012-07-29 01:11:21 +02:00
David Faure 149975a004 Fix bug 303375 - Dots in directory names treated as file extension.
Patch by Emmanuel Pescosta <emmanuelpescosta099@gmail.com>

BUG: 303375
REVIEW: 105575
FIXED-IN: 4.9.0
2012-07-20 12:09:04 +02:00
Christoph Feck 3dbe88e42a Respect platform's icon sizes
Use QStyle icon sizes instead of hard coding 16 or 32 pixels.
Using styles that follow KDE settings (every KStyle, e.g.
Oxygen) the icon sizes can be configured by the user in
System Settings.

The size for the icon/details view can be later changed
by the user, overriding the defaults. The icon size for the
places panel is not (yet?) configurable separately.

(Not resolving the bug, see comment in review request)

CCBUG: 301959
REVIEW: 105548
(cherry picked from commit 79211f6e48)
2012-07-18 01:30:32 +02:00
Christoph Feck 13dfc7fa2b Respect platform's icon sizes
Use QStyle icon sizes instead of hard coding 16 or 32 pixels.
Using styles that follow KDE settings (every KStyle, e.g.
Oxygen) the icon sizes can be configured by the user in
System Settings.

The size for the icon/details view can be later changed
by the user, overriding the defaults. The icon size for the
places panel is not (yet?) configurable separately.

(Not resolving the bug, see comment in review request)

CCBUG: 301959
REVIEW: 105548
2012-07-18 01:22:55 +02:00
Frank Reininghaus b8ef5ebca1 Re-implement dropping of files on folders in the Places Panel.
This resolves a regression caused by the Places Panel rewrite. There is
a small glitch left when reordering items (dragging below the last or
above the first item only shows the drop indicator when first dragging
out of the item and then back), but I prefer not to fix this glitch
right now because this would require a more intrusive change, and I do
not want to risk regressions because is not much time left to fix them
before 4.9.0 is released.

Thanks to Peter Penz for providing some advice about this issue.

BUG: 302557
FIXED-IN: 4.9.0
(cherry picked from commit f4c9600251)
2012-07-12 00:41:20 +02:00
Frank Reininghaus cd5d20ff8a Re-implement dropping of files on folders in the Places Panel.
This resolves a regression caused by the Places Panel rewrite. There is
a small glitch left when reordering items (dragging below the last or
above the first item only shows the drop indicator when first dragging
out of the item and then back), but I prefer not to fix this glitch
right now because this would require a more intrusive change, and I do
not want to risk regressions because is not much time left to fix them
before 4.9.0 is released.

Thanks to Peter Penz for providing some advice about this issue.

CCBUG: 302557
2012-07-12 00:36:32 +02:00
Peter Penz 53b01d5aff Renaming: Don't select unknown extensions
If a file with an unknown extension gets renamed, it is assumed
that the letters after the last point represent the extension and
won't be selected.

BUG: 301893
FIXED-IN: 4.9.0
2012-06-16 22:53:32 +02:00
Peter Penz e9463ffe2a Fix regression: Open file if entering it in the URL-navigator
The regression has been introduced when hiding the DolphinDirLister
inside KFileItemModel. Now the signal urlIsFileError() gets forwarded
to the container again where the file will be opened.

BUG: 301757
FIXED-IN: 4.9.0
2012-06-13 15:18:21 +02:00
Peter Penz fb15dac975 Drag pixmap: Turn off the hover-state 2012-06-12 13:26:23 +02:00
Peter Penz c95255eb90 Drag-pixmap fixes
- Don't use the selection-tinted icon when dragging a single item
- Decrease the vertical gap for the hotspot
- Prevent drawing tree-lines when dragging items for the Places Panel

CCBUG: 301624
2012-06-12 13:21:17 +02:00
Peter Penz 6c15705528 Update "isExpandable" and "size"-roles
If the "isExpandable"- or "size"-role is shown for a folder, the
number of sub-items must be watched to be able to update the
state of those 2 roles.

This fixes the issue that e.g. no expanding-toggle is shown
if an sub-directory has been created inside an empty directory.

BUG: 293972
FIXED-IN: 4.9.0
2012-06-11 15:46:55 +02:00
Peter Penz dbf233ea28 Folders Panel: Also count directory links
... otherwise no expansion toggle will be shown. The implementation
is a compromise between performance and correctness: If the directory
contains links that are not directories, an unnecessary expansion
toggle will be shown. But this is better than showing no expansion
toggle in case if the directory contains links that point to other
directories.

BUG: 299997
FIXED-IN: 4.9.0
2012-06-09 13:37:42 +02:00
Peter Penz 57cde56158 Inline renaming: ESC should cancel the renaming
When emitting the roleEditingCanceled-signal it must be prevented
that a roleEditingFinished-signal is emitted because of some
action taken in the receiver-slot.

BUG: 301480
FIXED-IN: 4.9.0
2012-06-09 13:12:23 +02:00
Peter Penz 1ddd9c4032 Inline renaming: Improve focus handling
Fix issue that cancelling the inline-renaming by clicking
on the other split view applies the wrong focus.

Thanks to Frank Reininghaus for the initial patch and noticing
this issue.

CCBUG: 301252
2012-06-08 22:51:01 +02:00
Peter Penz b2f5de9744 Krazy fixes 2012-06-08 22:08:29 +02:00
Peter Penz 98a4aa10ef Inline renaming fixes
- Don't use an outdated KFileItem when renaming an item more than once
- Use the same font as the view
- Don't lose the focus when an editor-popup is shown

BUG: 299327
BUG: 298883
BUG: 301253
FIXED-IN: 4.9.0
2012-06-08 16:40:01 +02:00
Frank Reininghaus c0533e1aaa Ctrl+Shift+click should have the same effect as Shift+click
This makes Dolphin 2.0's behaviour consistent with Dolphin 1.x.

BUG: 300788
FIXED-IN: 4.9.0
2012-06-03 23:03:27 +02:00
Peter Penz 931e180400 Always support a moving animation in case of the details view
This fixes the issue that resizing items results in flickering
when expandable items are shown.
2012-06-02 16:09:24 +02:00
Frank Reininghaus 397f8783d9 Improve arrow key navigation in Details View with expanded folders
If the current folder is collapsed, pressing the left arrow key now
moves the focus to the parent folder.

CCBUG: 300582
(cherry picked from commit 93daadae28)
2012-05-30 09:26:31 +02:00
Peter Penz 4e2f3dcffe Implement dropping of items into the Places Panel
Some polishing regarding the icons and group-alignment must still
be done, but at least the basic functionality is back again.
2012-05-28 23:11:52 +02:00
Frank Reininghaus 23ab605157 Show all items in the directory when the name filter is cleared
The problem was the following: While a QMutableSetIterator iterates the
items in the QSet m_filteredItems, all items that match the new filter
are removed from the set. However, to ensure that the iterator still
reaches all items in the set, one must not use QSet::remove(), but
rather the iterator's remove() method (see QMutableSetIterator docs).

CCBUG: 300504
(cherry picked from commit 288473a96c)
2012-05-26 16:35:31 +02:00
Frank Reininghaus f061d2a6b3 Use an italic font for symbolic links
BUG: 298218
FIXED-IN: 4.9.0
2012-05-26 15:32:57 +02:00
Peter Penz e76ec71536 Minor coding style fixes 2012-05-26 13:46:30 +02:00
Peter Penz 073f8cae13 Further preperations for drag & drop support in the places panel 2012-05-26 13:41:30 +02:00
Peter Penz ff9ce4dab3 Colorize icons when an item is selected
BUG: 295515
FIXED-IN: 4.9.0
2012-05-21 22:41:57 +02:00
Peter Penz 894232ebda Places Panel: Show drop indicator
The dropping itself has not been implemented yet.
2012-05-21 21:48:45 +02:00
Peter Penz e9d29bcf30 Enable basic drag and drop support for the Places Panel
The dropping has not been implemented yet, however in the context of
this step the creating of the drag-pixmap is now forwarded to
the item-widgets. This allows creating some optimized dragging-pixmaps
e.g. for the details-view, where only the name and icon should
be provided as drag-pixmap.
2012-05-18 23:31:44 +02:00
Peter Penz a6241cf8ea Fix index-range issue 2012-05-17 22:10:18 +02:00
Peter Penz 727fd64e12 Create unit-test for KStandardItemModel 2012-05-17 22:00:39 +02:00
Peter Penz bd02faa982 KStandardItemModel: Fix inconsistent internal state
Assure that the index-cache is kept consistent with the items when
a removing or inserting is done. A unit-test will be created as soon
as possible.
2012-05-17 13:34:31 +02:00
Peter Penz bca055a38e Add unit-test to test a possible crash when updating group-headers 2012-05-17 11:47:21 +02:00
Peter Penz ff6e4341c5 Fix crash related to group-headers
If multiple ranges are inserted or removed, the updating of
the group-headers may only be done after _all_ ranges have been
inserted/removed and not after each individual range. Otherwise
the layouter-cache is not in a consistent state yet.
2012-05-17 11:16:19 +02:00
Peter Penz 855560dd32 Shorten the "path" content if possible
Replace the home-path by '~' for having a shorter content.
2012-05-16 23:42:13 +02:00
Peter Penz f74c72b965 Fix several bookmark synchronization issues 2012-05-14 17:42:10 +02:00
Peter Penz 77ad7c431a PlacesItemModel: Automatically save bookmarks
Prevent that a manual call to save changed bookmarks is
necessary.
2012-05-14 14:58:34 +02:00
Peter Penz 6e9713c558 PlacesItemModel: Remove setItemHidden and isItemHidden
This should be handled automatically when the hidden-state of
the item itself gets toggled.
2012-05-13 23:30:38 +02:00
Peter Penz 1426b8d3c7 Places Panel: Prepare code to save state of bookmarks
The saving is still disabled currently until 100 % backward
compatibility with KFilePlacesView has been reached.
2012-05-13 21:45:59 +02:00
Peter Penz 9641672247 Let the group-headers respect the item-offset 2012-05-09 14:04:04 +02:00
Peter Penz a024e3e2aa Remove workaround to start/stop the resource watcher
Using the latest resource-watcher from kde-runtime does not make
this workaround necessary anymore.
2012-05-06 22:08:02 +02:00
Peter Penz 5cf40dba79 Remove kde-runtime dependency "nepomukdatamanagement"
Follow the suggestion from Vishesh Handa and copy the ResourceWatcher
code from kde-runtime instead of creating a dependency. This will of
course get removed again as soon as Nepomuk's resource watcher will
get a public API.
2012-05-06 21:52:33 +02:00
Peter Penz 814a64681d Show "duration" in the format hh::mm::ss 2012-05-06 13:32:20 +02:00
Peter Penz d4173443ab Fix sorting issues for Nepomuk-roles
Just use a string-comparison as default-compare.
2012-05-06 13:00:42 +02:00
Peter Penz 9419f0f3a5 Fix issue that no Nepomuk-data is shown when searching 2012-05-06 12:43:57 +02:00
Peter Penz 37bd2116cb Additional information: Use "Audio" instead of "Music"
This is consistent to the term used in the places panel.
2012-05-06 11:57:14 +02:00
Peter Penz 23fff35aeb Places Panel: Provide access to devices 2012-05-05 21:38:37 +02:00
Peter Penz aacf20282d Places Panel: Allow showing of hidden items 2012-05-02 23:57:04 +02:00
Peter Penz f158bf097a Places Panel: Fix implementation issues when hiding items 2012-05-02 21:24:16 +02:00
Peter Penz d76b113ad1 Places Panel: Allow hiding of items
Related changes:
- Animate changed items for the details-view in case it is not expandable
- Remove the hardcoded "isHidden"-code in KStandardItemListWidget and
  allow derived widgets to define themselves what means "hidden" within
  their context.

The current code needs a lot of bugfixing, but lets make this in smaller
steps during the next days...
2012-05-01 23:14:52 +02:00
Peter Penz 6a7cb5ff7d Fix crash when closing Dolphin during generating previews
BUG: 299108
FIXED-IN: 4.9.0
2012-04-30 18:55:48 +02:00
Peter Penz b419cfc597 Places Panel fixes
Implement adding, editing and removing of entries. Note that the
result currently is still not stored in bookmarks.xml (this needs
to wait until the hiding is implemented in the model).
2012-04-29 00:00:38 +02:00
Peter Penz 2854a69fca Reset to ascending sort order when changing the column
When changing the sort-column the sort order should always be reset
to 'ascending' to by consistent with the QListView behavior.

BUG: 298830
FIXED-IN: 4.9.0
2012-04-26 21:29:33 +02:00
Peter Penz 804021a8db Provide correct labels for Nepomuk resources 2012-04-25 21:15:14 +02:00
Frank Reininghaus c3bd4b44e4 When the current item is removed, make -1 the current index temporarily
This fixes two problems:
1. KItemListKeyboardSearchManger can cancel the current search when a
   new folder is opened (note that this action removes the current item
   from the view).
2. The view can underline the new current item (which is the item that
   used to be below the removed item). Note that this did not work
   before because the view did not receive a currentChanged() signal in
   this case and therefore did not update the "current item" status of
   the new current item.

CCBUG: 297488
CCBUG: 298782
REVIEW: 104709
(cherry picked from commit 68ce395a19)
2012-04-25 09:20:23 +02:00
Frank Reininghaus 90baf5a897 When Esc is pressed, clear the selection and cancel the keyboard search
This patch restores the Dolphin 1.x behaviour that Esc clears the
selection (Dolphin 2.0 did not have an easy way to clear the selection
using the keyboard so far). Moreover, Esc now also cancels the current
keyboard search. This fixes the problem that the only way to cancel the
search is to wait until the timeout has expired.

CCBUG: 298742
CCBUG: 297458
(cherry picked from commit d3b1312d3e)
2012-04-25 09:17:43 +02:00
Frank Reininghaus fa447df642 Reduce the timeout in KItemListKeyboardSearchManager to 1 second
It turned out that the longer timeout, introduced recently in
02eab49b2d, not only made multi-letter
keyboard searches easier, but also had some unwanted side effects. I
hope that 1 second, which is between the previous value of 5 seconds and
the pre-KDE 4.8.2 value of 0.4 seconds, is a compromise which will fit
most users' needs.
We will try to improve the situation further in future releases by
providing visual feedback about the keyboard search, but such a change
would not be suitable for a bug-fix release.
(cherry picked from commit d8732a59d3)
2012-04-25 09:16:39 +02:00
Peter Penz d9de391720 Provide additional default groups for the Places Panel
If Nepomuk is enabled, it is now possible to easily search for
some most common queries by having additional groups.
2012-04-24 23:18:34 +02:00
Peter Penz cbf83085be Details mode: Fix wrong required column-width calculation
BUG: 298577
FIXED-IN: 4.9.0
2012-04-23 00:24:40 +02:00
Peter Penz 007907be20 Bring back basic bookmark support for the Places Panel
The folders-panel signals have been adjusted too for consistency.
2012-04-21 23:29:11 +02:00
Peter Penz e3f46c3b20 Inline renaming: Fix wrong assertion
BUG: 298512
FIXED-IN: 4.9.0
2012-04-21 21:41:24 +02:00
Peter Penz ae4d11d918 Prepare view-engine for non-KFileItem usecase
Up to now the view-engine only provided a model-implementation that
supports file-items. The view-engine always had been designed to be able
to work with any kind of model, so now a KStandardItemModel is available.
The plan is to convert the places panel to the new view-engine. It should
be no problem to fix this until the feature freeze - in the worst case
the places-panel code could be reverted while still keeping the
KStandardItemModel changes.
2012-04-21 21:32:42 +02:00
Peter Penz 7afd2f0ae1 Inline renaming fixes
- Increase the editor-height in the icons-view if required
- Don't try to react on resizings of the parent, just finish
  the renaming
2012-04-18 01:15:49 +02:00
Peter Penz beeb9078f5 Ensure authentication data is cached properly
The attached patch sets the main window on the main directory
lister in DolphinView and KIO jobs in DolphinMainWindow to ensure
that login data for remote protocols such as sftp, ftp are cached
properly for the duration of the application. Otherwise, the end
user is going to end up being unnecessarily re-prompted to enter
password login information.

Thanks to Dawit Alemayehu for the patch!

REVIEW: 104614
FIXED-IN: 4.9.0
2012-04-17 22:21:55 +02:00
Peter Penz 9f94aac23f Documentation update for KItemListRoleEditor 2012-04-17 18:18:10 +02:00
Peter Penz b2e54c3a31 Implement inline-renaming for the new view-engine
BUG: 286893
FIXED-IN: 4.9.0
2012-04-17 18:15:12 +02:00
Peter Penz 60b8681081 Allow to optionally limit the maximum number of text lines
Showing the whole filename unclipped seems to be a good default,
however for users with a lot of files that have extremely long names
this might get a problem especially in the icons-view.

- Allow to limit the maximum number of lines in the icons-view
- Allow to specify a maximum width in the compact-view

(No limit is required for the details-view, as the name is shortened
automatically to show other columns)

BUG: 288596
FIXED-IN: 4.9.0
2012-04-14 00:28:24 +02:00
Peter Penz 40c71d5ce0 KFileItemModel: interface cleanups
Fix some naming inconsistencies regarding the usage of 'dir' vs.
'directory' vs. 'folder'.
2012-04-11 21:53:45 +02:00
Peter Penz ff0a86288e Fix compile issue resulted by commit 2caff15b 2012-04-11 20:45:19 +02:00
Peter Penz 6c3d9acbc2 KItemViews: Internal directory restructuration
- Move all private headers from the kitemviews-directory into
the 'private' subdirectory.

- Get rid of DolphinDirLister and just use a directory-lister
  internally in KFileItemModel.

- Minor interface-cleanups for signals
2012-04-11 16:08:32 +02:00
Peter Penz d9dbd3398a Improvements for slow sorting roles
If the sorting is done for data which is resolved asynchronously
(e.g. rating), it is important to give a visual feedback about
the state of the sorting. This is done now by a progress
indication in the statusbar.

Also optimizations for "Sort by type" have been done: Although
resolving a type can be expensive in the most often case it is a
very cheap operation. So it the sorting is done by type, try
to resolve the type synchronously for at least 200 ms to prevent
a asynchronous resorting. This is usually sufficient to have
resolved types even for directories with several thousands of
items.

BUG: 292733
FIXED-IN: 4.9.0
2012-04-10 16:36:26 +02:00
Peter Penz 16e5740828 Revert the 2.0 decision to always use KB for file-sizes
The feedback on bugs.kde.org has shown that the previous behavior
(= show size with best-matching unit) is preferred by most users.
I initially wanted to make this configurable, but for implementing
it in a non-hacky way extending KLocale from kdelibs would have
been required. I'm not sure whether the usecase in Dolphin justifies
having such a configuration in KLocale - however as kdelibs is frozen
at the moment this is no option and the old behavior has been
restored.

BUG: 289850
FIXED-IN: 4.9.0
2012-04-09 09:50:17 +02:00
Peter Penz 05082aed16 Ignore maximum size for local files when creating previews
It is up to the plugins to decide what sensible size is required for
creating a preview, this cannot be decided by the user for all
plugins. A maximum size only makes sense for remote files, where
the user implicitely decides how much of the bandwith may be used
for having previews.

BUG: 273226
FIXED-IN: 4.9.0
2012-04-08 16:12:06 +02:00
Peter Penz 02f122f33c Remove unneeded/wrong signal-slot-connection 2012-04-08 15:25:38 +02:00