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...
- Determine group of a new entry dependent from the protocol
- Allow panels to forward error-messages to the view-container
(also applied to Folders Panel)
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).
The places-entries for searching revealed some serious issues in
combination with the search-panel. Move the filtering away from
QDockWidget and bring it back below the search-bar.
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.
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
- 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
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
As no rubberband-selection is enabled for the Folders Panel it does
not make sense to keep the selection region as small as possible.
BUG: 294111
FIXED-IN: 4.8.1
- Differ internally between margins and paddings
- Add a small padding in the icons-view and the compact-views
- Optimize the width of the icons-view if previews are shown
The use case of this function (Folders Panel) requires the expansion of
the parent items of a single URL, so it's not needed to handle a full
set of URLs in this function. Moreover, the issue that not only the
parents, but also the URLs themselves were expanded is fixed by this
commit.
(cherry picked from commit 89082ca391)
Use KFileItemModel instead of KDirLister for toggling the whether
hidden files should be shown. This assures that the signal
KFileItemModel::loadingCompleted() will be emitted.
In the longterm Dolphin should only use the KFileItemModel, so that
the KDirLister instance is used only internally as implementation
detail in KFileItemModel. Although there are only a few cases left
where KDirLister is used instead of KFileItemModel this cleanup
will be postponed to after the 4.8 release...
BUG: 287314
BUG: 288213
FIXED-IN: 4.8.0
m_lastSetUrlStatJob gets a dangling pointer if we don't have a
Nepomuk URL.
Thanks to Frank Reininghaus for the analysis and the hint!
BUG: 287075
FIXED-IN: 4.8.0
When the selection changes during the Information Panel is
invisible, it still should get applied so that when making the
Information Panel visible again a valid selection is shown.
Thanks to A. Janardhan Reddy for the patch!
(Additionally the obsolete check for an empty selection has
been removed, as this cannot happen anymore with the new view
engine)
BUG: 281452
FIXED-IN: 4.8.0
Dropping items into the Places panel has been temporary deactivated because
of switching to the new view-engine -> reactivate it again
BUG: 204359
FIXED-IN: 4.8.0
The following functionality from Dolphin 1.x has
been ported to the new view-engine:
- Allow expanding/collapsing of items
- Automatically select the current item
- Context menu for items
Related improvements to the view-engine:
- Make the expanding/collapsing interface already accessible
in the base classes KItemModelBase and KItemListView. If
no expanding/collapsing is supported at all by derived models
(which is usually the default case) simply not reimplementing
those 3 methods is sufficient and it does not introduce an
additional complexity like in QAbstractItemModel/QModelIndex.
- Automatically handle the expanding/collapsing in KItemListController.
This also includes the key-handling, which is quite special for
expandable items.
- Don't let KItemListView automatically scroll to the current item
if the current item got changed. The automatic scrolling should
only be done if the current item has been changed by the user.
Hence this functionality has been moved to the KItemListController
which currently only triggers the automatic scrolling if the current
item has been changed by the keyboard (we might extend the usecases
later if required).
The folders panel has been adjusted to use the new view-engine.
A lot of things don't work yet, but are mostly minor issues that
should be fixable during the next 10 days.
Dolphin 2.0 will get a new view-engine with the
following improvements:
- Better performance
- Animated transitions
- No clipped filenames due to dynamic item-sizes
- Grouping support for all view-modes
- Non-rectangular selection areas
- Simplified code for better maintenance
More details will be provided in a blog-entry during
the next days.
Please note that the code is in a very
early alpha-stage and although the most tricky parts
have been implemented already very basic things like
drag and drop or selections have not been pushed yet.
Those things are rather trivial to implement but this
still will take some time.
Previous state: When the terminal is hidden, the cwd is not updated
anymore. If it was on a removable device when hiding, the hidden
terminal might prevent unmounting this device.
This patch fixes that bug by changing the cwd to "/" when hiding the panel.
REVIEW: 101387
BUG: 158264
FIXED-IN: 4.7.0
If the Search Panel is shown outside the context of the "Find" mode it
will be always enabled and does a global search. Only if the user is in
the "Find" mode and the searching is restricted to the current directory
the Search Panel might get disabled if the current directory is not
indexed. This solves the major usability issue that it was not clear
for the users whether a global or restricted search is done.
When navigating in Dolphin it attempts to keep any open Terminal (F4)
in sync by changing the directory in the shell. It does this by
sending a "^C; cd $DIRECTORY" however shells under FreeBSD treat "^C"
as a literal string and not SIGINT. Fix this by sending SIGINT to the
shell instead of "^C".
It appears Linux does not exhibit this behaviour.
Patch originally written by David Naylor, from the KDE-FreeBSD team.
CCMAIL: naylor.b.david@gmail.com
(cherry picked from commit 5f78219e18)
The search panel must get a hint whether clicking on the facets should result in searching everywhere or from the current folder. It is not sufficient to check the search-settings of the "Find:"-box, as when the "Find:"-box is invisible there is no hint for the user what kind of searching is done and the setting must be ignored.
- Always merge the query from the "Find:"-field with the current facet-query. This assures that the facet-query never gets overwritten if the user changes the "Find:"-field.
- Always trigger a searching if the text of the "Find:"-field has been cleared.
Still a lot of usability issues are left, but this is at least a first step...
Most developers seem to prefer
if (ptr) ...
if (!ptr) ...
in comparison to
if (ptr != 0) ...
if (ptr == 0) ...
Adjusted the Dolphin-code to use the "most-prefered style" to make contributors happy.
The filter-panel should be disabled if the current folder is not indexed at all. Also when triggering a "Find" the filter-panel should stay invisible per default when the current folder is not indexed.
CCBUG: 264969
- Remember the 'Show Hidden Files' setting
- Improve the autoscroll behavior
- Fix issue that expanding folders might not increase the horizontal width
- Fix issue that the selected item might get hidden by the horizontal scrollbar
BUG: 191787
FIXED-IN: 4.6.0
CCMAIL: datpeter@yahoo.com>
svn path=/trunk/KDE/kdebase/apps/; revision=1190479
showing metadata for the currently selected folder. This way we can even get rid of the
special handling of nepomuksearch:/ URLs since the KIO slave provides a nice name and
all you need to show to the user.
Even nicer: When clicking an entry in the metadata view the resulting query will be related
to the one clicked resource. This resource will then be represented by the query folder.
So all in all this patch makes Dolphin more generic while additionally activating a new feature.
svn path=/trunk/KDE/kdebase/apps/; revision=1152959
- As additional columns in the details view
- As additional lines in the icons view
- As menu entries in the "Sort By" and "Additional Information" groups
- As popup menu entries in the details view header popup
- As checkable entries in the View Properties dialog
To prevent similar painful transitions in future, the class AdditionalInfoManager has been introduced. All parts in Dolphin that access/show/store additional information, use the AdditionalInfoManager now. If a new information entry will be added in KFileItemDelegate in future, only a small adjustment in AdditionalInfoManager will be required.
Still open currently:
- AdditionalInfoDialog does not use AdditionalInfoManager yet
- DolphinView::Sorting should be replaced by KFileItemDelegate::Information, so that the sorting can also be done in a generic way.
- The data for KFileItemDelegate::PathOrUrl is not determined
The open issues will get fixed during the next days.
Kudos to the brave warriors Sebastian and Frank, that tried to add a new information ;-)
CCMAIL: sebastian@trueg.de
CCMAIL: frank78ac@googlemail.com
svn path=/trunk/KDE/kdebase/apps/; revision=1126410
(and Konqueror's) Details View in KDE SC 4.5.
This is based on the changes to KFileItemDelegate from commit 1124981.
FEATURE: 211690
svn path=/trunk/KDE/kdebase/apps/; revision=1124982
The ViewModeController offers a defined interface to control view mode implementations like icons view, details view and column view. The DolphinViewController allows those view mode implementations to control the parent DolphinView in a limited way.
svn path=/trunk/KDE/kdebase/apps/; revision=1109228
The terminal interface does not provide an API for this, so as workaround backspaces are send. Not nice, but as the issue can lead to data loss, this solution is better than having nothing.
BUG: 161637
svn path=/trunk/KDE/kdebase/apps/; revision=1103207
* use the data provided by the model instead reading it again
* allow to enable/disable also custom meta data
svn path=/trunk/KDE/kdebase/apps/; revision=1102852
By this it is possible that other applications like e. g. Gwenview provide custom widgets to change EXIF data directly within the meta data widget.
svn path=/trunk/KDE/kdebase/apps/; revision=1102834
The sorting of the meta data items is now done by the group. Within the group the sorting is done by their translated labels.
svn path=/trunk/KDE/kdebase/apps/; revision=1102778
KNfoTranslator is marked as private class, as it is not clear yet whether it should be used by other classes like KFileMetaInfo.
svn path=/trunk/KDE/kdebase/apps/; revision=1098897
- Use RDF labels internally.
- Provide better default settings, which meta data are hidden.
- Allow to configure which meta data is shown also if Nepomuk is turned off.
svn path=/trunk/KDE/kdebase/apps/; revision=1096571
Beside the new translations the fix is based on several other fixes in kdelibs + strigi and cannot be backported to KDE SC 4.4.x.
As soon as the meta data widget has been moved to kdelibs, this meta data information will also be available in the properties dialog.
BUG: 193592
svn path=/trunk/KDE/kdebase/apps/; revision=1096472
* Fixed index bug which caused the last information item to be deleted.
* Why make merge-sort more complicated than it is? ;)
svn path=/trunk/KDE/kdebase/apps/; revision=1080377
Added implementation note, as a working code had been removed some time ago because of a performance bottleneck.
BUG: 198375
svn path=/trunk/KDE/kdebase/apps/; revision=1071287
only show links on hover we are good to go.
This is actually a fix as resources in the rest of the info view are already clickable.
CCMAIL: peter.penz@gmx.at
svn path=/trunk/KDE/kdebase/apps/; revision=1059908
* trigger progress information when starting a search
* let the information panel hide the meta data for the search string
* get the search string from the configurator
svn path=/trunk/KDE/kdebase/apps/; revision=1048721
So now all adjustments from the review have been adapted to the Dolphin code. After KDE 4.4 has been released some refactoring will be done so that the open topics above are handled in a nice way.
svn path=/trunk/KDE/kdebase/apps/; revision=1041547
* allow to hide specific data for applications
* check whether Nepomuk has been activated (the check with #idfef HAVE_NEPOMUK is not sufficient in the case if Nepomok is available but not activated)
svn path=/trunk/KDE/kdebase/apps/; revision=1036556