Commit graph

19162 commits

Author SHA1 Message Date
Frank Reininghaus
1cbb06f593 Use QMutableHashIterator for deleting items from a QHash
KItemListViewAnimation::slotFinished() used a QHashIterator to iterate
over a QHash, and then removes an item from the hash using
QHash::remove() inside the loop.

This is quite unusual - the recommended way is to use a
QMutableHashIterator (or std-style iterators and then QHash::erase(it)).

This might be related to the cause of a crash in this function.

BUG: 331876
REVIEW: 116666
FIXED-IN: 4.13.0
2014-03-11 09:07:23 +01:00
Emmanuel Pescosta
b892058730 Fix Bug 326210 - Dolphin unnecessarily truncates names of soft links in compact mode
FIXED-IN: 4.13.0
BUG: 326210
BUG: 310592
REVIEW: 116121
2014-03-05 10:48:33 +01:00
Frank Reininghaus
8dcd8eab8d Merge remote-tracking branch 'origin/KDE/4.13' 2014-03-05 08:46:45 +01:00
Frank Reininghaus
e67793866d Remove some unused functions
REVIEW: 116562
2014-03-05 08:44:45 +01:00
l10n daemon script
8fbbcdd4fa SVN_SILENT made messages (.desktop file) 2014-03-04 09:56:50 +00:00
l10n daemon script
8dc43672f2 SVN_SILENT made messages (.desktop file) 2014-03-04 05:44:46 +00:00
Emmanuel Pescosta
24326d4473 Add a hover effect for the selection toggle.
FIXED-IN: 4.13.0
REVIEW: 116028
BUG: 299328
2014-03-03 22:06:56 +01:00
l10n daemon script
82d1553c9c SVN_SILENT made messages (.desktop file) 2014-03-02 08:17:02 +00:00
l10n daemon script
b69649315d SVN_SILENT made messages (.desktop file) 2014-03-02 05:34:28 +00:00
Frank Reininghaus
7204392dca Always go back/forward in history when pressing the respective buttons
Before this patch, pressing one of these buttons while an item is
hovered selected this item. The motivation for this behavior was to
provide a fast way to select items. However, this was counter-intuitive
and confusing for many users.

BUG: 310288
FIXED-IN: 4.13.0
REVIEW: 116469
2014-03-01 12:14:47 +01:00
Emmanuel Pescosta
f40cc13d31 Scroll to newly dropped files.
If multiple files are dropped, scroll to the first dropped file.

BUG: 315722
FIXED-IN: 4.13
REVIEW: 116020
2014-02-27 12:17:48 +01:00
Frank Reininghaus
fa95bb3dbe Merge branch 'KDE/4.13' 2014-02-27 09:15:54 +01:00
Frank Reininghaus
1bf4cd8ff7 Merge remote-tracking branch 'origin/KDE/4.12' into KDE/4.13 2014-02-27 09:11:48 +01:00
l10n daemon script
3eb801346d SVN_SILENT made messages (.desktop file) 2014-02-27 04:42:34 +00:00
Emmanuel Pescosta
885d260cd4 Show the correct icon size in the zoom slider tooltip.
BUG: 305694
FIXED-IN: 4.12.3
REVIEW: 111197
2014-02-25 19:41:45 +01:00
Emmanuel Pescosta
2a6a1f5acd Fix Bug 330605 - Dropbox plugin prevents git plugin from working
Use scoring to find the best matching plugin for the given directory.

Thanks to Phil Schaf for testing this patch!

BUG: 330605
FIXED-IN: 4.12.3
REVIEW: 116019
2014-02-25 19:38:57 +01:00
Andrea Iacovitti
cba93ec166 Merge remote-tracking branch 'origin/KDE/4.12' 2014-02-24 22:22:05 +01:00
Frank Reininghaus
70cfa627e5 Make the handling of the "maximum text lines" setting more robust
If the user sets a maximum number of text lines in the settings, this
number was translated into a maximum height in pixels using
QFontMetrics::lineSpacing() before this commit.

In KStandardItemListWidgetInformant::itemSizeHint(), this maximum height
limited the size that is reserved for the item.

However, in KStandardItemListWidget::updateIconsLayoutTextCache(), the
maximum height was translated back into a maximum number of lines,
which limits the number of lines that are created using the QTextLayout.

This approach could lead to problems if the real height of the layouted
text is 1 pixel more or less than QFontMetrics::lineSpacing() times
"number of lines".

Now we do not store a "maximum height" inside the "maximum size"
explicitly, but store a maximum number of lines and a maximum with (for
Compact View) separately, and then use the number of lines also to
calculate the required size in
KStandardItemListWidgetInformant::itemSizeHint(). This should make sure
that the correct height is reserved for each item.

Thanks to Christoph Feck and Emmanuel Pescosta for helping to debug this
problem and testing the patch.

BUG: 323841
FIXED-IN: 4.13
REVIEW: 113871
2014-02-24 21:05:09 +01:00
Emmanuel Pescosta
f40b80a960 Handle font and palette changes in Dolphin list views.
Also update the font of the meta data widget in InformationPanelContent (smallest readable font).

BUG: 329186
BUG: 315061
FIXED-IN: 4.13
REVIEW: 115958
2014-02-24 14:17:03 +01:00
Andrea Iacovitti
5f881a5c18 Fix "appLanguage" keyword not being substituted for some useragent strings
because of missing X-KDE-UA-DYNAMIC-ENTRY=1 in desktop file.
2014-02-24 10:17:42 +01:00
l10n daemon script
4ceccfc06e SVN_SILENT made messages (.desktop file) 2014-02-23 07:29:55 +00:00
l10n daemon script
0abe0e4e8c SVN_SILENT made messages (.desktop file) 2014-02-23 04:46:47 +00:00
l10n daemon script
957d62a7e1 SVN_SILENT made messages (.desktop file) 2014-02-18 05:07:20 +00:00
Emmanuel Pescosta
0e045b72c2 Remove some unused functions.
void KFileItemModel::slotClear(const KUrl& url)

bool UpdateItemsThread::lockPlugin()    <- Done with QMutexLocker
void UpdateItemsThread::unlockPlugin()

REVIEW: 115627
2014-02-11 20:30:50 +01:00
Frank Reininghaus
cba1533b74 Ensure that KItemListViewLayouter always has a size hint resolver
KItemListViewLayouter uses a KItemListSizeHintResolver to find out how
much space the items will need in the view.

Before this commit, the size hint resolver object could be changed at
runtime, and it could also be null. However, we never made use of these
possibilities, so all the code that checks if m_sizeHintResolver is
null is actually not needed at all.
2014-02-11 18:28:32 +01:00
l10n daemon script
edca99745d SVN_SILENT made messages (.desktop file) 2014-02-10 04:12:59 +00:00
l10n daemon script
7ce2667cce SVN_SILENT made messages (.desktop file) 2014-02-09 08:14:48 +00:00
l10n daemon script
1b86b410e8 SVN_SILENT made messages (.desktop file) 2014-02-09 05:40:55 +00:00
Christophe Giboudeaux
f463efea90 Fix includes 2014-02-07 15:41:48 +01:00
Frank Reininghaus
4ba9b4c14d Merge remote-tracking branch 'origin/KDE/4.12' 2014-02-07 10:26:00 +01:00
Frank Reininghaus
e45fc620b4 Only initialize the hash m_items in KFileItemModel if it is needed
Moreover, clear the entire hash if items are added or removed.

This saves time and memory when loading a directory, and it fixes
problems that might occur if the model is in an inconsistent state, such
as crashes that can happen when we try to remove individual items from
m_items.

BUG: 329494
FIXED-IN: 4.13.0
REVIEW: 115432
2014-02-07 10:22:17 +01:00
Frank Reininghaus
d8fecb5318 Fix build if Baloo is not installed 2014-02-07 10:14:29 +01:00
Vishesh Handa
5707e1e92c Port Dolphin to Baloo
Nepomuk is being replaced with Baloo
2014-02-06 20:29:09 +01:00
Emmanuel Pescosta
15f409de33 Set the Details View colummns width to the preferred column width, by double-clicking the header grips.
BUG: 293315
FIXED-IN: 4.13
REVIEW: 115503
2014-02-06 13:00:28 +01:00
Frank Reininghaus
be29aed516 Restore the URLs of both views correctly when restoring a session
The problem was that we restored the URL of the right view while the
left one is still active. When we received the signal
urlChanged(KUrl& url) from the right URL navigator, we then set the URL
of the active (i.e., left) view to 'url', such that both views showed
the same URL.

BUG: 330047
FIXED-IN: 4.12.3
REVIEW: 115406
2014-02-02 10:19:57 +01:00
Emmanuel Pescosta
47c8eebe96 Don't store the index of the file item in the VersionControlObserver::ItemState, get the index of the file item on demand instead.
Fixes some "old"-index problems, esp. when you copy/move around files while the version control thread is still running.

FIXED-IN: 4.13
REVIEW: 115410
2014-01-31 20:56:57 +01:00
Frank Reininghaus
4865303004 Always enable the "Create New..." menu if the URL is writable
This commit works around the problem that KDirLister may not provide a
"rootItem" for some kioslaves by setting up a KFileItem with the view
URL and using this to find out if the URL is writable.

BUG: 330001
CCBUG: 330015
REVIEW: 115405
FIXED-IN: 4.12.2
2014-01-30 22:10:31 +01:00
Hrvoje Senjan
c802990494 [kde-baseapps]: Remove strigi check
Strigi is completely unused within kde-baseapps,
only KFileMetainfo & co is used withing folderview.

REVIEW: 115366
2014-01-28 23:43:22 +01:00
Maarten De Meyer
17d5d0c4ee Install all user agent desktop files.
REVIEW: 113607
2014-01-24 12:59:43 +01:00
l10n daemon script
c2253773b1 SVN_SILENT made messages (.desktop file) 2014-01-22 06:22:47 +00:00
l10n daemon script
5dcc26bbb8 SVN_SILENT made messages (.desktop file) 2014-01-22 03:54:49 +00:00
Frank Reininghaus
7d63247690 Merge remote-tracking branch 'origin/KDE/4.12' 2014-01-21 19:14:44 +01:00
Frank Reininghaus
29195b73e1 Use only one "directory contents counting" thread per process
The pointer to QThread object is stored in a global variable, and each
view increments/decrements a reference count when it starts/stops using
the thread. If this thread reaches zero, the thread is stopped.

Note that we cannot just use a smart pointer, like QSharedPointer, to
manage the thread, because we must make sure that the thread is not
running any more before the QThread is deleted.

REVIEW: 115064
2014-01-21 19:08:07 +01:00
Emmanuel Pescosta
8007143f34 Don't show tooltips while inline-renaming.
FIXED-IN: 4.12.2
REVIEW: 115146
BUG: 330126
2014-01-20 17:41:44 +01:00
Emmanuel Pescosta
986fde3f16 Remove the "retrieved items" code from UpdateItemStatesThread and VersionControlObserver.
Showing an error message, makes no sense in this case - the user can see it when all items are "unversioned".
The plugins still have the ability to show error/warning messages on real errors. (and only where it makes sense ;)

REVIEW: 114992
FIXED-IN: 4.13
2014-01-16 12:55:42 +01:00
Emmanuel Pescosta
3542e67c4e Use the QMap iterator instead of foreach(key, map.keys()) in UpdateItemStatesThread::run()
and in VersionControlObserver::slotThreadFinished().

So we get O(n) complexity instead of O(n*logn), and O(1) memory instead of O(n).
Thanks to Thiago Macieira for providing this information.

FIXED-IN: 4.13
REVIEW: 115018
2014-01-15 20:27:20 +01:00
Emmanuel Pescosta
75f0b9b2af Calculate all item size hints at once.
The speed up is really small, but theses changes are mostly straightforward and make the code a bit nicer - break
the KStandardItemListWidgetInformant::itemSizeHint beast into three smaller functions.

FIXED-IN: 4.13
REVIEW: 112979
2014-01-12 23:24:00 +01:00
Frank Reininghaus
288b4cde37 Update copyright year 2014-01-12 16:56:09 +01:00
Dawit Alemayehu
88155cddd4 Merge remote-tracking branch 'origin/KDE/4.12' 2014-01-09 08:29:36 -05:00
Dawit Alemayehu
af5a796edd Append "-viewmode" to object name of actions associated with services that provide multiple views.
BUG: 322686
FIXED-IN: 4.12.1
REVIEW: 114926
2014-01-09 08:28:46 -05:00