Commit graph

19127 commits

Author SHA1 Message Date
Emmanuel Pescosta 48ff4b4dd7 Add AppStream meta data file (imported from https://github.com/ximion/kde-appstream-metadata-templates/blob/master/apps/dolphin.appdata.xml)
Thanks to Matthias Klumpp for providing this file!

REVIEW: 118701
2014-06-25 14:31:15 +02:00
Emmanuel Pescosta 58ac6a460e Implemented DolphinRecentTabsMenu to encapsulate the recent
tabs menu related code from DolphinMainWindow in a new class.

The DolphinRecentTabsMenu remembers the tab configuration if a
tab has been closed.

REVIEW: 118805
2014-06-19 22:04:36 +02:00
Frank Reininghaus a8a81155cd Implement TODO concerning changed roles
When emitting the itemsChanged signal in KFileItemModel::setRoles,
use the changed roles in the argument of the signal.

A warning message which was related to this issue was removed in
7a83252e0d

REVIEW: 118815
2014-06-19 20:35:22 +02:00
Frank Reininghaus bd5c9fa88a Merge branch 'KDE/4.13' 2014-06-19 20:32:30 +02:00
Frank Reininghaus 7a83252e0d Remove confusing warning message
The message
"TODO: Emitting itemsChanged() with no information what has changed!"
is not helpful for the user.

The implementation of the TODO will be done in master, see
https://git.reviewboard.kde.org/r/118815/

CCBUG: 336174
2014-06-19 20:27:58 +02:00
Dawit Alemayehu 71d4434c34 Merge remote-tracking branch 'origin/KDE/4.13' 2014-06-15 23:52:05 -04:00
Dawit Alemayehu 1e171b4230 Prevent any invalid access of URL bar edit widget.
BUG: 320500
FIXED-IN: 4.13.3
REVIEW: 118749
2014-06-15 23:50:19 -04:00
Frank Reininghaus cde87d91c2 Do not crash if QApplication::clipboard()->mimeData() is a null pointer
This removes the remaining unchecked accesses to the clipboard mime
data after commit 7828b057da. According
to a bug report, it can be a null pointer on Wayland.

BUG: 335053
REVIEW: 118649
2014-06-12 08:37:11 +02:00
l10n daemon script 7394482206 SVN_SILENT made messages (.desktop file) 2014-06-09 04:33:35 +00:00
Dawit Alemayehu 6c8ed1d76c Merge remote-tracking branch 'origin/KDE/4.13' 2014-06-06 06:12:06 -04:00
Dawit Alemayehu 82768a686c Do not change the Konqueror settings on popup!
BUG: 335765
FIXED-IN: 4.13.3
2014-06-06 06:10:35 -04:00
Frank Reininghaus 0d3b780b7e Merge remote-tracking branch 'origin/KDE/4.13' 2014-06-05 08:54:06 +02:00
Frank Reininghaus d8c078eb63 Separate width and height info in the layouting code
By separating the width and height info, we can save some unnecessary
overhead in terms of memory and CPU cycles, and make the calculation of
the height of a row (or the width of a column in Compact View) a bit
simpler.

To achieve this, this patch extends the concept of "logical rows"
(which are actually columns in Compact View) to "logical width" and
"logical height" (which is the actual height and width, respectively, in
 Compact View). The distinction between rows/columns and "logical"
rows/columns may be a bit confusing, but the confusion is already in the
current code, and I hope that it will be mitigated a bit by prefixing
the corresponding variables with "logical".

REVIEW: 118454
2014-06-05 08:50:52 +02:00
Frank Reininghaus 4b4cbf5d9a Fix possible crash if a kioslave adds multiple items with the same URL
When opening the URL "man:", there are multiple items with the same
name (for example, _exit is shown twice here). When opening a new tab,
the kioslave reports some items as deleted (I have not quite understood
why). The problem is that it reports some of the duplicate items twice
in the list of deleted items. This confused KFileItemModel and
corrupted the internal data structures, and finally, caused a crash.

The fix is to remove all duplicates from
KItemRangeList::fromSortedContainer(const Container& container).

New unit tests included.

BUG: 335672
REVIEW: 118507
FIXED-IN: 4.13.2
2014-06-04 21:49:02 +02:00
Andrea Iacovitti d03751ba7a Merge branch 'KDE/4.13' 2014-06-02 20:39:05 +02:00
Michael Reeves 084aebd352 Fix invalid processor information in usergent string for Safari4+
REVIEW: 118407
2014-06-02 20:34:44 +02:00
Frank Reininghaus d43cb5baa6 Merge remote-tracking branch 'origin/KDE/4.13' 2014-06-01 14:48:30 +02:00
Frank Reininghaus 7828b057da Do not crash if QApplication::clipboard()->mimeData() is a null pointer
According to a recent bug report, this can happen on Wayland. The root
cause of the problem might be a problem in Qt's Wayland support itself,
but this patch at least prevents that Dolphin and other applications
which check the clipboard state to determine the text of the paste
action crash on startup.

BUG: 335053
REVIEW: 118450
2014-06-01 14:44:57 +02:00
Emmanuel Pescosta 098294f49e Fix Bug 334696 - File/directory icons/names move to the right when opening/refreshing contents of Dolphin
Take the scrollbar spacing into account.

BUG: 334696
REVIEW: 118319
FIXED-IN: 4.13.2
2014-05-29 15:33:03 +02:00
Emmanuel Pescosta 34a7860714 Use "selectionToggleRect().contains(pos)" instead
of "m_selectionToggle->contains(pos)" in
KItemListWidget::setHoverPosition(const QPointF& pos).

This wrong check was accidentally introduced by
commit 24326d4473

BUG: 299328
REVIEW: 118320
FIXED-IN: 4.13.2
2014-05-29 15:31:24 +02:00
Frank Reininghaus de197075a7 Keep the "free space" information updated in all visible views
The old code would watch the free space on a mount point, i.e.,
determine the free space again, in 10-second intervals, only until the
view became invisible once (even if it was invisible only for a very
short moment, i.e., while splitting the view).

This commit ensures that the mount point is watched again as soon as
the corresponding view becomes visible again.

Moreover, the object that watches the free space for a mount point is
shared among all views that show URLs that belong to this mount point.
To achieve this, there is a central cache which can be used to obtain
an existing MountPointObserver for a certain path. If necessary, a new
MountPointObserver is created and added to the cache.

The MountPointObserver is removed from the cache and destroyed only if
no views use it any more, and no new users appear until the next update
(which happens every 10 seconds). This prevents that the free space is
measured repeatedly when changing the current directory on the same
mount point.

Many thanks to Emmanuel Pescosta for the initial ideas to factor out
the "free space" code and to establish a central storage for the
"observer" objects, and for providing many good suggestions how to
improve the code!

BUG: 327708
REVIEW: 118208
FIXED-IN: 4.14.0
2014-05-22 18:42:17 +02:00
Frank Reininghaus 86c39b4487 Merge remote-tracking branch 'origin/KDE/4.13' 2014-05-21 22:44:48 +02:00
Frank Reininghaus e3433f659c Remove debug output
This debug output was pushed accidentally in commit
c52ba9446b
2014-05-20 08:39:56 +02:00
Frank Reininghaus 8f0202514b Do not lose translation of Places items if a Dolphin window is closed
If the "Places" are updated outside the current Dolphin process,
PlacesItemModel::updateBookmarks() is called, which invokes
PlacesItem::setBookmark(const KBookmark& bookmark) for each item. This
commit ensures that the correct translation is used for system
bookmarks like "Root", "Network", etc.

Without this patch, all Places entries in the remaining Dolphin windows
would switch to US English if one of multiple windows is closed.

See http://lists.kde.org/?t=139660468400004&r=1&w=2 for details.

BUG: 334999
REVIEW: 118207
FIXED-IN: 4.13.2
2014-05-20 08:31:31 +02:00
Eike Hein 3669972ac5 Merge branch 'KDE/4.13' 2014-05-19 16:17:40 +02:00
Eike Hein f2df2200dd Remove the 'show files related to activity' option.
The underlying infrastructure relies on Nepomuk, which isn't
around anymore, and is unmaintained.

In the absence of this option existing configs using it will
gracefully fall through to the custom location option with
the activity:/current/ URL.
2014-05-19 16:16:21 +02:00
Frank Reininghaus af1bcce052 Merge branch 'KDE/4.13' 2014-05-13 19:14:25 +02:00
Frank Reininghaus 4642301ea0 Stop listing children of collapsed folders
Before this patch, KDirLister would continue listing any children of
collapsed folders, even though the children themselves were removed
from the model. This could lead to new items being inserted as
top-level items at some later point, because no parent could be found
for them. This inconsistent model state could lead to a crash later on.

Many thanks to Martin Koller for helping to debug this problem!

BUG: 332102
REVIEW: 118055
FIXED-IN: 4.13.2
2014-05-13 19:06:42 +02:00
Frank Reininghaus e0aec6f923 Ensure that all children of a collapsed folder are removed
Before this patch, any (direct or indirect) children that might have
been in m_pendingItemsToInsert, i.e., that were not inserted into the
model yet because KDirLister had not finished listing the directory
yet, would be added to the model later without a proper parent. This
could cause a crash later on.

CCBUG: 332102
FIXED-IN: 4.13.2
2014-05-13 19:04:09 +02:00
Uzair Shamim f3f8450480 Allow the widget in the "Additional Information" dialog to resize
BUG: 334355
REVIEW: 118088
FIXED-IN: 4.13.2
2014-05-13 18:59:34 +02:00
Jonathan Riddell b92cf7688a undo change to wrong branch 2014-05-08 21:01:08 +01:00
Jonathan Riddell e90ec7ac27 use renamed binaries
kioclient5 and keditfiletype5
2014-05-08 17:16:40 +01:00
Frank Reininghaus 25e646e9b6 Update the "Paste" action only if it is necessary
Updating this action is only required if the clipboard contents change,
or if the "is writable" state of the current location changes. In all
other cases, an update of this action should be prevented because it
can be very expensive if many files are in the clipboard.

In particular, the update when the selection changes could make
changing the current item in the view very slow.

BUG: 333903
REVIEW: 117782
FIXED-IN: 4.13.1
2014-04-30 09:34:32 +02:00
Renato Atilio 03f7f20b9f Change the icon text for Previous and Next toolbar buttons
In addition to the current long text for previous and next toolbar
buttons ("Activate Previous/Next Tab"), this commit adds shorter icon
texts for them to be used only on the toolbar ("Previous/Next Tab").

BUG: 332629
REVIEW: 117794
FIXED-IN: 4.14.0
2014-04-29 21:54:33 +02:00
Frank Reininghaus 4d6b94da6c Merge branch 'KDE/4.13' 2014-04-29 21:44:46 +02:00
David Faure 0f149f4469 Port away from queryExit().
stayPreloaded() already checks whether this is the last window.
2014-04-26 15:30:16 +02:00
Emmanuel Pescosta 6a05757ba0 Merge branch 'KDE/4.13' of git://anongit.kde.org/kde-baseapps into KDE/4.13 2014-04-26 13:08:31 +02:00
Emmanuel Pescosta bd4bc61f79 Mount partitions when you open them in a new tab.
Instead of just emitting the slotItemMiddleClicked signal in
PlacesPanel::slotItemContextMenuRequested we now use triggerItem with
Qt::MiddleButton, which does set up the storage first and emit
the slotItemMiddleClicked signal afterwards.

BUG: 311226
FIXED-IN: 4.13.1
REVIEW: 117755
2014-04-26 13:07:04 +02:00
Frank Reininghaus a637e4979f Do not change the selection when re-sorting the view
If a range of items has been selected by Shift-clicking or by pressing
Shift+Arrow, then each of them is added individually to the selection
before the items are re-sorted.

Before this commit, the first and the last item in the range were
moved, and all items between them were selected, even though these were
not necessarily the items which had been selected before the
re-sorting.

BUG: 333457
REVIEW: 117603
FIXED-IN: 4.13.1
2014-04-26 12:37:39 +02:00
Renato Atilio 670737cbfd Enable the previous and next tab toolbar buttons
when multiple tabs are opened. Disable them again
when there is only one remaining tab.

Additionally set the default state to disabled.

BUG: 332628
FIXED-IN: 4.13.1
REVIEW: 117778
2014-04-26 12:28:42 +02:00
Emmanuel Pescosta c9dab5ba8a Fix memory leak with Dropbox version control plugin.
In the current version we only call endRetrieval when
beginRetrieval was successfully in UpdateItemStatesThread::run().
This causes some problems with version control plugins (like Dropbox plugin),
which have to do cleanups in endRetrieval.

Now we always call endRetrieval after beginRetrieval when updating the version states.

FIXED-IN: 4.13.1
REVIEW: 117753
2014-04-25 12:30:39 +02:00
Emmanuel Pescosta 4da1c81d63 Scroll to the right position when going back and show hidden files is enabled.
Instead of emitting the directoryLoadingCompleted signal (via slotCompleted) in
KFileItemModel::setShowHiddenFiles directly, we now call
dispatchPendingItemsToInsert instead.

@Frank: Thanks for your help!

FIXED-IN: 4.13.1
BUG: 332159
REVIEW: 117021
2014-04-24 20:16:30 +02:00
Frank Reininghaus 8b0df229b7 Merge branch 'KDE/4.12' into KDE/4.13 2014-04-14 23:11:00 +02:00
Frank Reininghaus 80833d2c0b Update the "is cut" state of items if necessary
The icons of items which are "cut" are shown faded in the view. The
"is cut" state of the widget representing an item is updated if the
clipboard contents change. Before this commit, if the sort order was
changed however, then each widget kept the "is cut" state of the item
which had been shown previously at its position.

The solution is to update the "is cut" state also if any of the
widget's data change.

BUG: 332792
REVIEW: 117451
FIXED-IN: 4.12.5
2014-04-14 22:55:58 +02:00
Marco Nelles d22f3b16ab Translate bookmark text on update. 2014-04-04 11:41:28 +02:00
Frank Reininghaus 80b7aada68 KDirectoryContentsCounter: do not delete currently active worker objects
Before this patch, the destructor of KDirectoryContentsCounter might
delete the worker object, which lives in another thread, while one of
its methods was still being executed. This could cause a crash. Only if
the destroyed KDirectoryContentsCounter was the last one, the worker
thread was stopped, and the destructor waited until all workers are
done.

BUG: 332767
FIXED-IN: 4.13.0
REVIEW: 117209
2014-04-03 09:03:47 +02:00
l10n daemon script 9e81972b0e SVN_SILENT made messages (.desktop file) 2014-03-31 07:28:16 +00:00
Albert Astals Cid f466195631 Merge remote-tracking branch 'origin/KDE/4.13' 2014-03-31 01:16:22 +02:00
Albert Astals Cid 0f92921ede Make this thing compile
CCMAIL: emmanuelpescosta099@gmail.com
2014-03-31 01:15:45 +02:00
Vishesh Handa 04766f367b Merge branch 'KDE/4.13' 2014-03-30 20:33:53 +02:00