From f89b412a8aeb11398a02b3dbe57105b8868e1fb4 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Thu, 25 Jul 2013 06:33:03 +0000 Subject: [PATCH 1/3] SVN_SILENT made messages (.desktop file) --- src/settings/kcm/kcmdolphinviewmodes.desktop | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/settings/kcm/kcmdolphinviewmodes.desktop b/src/settings/kcm/kcmdolphinviewmodes.desktop index 956d825ba9..a05d944c2e 100644 --- a/src/settings/kcm/kcmdolphinviewmodes.desktop +++ b/src/settings/kcm/kcmdolphinviewmodes.desktop @@ -55,7 +55,7 @@ Name[ru]=Режимы просмотра папок в Dolphin Name[se]=Dolphin čájehanmodusat Name[si]=Dolphin දසුන් ආකාර Name[sk]=Režimy zobrazenia Dolphinu -Name[sl]=Dolphin - načini pogleda +Name[sl]=Dolphin - načini prikaza Name[sr]=Делфинови режими приказа Name[sr@ijekavian]=Делфинови режими приказа Name[sr@ijekavianlatin]=Dolphinovi režimi prikaza @@ -123,7 +123,7 @@ Comment[ro]=Acest serviciu permite configurarea regimurilor de vizualizare Dolph Comment[ru]=Эта служба позволяет настраивать режимы просмотра папок в Dolphin Comment[si]=මෙම සේවාව Dolphin දසුන් ආකාර සැකසීමට ඉඩ දේ. Comment[sk]=Táto služba umožňuje nastavenie režimov zobrazenia Dolphinu. -Comment[sl]=Ta storitev omogoča spreminjanje nastavitev načinov pogleda programa Dolphin. +Comment[sl]=Ta storitev omogoča spreminjanje nastavitev načinov prikaza programa Dolphin. Comment[sr]=Овај сервис омогућава подешавање Делфинових режима приказа. Comment[sr@ijekavian]=Овај сервис омогућава подешавање Делфинових режима приказа. Comment[sr@ijekavianlatin]=Ovaj servis omogućava podešavanje Dolphinovih režima prikaza. @@ -206,7 +206,7 @@ Name[ru]=Режимы просмотра Name[se]=Čájehanmodusat Name[si]=දසුන් ආකාර Name[sk]=Režimy zobrazenia -Name[sl]=Načini pogleda +Name[sl]=Načini prikaza Name[sr]=Режими приказа Name[sr@ijekavian]=Режими приказа Name[sr@ijekavianlatin]=Režimi prikaza @@ -278,7 +278,7 @@ Comment[ru]=Настройка режимов просмотра папок в Comment[se]=Heivet fiilagieđahalli čájehanmodusat Comment[si]=ගොනු කළමණාකරුගේ සැසුම් සකසන්න Comment[sk]=Nastavenie režimov zobrazenia správcu súborov -Comment[sl]=Nastavitve načinov pogleda upravljalnika datotek +Comment[sl]=Nastavitve načinov prikaza upravljalnika datotek Comment[sr]=Подешавање режима приказа у менаџеру фајлова Comment[sr@ijekavian]=Подешавање режима приказа у менаџеру фајлова Comment[sr@ijekavianlatin]=Podešavanje režima prikaza u menadžeru fajlova From 08c2f7f5fbc55939626842e5764df856c8972d66 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Thu, 25 Jul 2013 22:15:19 +0200 Subject: [PATCH 2/3] Prevent that removing items can cause icons to overlap When items are removed, new items may become visible because of that. This includes (a) Items *behind* the removed range. KItemListView may try to create their widgets at their "imaginary" old positions and move them to the new position with an animation. (b) Items *before* the removed range, if the deletion causes the view to scroll up. In that case, the "imaginary" old position and the new position was equal, but KItemListView still tried to determine the "old" position by adding the number of removed items to the index. The result was that the widgets were created at completely wrong positions, and no animation was started to fix this. Thanks to Emmanuel for helping to find the cause of this bug! BUG: 302373 FIXED-IN: 4.11.0 REVIEW: 111630 --- src/kitemviews/kitemlistview.cpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index d2b3fa103b..0c3183cd57 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1635,18 +1635,22 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha widget->resize(itemBounds.size()); if (animate && changedCount < 0) { - // Items have been deleted, move the created item to the - // imaginary old position. They will get animated to the new position - // later. - const QRectF itemRect = m_layouter->itemRect(i - changedCount); - if (itemRect.isEmpty()) { - const QPointF invisibleOldPos = (scrollOrientation() == Qt::Vertical) - ? QPointF(0, size().height()) : QPointF(size().width(), 0); - widget->setPos(invisibleOldPos); - } else { - widget->setPos(itemRect.topLeft()); + // Items have been deleted. + if (i >= changedIndex) { + // The item is located behind the removed range. Move the + // created item to the imaginary old position outside the + // view. It will get animated to the new position later. + const int previousIndex = i - changedCount; + const QRectF itemRect = m_layouter->itemRect(previousIndex); + if (itemRect.isEmpty()) { + const QPointF invisibleOldPos = (scrollOrientation() == Qt::Vertical) + ? QPointF(0, size().height()) : QPointF(size().width(), 0); + widget->setPos(invisibleOldPos); + } else { + widget->setPos(itemRect.topLeft()); + } + applyNewPos = false; } - applyNewPos = false; } if (supportsExpanding && changedCount == 0) { @@ -1665,7 +1669,7 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha const bool itemsRemoved = (changedCount < 0); const bool itemsInserted = (changedCount > 0); - if (itemsRemoved && (i >= changedIndex + changedCount + 1)) { + if (itemsRemoved && (i >= changedIndex)) { // The item is located after the removed items. Animate the moving of the position. applyNewPos = !moveWidget(widget, newPos); } else if (itemsInserted && i >= changedIndex) { From 55a989626d1285590ee7906638215b7a63812e23 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Thu, 25 Jul 2013 22:25:18 +0200 Subject: [PATCH 3/3] Fix maximum value for scroll bar when deleting items in Details View The problem was that the view heigt minus the header height was subtracted from maximumScrollOffset() to determine the maximum value of the scroll offset of the top of the view. However, the top of the view is the part that is hiden behind the header. Therefore, the full view height must be subtracted from maximumScrollOffset. The remaining bits of bug 319951 were fixed by other recent commits. Thanks to Emmanuel Pescosta for helping to track down the problem! BUG: 319951 FIXED-IN: 4.11.0 REVIEW: 111486 --- src/kitemviews/kitemlistcontainer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 3bd8067a8f..f2e94b7337 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -257,6 +257,7 @@ void KItemListContainer::updateScrollOffsetScrollBar() QScrollBar* scrollOffsetScrollBar = 0; int singleStep = 0; int pageStep = 0; + int maximum = 0; if (view->scrollOrientation() == Qt::Vertical) { smoothScroller = m_verticalSmoothScroller; scrollOffsetScrollBar = verticalScrollBar(); @@ -264,15 +265,21 @@ void KItemListContainer::updateScrollOffsetScrollBar() // We cannot use view->size().height() because this height might // include the header widget, which is not part of the scrolled area. pageStep = view->verticalPageStep(); + + // However, the total height of the view must be considered for the + // maximum value of the scroll bar. Note that the view's scrollOffset() + // refers to the offset of the top part of the view, which might be + // hidden behind the header. + maximum = qMax(0, int(view->maximumScrollOffset() - view->size().height())); } else { smoothScroller = m_horizontalSmoothScroller; scrollOffsetScrollBar = horizontalScrollBar(); singleStep = view->itemSize().width(); pageStep = view->size().width(); + maximum = qMax(0, int(view->maximumScrollOffset() - view->size().width())); } const int value = view->scrollOffset(); - const int maximum = qMax(0, int(view->maximumScrollOffset() - pageStep)); if (smoothScroller->requestScrollBarUpdate(maximum)) { const bool updatePolicy = (scrollOffsetScrollBar->maximum() > 0 && maximum == 0) || horizontalScrollBarPolicy() == Qt::ScrollBarAlwaysOn;