Merge remote-tracking branch 'origin/KDE/4.9'

This commit is contained in:
Frank Reininghaus 2012-11-24 17:28:43 +01:00
commit 06e5202c47
4 changed files with 14 additions and 7 deletions

View file

@ -55,12 +55,8 @@ KFileItemClipboard::~KFileItemClipboard()
void KFileItemClipboard::updateCutItems()
{
const QMimeData* mimeData = QApplication::clipboard()->mimeData();
const QByteArray data = mimeData->data("application/x-kde-cutselection");
const bool isCutSelection = (!data.isEmpty() && data.at(0) == QLatin1Char('1'));
if (isCutSelection) {
m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
emit cutItemsChanged();
}
m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
emit cutItemsChanged();
}
KFileItemClipboard::KFileItemClipboard() :

View file

@ -101,6 +101,7 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) :
m_scrollToCurrentItem(false),
m_restoredContentsPosition(),
m_selectedUrls(),
m_clearSelectionBeforeSelectingNewItems(false),
m_versionControlObserver(0)
{
m_topLayout = new QVBoxLayout(this);
@ -1227,6 +1228,12 @@ void DolphinView::updateViewState()
if (!m_selectedUrls.isEmpty()) {
KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
if (m_clearSelectionBeforeSelectingNewItems) {
selectionManager->clearSelection();
m_clearSelectionBeforeSelectingNewItems = false;
}
QSet<int> selectedItems = selectionManager->selectedItems();
for (QList<KUrl>::iterator it = m_selectedUrls.begin(); it != m_selectedUrls.end(); ++it) {
@ -1544,6 +1551,7 @@ void DolphinView::markPastedUrlsAsSelected(const QMimeData* mimeData)
destUrls << destination;
}
markUrlsAsSelected(destUrls);
m_clearSelectionBeforeSelectingNewItems = true;
}
void DolphinView::updateWritableState()

View file

@ -765,6 +765,7 @@ private:
QPoint m_restoredContentsPosition;
QList<KUrl> m_selectedUrls; // Used for making the view to remember selections after F5
bool m_clearSelectionBeforeSelectingNewItems;
VersionControlObserver* m_versionControlObserver;

View file

@ -104,7 +104,9 @@ void ToolTipManager::hideToolTip()
if (m_fileMetaDataToolTip) {
m_fileMetaDataToolTip->hide();
delete m_fileMetaDataToolTip;
// Do not delete the tool tip immediately to prevent crashes when
// QCoreApplication tries to deliver an 'Enter' event to it, see bug 310579.
m_fileMetaDataToolTip->deleteLater();
m_fileMetaDataToolTip = 0;
}
}