| Age | Commit message (Collapse) | Author |
|
The column-width must respect the minimum width of the
header-roles.
|
|
|
|
- Open the context menu on the mouse-press event, not on the
mouse-release event.
- Provide an explicit position-information and don't use
QCursor::pos(). This fixes the issue that opening a context-menu
by the keyboard opens below the cursor.
- Provide different signals in the KItemListController for
the different context-menu types (item vs. view vs. header).
- Implement turning on/off roles by the header-context-menu.
|
|
|
|
|
|
QFontMetrics::averageCharWidth() is quite slow and does not work
well on fonts with broken characters. In the
usecases required by Dolphin QFontMetrics::height() is a better
and faster alternative to get a font-dependent minimum width.
Thanks go to Christoph Feck for this hint!
|
|
This fixes strange layout-issues when turning on/off previews in the
details-view.
CCBUG: 278899
|
|
This function is used in KItemListView::updateWidgetProperties()
to find out if an item is selected in a more efficient way.
The new function is tested in KItemListSelectionManagerTest.
I've factored out some code from
KItemListSelectionManagerTest::testChangeSelection() to a new
member to simplify the test.
|
|
|
|
This commit adds the missing pieces to KItemListView and makes
KFileItemModel::resortAllItems() only emit the itemsMoved() signal.
|
|
|
|
|
|
|
|
Currently only a smoothscrolling was provided into the
scroll-direction, but not in case of the details-view where a
horizontal scrollbar might be shown too.
Some minor adjustments of the private KItemListSmoothScroller interface
will be done later...
|
|
KFileItemModel now emits the itemsMoved signal when the model
is resorted, and KItemListSelectionManager has a new function
itemsMoved() which will be called indirectly when this signal
is emitted. Unit tests for the new functionality are included.
The following things are still needed to make the feature
work:
1. KFileItemMdel::resortAllItems() should not emit
itemsAdded/itemsRemoved any more.
2. KItemListView::itemsMoved() must update the view according
to the changes in the model, and it must call
KItemListSelectionManager::itemsMoved().
|
|
Prevent unnecessary calls to visibleRolesSizes() when
expanding items. Also the performance has been improved when
resizing the window.
|
|
When inserting items or when updating the item-roles there is no
need to recalculate the column-widths for all items to get an
optimized column-width.
|
|
|
|
If an item does not fit into the available width/height a scrollbar
should be provided (e.g. typically this represents the horizontal
scrollbar in the details-view where the width can be larger than
the than the visible width).
Currently the interaction with the scrollbar is not implemented but
this will be a quite minor task in comparison to this patch.
|
|
|
|
parameter.
As QHash would not match a KUrl key with it's value if the key had a
trailing slash, so it would return -1, hence the file won't get
selected.
Changed the UpdateViewState slot to remove the trailing slash before
calling the index function for the selected URL. Also modified
DolphinView to use KUrl list instead of KFileItemList to maintain
simplicity.
|
|
This results in less overhead if item-changes are done rather fast
(e.g. when applying the number of sub directories for the "size"
role).
|
|
The current approach works fine but should be replaced in the longterm
by a helper class shared by KFileItemListWidget and
KFileItemListView to share information that is required to
calculate the size hints in KFileItemListView and to represent
the actual data in KFileItemListWidget.
|
|
Additionally it is assured that on role-changes the size-hints
get updated if necessary.
|
|
Still open:
- Column content is not clipped correctly
- First column is not automatically increased to the available
width like in Dolphin 1.7
|
|
Up to now the layout has only been updated when the geometry has
not been changed for at least 300 ms. This has been changed so
that at least each 300 ms the layout is updated to give a better
visual feedback when resizing the window.
|
|
KItemListView does not react on the resizing yet. Toggling the
sort order and changing the sort role is already possible.
|
|
|
|
Files selected via --select parameter did not get current item focus.
And if files were deleted while being current item, updating the view
would select the next item instead of the first item in the list.
BUG: 257805
CCMAIL: [email protected]
CCMAIL: [email protected]
|
|
|
|
|
|
Simply use a QList<QByteArray> instead of QHash<QByteArray, int>.
|
|
|
|
|
|
|
|
It only works for files so far. The sorting of folders
by the number of items is more tricky to get right because
this number is retrieved asynchronously by
KFileItemModelRolesUpdater.
|
|
The returned file-item of the root might be null.
BUG: 282108
|
|
Changing the sort order and enabling/disabling the
"Sort Folders First" option works now.
|
|
This fixes the problem that changing the sorting criterion
from 'Name' to 'Date' and then back to 'Name' doesn't work.
|
|
|
|
m_pendingItems and m_pendingInvisibleItems might contain already
removed items. Take care to delete them before starting to resolve
the roles.
Thanks to Frank Reininghaus for finding out the root-cause.
|
|
|
|
If the changed items have been created recently, they might not be in
m_items yet. In that case, the list 'indexes' might be empty, which
leads to a crash later on (I saw the crash in KFileItemModel's unit
test).
|
|
Based on the work of Vishesh Yadav some extensions where required
for the KVersionControlPlugin interface that have found there way
now into KVersionControlPlugin2.
Beside some interface cleanups it is now possible that a version
control plugin may also provide context actions for directories or
files that are not versioned yet.
REVIEW: 102541
|
|
Provide a hook for derived KItemListWidget where the cache
can be updated.
|
|
|
|
|
|
|
|
|
|
|