Up to now, some Columns View tests that need a folder to be displayed
in the view only passed if they were run first: The first test always
passed, and if a test name was passed on the command line, such that
only this test would be run, this test would work as well. In other
cases, the view was empty, not showing the items in the folder.
The problem is worked around by creating a new DolphinView before each
test in the case of the Columns View. Added a TODO comment to make me
remember to look into this again at some point.
The test assumes that the view does not have the keyboard focus
initially. However, this may not be the case if this is the only test
to be executed (i.e., if testKeyboardFocus is passed to the test
executable on the command line). This commit transfers the keyboard
focus explicitly to another widget.
Peter Penz [Tue, 18 Jan 2011 19:56:18 +0000 (19:56 +0000)]
Assure that the enabled plugins for previews are set for the Information Panel and the tooltips. This fixes the issue that a disabled thumbnail-plugin might be chosen. For 4.7 it should be considered to move this code into KIO::filePreview() as default already (will provide a patch on the reviewboard).
When running the test in the background while using the computer for
other things, it may happen that the test's widgets are not focused,
which led to an infinite loop before this commit. I've removed the
checks that caused this loop because the only thing that is important
for the test is that the view loses the keyboard focus at some point
(see bug 220898).
DolphinTreeView contains some code to update the selection after a
keyboard search because QTreeView (unlike the other item views) does
not handle this internally.
This commit simplifies that code by performing the selection update in
the method keyboardSearch(). That way, we can get rid of the member
m_updateCurrentIndex and of 3 member functions. The unit tests still
pass, so I'm quite confident that this does not break anything.
DolphinTreeViewTest: Add unit test for bug 220898 (rubberband
selection failure after a keyboard focus change in between key press
and key release events)
Move the call "setUniformRowHeights(true)" from DolphinDetailsView's
constructor to the one of its base class DolphinTreeView. The reason
is that DolphinTreeView::updateElasticBandSelection() contains
"Q_ASSERT(uniformRowHeights())", so it makes sense to ensure that
every DolphinTreeView has uniform row heights. This might be important
for unit tests which use DolphinTreeView directly.
DolphinTreeViewTest: Add unit test for bug 259656 (multiple file
deletion if Shift+Delete is pressed for some time and the confirmation
dialog is disabled).
Peter Penz [Sat, 15 Jan 2011 17:52:00 +0000 (17:52 +0000)]
If the searching has been triggered by clicking on a facet and the facet gets reset again, assure that not all indexed files are shown. Instead return to the previous state before the searching has been started.
Peter Penz [Fri, 14 Jan 2011 19:55:55 +0000 (19:55 +0000)]
Move the FileMetaDataConfigurationDialog from "settings" to "panels/information", as it is not used anymore for the tooltips and only in the information panel.
Peter Penz [Sun, 9 Jan 2011 15:14:29 +0000 (15:14 +0000)]
Don't trigger a slotDirListerCompleted() when the directory lister has been cancelled. Beside leading to a crash for the unit tests this is semantically wrong.
Peter Penz [Sun, 9 Jan 2011 15:03:30 +0000 (15:03 +0000)]
Fix implementation of DolphinView::invertSelection() which assures that DolphinView::hasSelection() provides a valid return-value. This looks like an issue in Qt, but I did not have the time yet to provide a Qt-only example for a bug-report :-(
Peter Penz [Sun, 9 Jan 2011 13:58:35 +0000 (13:58 +0000)]
Encapsulate the creation and handling of the directory lister, the model and proxy model to DolphinView. By this it will be easier later to replace the traditional QAbstractItemViews by any kind of other implementation (e.g. based on QGraphicsView/QML).
Peter Penz [Sun, 9 Jan 2011 12:28:43 +0000 (12:28 +0000)]
Internal simplification: It is not necessary to keep the ViewModeController as member for the view-modes, as the URL is alredy known by the DolphinViewController.
Peter Penz [Sun, 19 Dec 2010 12:48:24 +0000 (12:48 +0000)]
Fix regression introduced in 4.5 and allow to add the menu actions "Show Information Panel", "Show Folders Panel", "Show Terminal Panel", "Show Places Panel" and "Show Places Panel" to the toolbar like in KDE SC 4.4.
Peter Penz [Sun, 19 Dec 2010 12:03:46 +0000 (12:03 +0000)]
Select the whole text in the filterbar and searchbox if the widget has lost the focus and gets focused again by the shortcut (this behavior is consistent to e.g. the behavior in Kate).
Peter Penz [Wed, 15 Dec 2010 18:55:25 +0000 (18:55 +0000)]
Keeping DolphinDirLister and DolphinModel as DolphinViewContainers members is not needed anymore, as all the handling is encapsulated inside DolphinView in the meantime. The moving of the dirlister- and model-construction will be done after the 4.6 release, as some internal API adjustments are necessary.
Peter Penz [Wed, 15 Dec 2010 17:10:59 +0000 (17:10 +0000)]
Fix issue that 2 files get deleted in the details-view instead of 1 when Shift+DEL is pressed for a longer time (and the confirmation dialog has been turned off).
Peter Penz [Wed, 15 Dec 2010 16:40:32 +0000 (16:40 +0000)]
If "Use common view properties for all folders" is checked, the optimized view-modes for trash and searching should be replaced by the common view properties too.
Peter Penz [Fri, 10 Dec 2010 22:54:37 +0000 (22:54 +0000)]
Show an undetermined progress indication within one second after changing an URL.
Update to SVN commit 1205329:
- Fix issue that an undetermined progress is shown when switching between columns of the column-view.
- Fix issue that no undetermined progress is shown when editing the URL directly in the URL navigator
Use kWaitForSignal to wait until the view has finished reloading. I've
also added a timeout such that the tests fail rather than hang if the
file kioslave dies (which happens sometimes according to some test
logs on cdash.org).
Add a unit test for the basic selection-related functionality of
DolphinView. The main testing code is inside an abstract base
class. Three classes inherit this base class and do the actual testing
in one view mode each.
Peter Penz [Fri, 26 Nov 2010 17:54:49 +0000 (17:54 +0000)]
Also reconnect signals for the directory lister when changing the view or the URL, as the directory lister might change in the case of the column view (based on a patch from Frank Reininghaus)
In the item view constructors, call setFocus() only after
m_extensionsFactory is initialised. This fixes a possible crash in
Konqueror when changing the settings or manipulating tabs.
Backup and restore the zoom level in
bug234600_overlappingIconsWhenZooming() such that it's the standard
value again in the following test. Also verify that the zoom level is
as expected after each call to DolphinView::setZoomLevel(int).
Make sure that an item's visualRect in the Details View is not wider
than the "Name" column. Fixes keyboard navigation problems if files
with very wide names are present in the current folder.
Peter Penz [Sat, 20 Nov 2010 11:29:54 +0000 (11:29 +0000)]
Use the inactive text color for all columns except the name column. This indicates for the user that hovering other columns does not change the actions context.
Peter Penz [Thu, 18 Nov 2010 16:18:07 +0000 (16:18 +0000)]
- When showing the trash content, use the details view with path as default view
- Assure that the original path is shown for the trash protocol within Dolphin
Verify that the pointer m_extensionsFactory is not 0 before
dereferencing it. Fixes a possible crash when initialising the
Details View in Konqueror, caused by an indirect resizing the of
columns before the DolphinDetailsView constructor is finished.
Peter Penz [Thu, 11 Nov 2010 19:19:40 +0000 (19:19 +0000)]
Remove the "Remove folder restriction" button from the Filter Panel as discussed with Sebastian TrĂ¼g. This will be replaced by the "From Here" and "Everywhere" buttons later.
Peter Penz [Wed, 10 Nov 2010 22:27:06 +0000 (22:27 +0000)]
Don't try to apply the services-settings, if they have not even been shown. This fixes the issue that the version-control settings get reset when changing another setting.