Commit graph

3749 commits

Author SHA1 Message Date
Peter Penz
03415d9078 Layout optimizations
- 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
2012-02-08 17:48:32 +01:00
Peter Penz
3c83d8f14d Drag and drop: Adjust destination if the item is no directory or desktop-file
The URL of the view should be used as destination target if a dropping is not
done above a directory or desktop-file.

BUG: 293511
FIXED-IN: 4.8.1
2012-02-08 17:48:28 +01:00
Peter Penz
a3a19f4a06 Compact view: Don't hide items at the bottom when grouping is turned on
When grouping has been turned on, it was possible that items aligned
at the bottom have been hidden.

BUG: 291640
FIXED-IN: 4.8.1
2012-02-07 17:18:47 +01:00
Peter Penz
5369ee6819 Group header improvements
- Use a simpler background and colors as suggested by Martin Zilz.
  This is just an early draft, I need to post some comparison screenshots to
  Martin for review.
- Fixes of some layout issues that have been revealed because of adjusting
  the group header heights.
- More clever animation/no-animation detection when doing listview-property
  changes in parallel.
2012-02-06 23:31:49 +01:00
Peter Penz
7af39fb960 Fix potential endless loop in layout
Usecase:
- No scrollbar is shown
- Window size will be decreased so that a scrollbar gets necessary

The decreased window size minus the space required for the scrollbar
results in a relayout of the items. In 99 % of all
cases a decreased window size won't result in showing more items in parallel in
comparison to a larger window size. However in the remaining 1 % this can
happen (e.g. see bug 293318 for a sample). This results in an endless loop as
now no scrollbar is required anymore, the layout changes again, the scrollbar
is required again, ...

BUG: 293318
FIXED-IN: 4.8.1
2012-02-05 19:22:34 +01:00
Frank Reininghaus
d0933155e2 Replace setExpanded(const QSet<KUrl>&) by expandParentItems(const KUrl&)
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)
2012-02-05 15:59:59 +01:00
Peter Penz
72af3125a8 Icons view: Layout optimizations
- Assure that landscape-previews use the whole available width of the icon-area
  instead of only using the square width. This waste of space occured if the
  text-width was larger than the icon-width.

- Only use one margin instead of two between the icons and the text to improve the
  visual appearance (thanks to Martin Zilz for the hint)

BUG: 293268
FIXED-IN: 4.8.1
CCMAIL: martin@kreativkonzentrat.de
2012-02-04 22:22:19 +01:00
Frank Reininghaus
a2a78c98fc Simplify KItemListControllerTest::testKeyboardNavigation_data()
Function-static variables do not help much in a function which is
called exactly once.
(cherry picked from commit 847c8ebfd3)
2012-02-04 17:31:38 +01:00
Peter Penz
1041f340a2 Show the value "Unknown" for the item-count only after it has been verified
During determining the item-count for directories just show an empty string
until either the item-count has been calculated or if the item-count is unknown.

Thanks to Nikita Skovoroda for the initial proof-of-concept patch.

BUG: 291823
FIXED-IN: 4.8.1
2012-02-03 23:12:12 +01:00
Peter Penz
7bbdb66618 Show file size when hovering an item
BUG: 292687
FIXED-IN: 4.8.1
2012-02-03 22:32:39 +01:00
Peter Penz
3188ef05b2 FoldersPanel: Rename setHiddenFilesShown() to setShowHiddenFiles()
This is consistent with the naming scheme in KFileItemModel and KDirLister.
2012-02-03 20:29:08 +01:00
Peter Penz
cfc9e14ce4 Simplify FoldersPanel::setHiddenFilesShown()
Thanks to Frank Reininghaus for the hint.
2012-02-03 20:19:17 +01:00
Peter Penz
313a03d448 The autoscroll timer should be only a single-shot timer 2012-02-03 17:06:59 +01:00
Peter Penz
e20a6e59ea Folders Panel: Show expansion toggles for directories on ISO-images
When counting the number of sub-directories consider unknown file types
as potential directories. In the "worst case" an expansion toggle will be
shown although the directory contains only files, however from a performance
point of view this seems to be an acceptable compromise.

BUG: 292642
FIXED-IN: 4.8.1
2012-02-03 16:15:22 +01:00
Marco Martin
17af97df24 Merge branch 'KDE/4.8'
Conflicts:
	konqueror/settings/kio/proxy.desktop
2012-02-03 15:26:27 +01:00
Peter Penz
452c8b8ec8 Fix sorting issue when sorting by "size"
Root cause of the issue was an overflow in:
result = a - b;
where result is 'int' and a and b are 'KIO::filesize_t'.

BUG: 293086
FIXED-IN: 4.8.1
2012-02-02 16:03:15 +01:00
Peter Penz
4de262196a Fix crash when opening a tab during a tooltip is shown
Thanks a lot to Mathias Tillman for finding a 100 % reliable way
how to reproduce the issue and for the initial patch!

BUG: 278302
FIXED-IN: 4.8.1
2012-02-02 16:03:13 +01:00
Peter Penz
a551996848 Fix sorting issue when sorting by "size"
Root cause of the issue was an overflow in:
result = a - b;
where result is 'int' and a and b are 'KIO::filesize_t'.

BUG: 293086
FIXED-IN: 4.8.1
2012-02-02 16:02:31 +01:00
Peter Penz
9ef4b489c0 Fix crash when opening a tab during a tooltip is shown
Thanks a lot to Mathias Tillman for finding a 100 % reliable way
how to reproduce the issue and for the initial patch!

BUG: 278302
FIXED-IN: 4.8.1
2012-02-02 16:02:29 +01:00
Peter Penz
110dd6de3c Fix pending zooming animation
If doLayout() is invoked with the 'NoAnimation' hint, it must be assured
that any ongoing animations are stopped.
2012-02-02 09:39:28 +01:00
Peter Penz
def780c672 Fix pending zooming animation
If doLayout() is invoked with the 'NoAnimation' hint, it must be assured
that any ongoing animations are stopped.
2012-02-02 09:38:50 +01:00
Frank Reininghaus
6db0bec325 First version of a unit test for KItemListController
At the moment, only key press events are tested, and the current item
and selection after the event are verified.
Moreover, this commit makes sure that
KItemListController::keyPressEvent() really does not select anything
if the selection mode is NoSelection.
(cherry picked from commit 7457f4868c)
2012-02-01 22:08:16 +01:00
Frank Reininghaus
7f4e9d9ed9 First version of a unit test for KItemListController
At the moment, only key press events are tested, and the current item
and selection after the event are verified.
Moreover, this commit makes sure that
KItemListController::keyPressEvent() really does not select anything
if the selection mode is NoSelection.
2012-02-01 21:58:23 +01:00
Peter Penz
e854a3221a KFileItemModelRolesUpdater: Optimize updates
The asynchronous resolving to bypass performance bottlenecks is not necessary
anymore as multiple ranges can be inserted in one step now. This solves the issue
that e.g. opening a tree resulted in temporary unknown icons for a short period
of time.
2012-02-01 20:47:19 +01:00
Peter Penz
43373b3a16 KFileItemModelRolesUpdater: Optimize updates
The asynchronous resolving to bypass performance bottlenecks is not necessary
anymore as multiple ranges can be inserted in one step now. This solves the issue
that e.g. opening a tree resulted in temporary unknown icons for a short period
of time.
2012-02-01 20:46:23 +01:00
Peter Penz
39348650d5 Don't animate items if the number of grid elements has been changed
Having animated items is useful when e.g. deleting or inserting one
item or when the size or position slightly changes by increasing the
zoom level or the window size. However if the number of rows or columns
change, the animation gets obtrusive and in this case lets just apply
the final layout.
2012-02-01 15:33:27 +01:00
Peter Penz
3326757370 Don't animate items if the number of grid elements has been changed
Having animated items is useful when e.g. deleting or inserting one
item or when the size or position slightly changes by increasing the
zoom level or the window size. However if the number of rows or columns
change, the animation gets obtrusive and in this case lets just apply
the final layout.
2012-02-01 15:32:08 +01:00
Frank Reininghaus
530b91b9c7 Fix keyboard navigation issue when Home or End are pressed
The problem was that m_keyboardAnchorIndex and m_keyboardAnchorPos were
not updated when Home or End are pressed. This causes the following
unexpected behavior in Icons View: Press Home, then Right, then Down,
then Home, finally Down. One would expect that the first item in the
second row is the current item then, but before this commit, it was the
second one because the controller still remembered that the second
column was active before Home was pressed.
(cherry picked from commit 999234a94a)
2012-01-31 23:19:09 +01:00
Frank Reininghaus
17e71420b6 Fix keyboard navigation issue when Home or End are pressed
The problem was that m_keyboardAnchorIndex and m_keyboardAnchorPos were
not updated when Home or End are pressed. This causes the following
unexpected behavior in Icons View: Press Home, then Right, then Down,
then Home, finally Down. One would expect that the first item in the
second row is the current item then, but before this commit, it was the
second one because the controller still remembered that the second
column was active before Home was pressed.
FIXED-IN: 4.8.1
2012-01-31 23:12:36 +01:00
Peter Penz
3872938944 Animation optimizations
Prevent that the moving-animation crosses other items when zooming or
changing the window size.
2012-01-31 21:24:38 +01:00
Peter Penz
d80e9db9fb Animation optimizations
Prevent that the moving-animation crosses other items when zooming or
changing the window size.
2012-01-31 21:24:02 +01:00
Script Kiddy
0222d55281 SVN_SILENT made messages (.desktop file) 2012-01-31 21:04:40 +01:00
Peter Penz
8121bb14b1 Fix sorting issues
For some roles the sorting has not been implemented.

BUG: 292941
FIXED-IN: 4.8.1
2012-01-31 17:18:05 +01:00
Peter Penz
bf84eeedc1 Adjust zoom-slider in the statusbar if settings have been changed
This fixes the issue that changing the zoom-level in the settings
does not update the zoom-slider in the statusbar.
2012-01-31 17:18:00 +01:00
Peter Penz
d4e0bc2e23 Apply changed home-URL to the URL navigator
BUG: 291043
FIXED-IN: 4.8.1
2012-01-31 17:17:54 +01:00
Script Kiddy
da76a0722c SVN_SILENT made messages (.desktop file) 2012-01-31 16:19:58 +01:00
Peter Penz
a8e61fa6ed Fix sorting issues
For some roles the sorting has not been implemented.

BUG: 292941
FIXED-IN: 4.8.1
2012-01-31 14:59:34 +01:00
Peter Penz
47bff403fa Adjust zoom-slider in the statusbar if settings have been changed
This fixes the issue that changing the zoom-level in the settings
does not update the zoom-slider in the statusbar.
2012-01-31 13:44:57 +01:00
Peter Penz
a8cb992feb Apply changed home-URL to the URL navigator
BUG: 291043
FIXED-IN: 4.8.1
2012-01-31 13:32:18 +01:00
Peter Penz
03bed41e73 Only move the items if at least one direction is within the item size 2012-01-30 16:52:06 +01:00
Peter Penz
e283a9f7d9 Synchronize view-mode settings before the settings dialog gets opened
BUG: 292698
FIXED-IN: 4.8.1
2012-01-30 16:38:24 +01:00
Peter Penz
60bd873e9f Synchronize view-mode settings before the settings dialog gets opened
BUG: 292698
FIXED-IN: 4.8.1
2012-01-30 16:38:11 +01:00
Peter Penz
670655f448 Only move the items if at least one direction is within the item size 2012-01-30 14:07:28 +01:00
Peter Penz
6c39b4622f Further animation optimizations
- Assure a proper minimim width in the compact mode.
- Don't calculate the old position of hidden items to animate the
  moving. Just show them directly.
2012-01-30 13:01:13 +01:00
Peter Penz
832b647c53 Further animation optimizations
- Assure a proper minimim width in the compact mode.
- Don't calculate the old position of hidden items to animate the
  moving. Just show them directly.
2012-01-30 13:01:06 +01:00
Peter Penz
1d7088b1ad Fix drag & drop issues with non-local URLs
BUG: 292821
BUG: 292355
FIXED-IN: 4.8.1
2012-01-30 12:09:36 +01:00
Peter Penz
517743a1bf Fix drag & drop issues with non-local URLs
BUG: 292821
BUG: 292355
FIXED-IN: 4.8.1
2012-01-30 12:09:21 +01:00
Frank Reininghaus
0a33aad3d2 Fix crash in Compact View if view height is smaller then item height
CCBUG: 292816
FIXED-IN: 4.8.1
(cherry picked from commit f5ecaee9c4)
2012-01-30 10:10:15 +01:00
Frank Reininghaus
e778465bbc Fix crash in Compact View if view height is smaller then item height
BUG: 292816
FIXED-IN: 4.8.1
2012-01-30 10:07:03 +01:00
Peter Penz
d05ffe96f9 Make moving animations less obtrusive
Only animate the moving of items if the new position is within the same
row or the same column. Otherwise just fade in the icon on the new position.
This makes the the animations when resizing the window or changing the zoom-level
a lot more pleasant.

CCBUG: 289238
2012-01-29 18:31:57 +01:00