Commit graph

311 commits

Author SHA1 Message Date
Christophe Giboudeaux 37492b2275 KF5ify Dolphin. 2014-06-29 01:35:37 +02:00
Christophe Giboudeaux c8a2db7d4e Create KF5::Konq 2014-06-28 22:17:55 +02:00
Christophe Giboudeaux 3614b7fea7 Fix build. 2014-06-27 10:34:57 +02:00
Christophe Giboudeaux 4417875294 Rename the Baloo modules. 2014-06-27 10:08:24 +02:00
Scarlett Clark ea1e7822e5 Kde-baseapps frameworks - replace generic soversion.
Review:118851
2014-06-20 13:08:48 -07:00
Lukáš Tinkl 96f4646b66 i18n fixes 2014-06-20 21:12:34 +02:00
Scarlett Clark e41c969063 kde-baseapps frameworks dolphin with snapshot frameworks branch baloo/baloo-widgets path fixes. 2014-06-20 04:18:58 -07:00
Emmanuel Pescosta fa36c3fd1f Merge branch 'master' into frameworks
Conflicts:
	dolphin/src/statusbar/statusbarspaceinfo.cpp
2014-05-25 14:43:18 +02:00
Frank Reininghaus 4fe788f115 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
Alex Richardson 7e92abb4ea KF5::KDE4Support -> KF5::KDELibs4Support 2014-05-05 23:11:12 +02:00
Alex Richardson 497e2b2fef Allow compiling with the frameworks branches of Baloo 2014-05-05 23:05:34 +02:00
Alex Richardson 2f045c6010 Allow compiling Dolphin with KF5
This does not work properly yet, there are probably quite a few bad signal/
slot connections due to KUrl -> QUrl. However dolphin starts without
crashing.

Accessibility is not ported since that changed quite a lot from Qt4 -> Qt5
and I have no idea how it is supposed to be used.

This is the first commit for review 117395
2014-05-05 23:05:13 +02:00
Christophe Giboudeaux 709c336776 Fix includes 2014-02-07 15:41:48 +01:00
Vishesh Handa 64afe7b226 Port Dolphin to Baloo
Nepomuk is being replaced with Baloo
2014-02-06 20:29:09 +01:00
Patrick von Reth d7ed6c8805 dolphinnewfilemenu.cpp is part of dolphinprivate 2013-11-19 19:51:16 +01:00
Frank Reininghaus fc2ab47898 Store the selected items in a more efficient way
Since Dolphin 2.0, we have stored the selected items in a QSet<int>,
which is neither space-efficient nor particularly fast when inserting
many items which are in a consecutive range.

This commit replaces the QSet<int> by a new class "KItemSet", which
stores the items in a sorted list of ranges. For each range, we only
store the first index and the length of the range, so we need a lot
less memory for most common selection patterns, and we also save quite
a few CPU cycles in many situations, because adding an item to the
KItemSet will in many cases not need a memory allocation at all, and
it's particularly easy when inserting sorted items into the KItemSet in
a row.

KItemSet contains a minimal subset of QSet's API which makes it
suitable as a drop-in replacement for our needs. It also has iterators,
such that the items can be iterated through easily, also with foreach.
One advantage of KItemSet compared to QSet<int> is that the items are
always iterated through in ascending order.

REVIEW: 113488
2013-10-30 23:22:23 +01:00
Frank Reininghaus 4bfc28cb4b Count the items inside directories in another thread
This prevents that the GUI freezes if there are many files inside the
directory, or if the access to the directory is slow for some other
reason.

BUG: 318518
REVIEW: 111920
FIXED-IN: 4.12.0
2013-09-04 21:50:16 +02:00
Emmanuel Pescosta a4ef4bbfde Replaced all KNewFileMenu usages in DolphinPart by DolphinNewFileMenu.
Removed all signal-slot-connections related to DolphinNewFileMenu->errorMessage(QString)
in DolphinMainWindow and DolphinContextMenu and replaced it by a better solution.

Now we make use of the already existing DolphinNewFileMenuObserver singleton class to achieve a better
error handling, because every newly created DolphinContextMenu instance registers himself by DolphinNewFileMenuObserver
and we use this to connect the errorMessage(QString) signal of every DolphinContextMenu instance to the errorMessage(QString)
signal of the DolphinNewFileMenuObserver singleton class.

So we need only one connection from DolphinNewFileMenuObserver to DolphinMainWindow (or to DolphinPart) to
collect all error messages thrown by every DolphinNewFileMenu instance.

REVIEW: 112178
2013-08-28 18:46:45 +02:00
Dawit Alemayehu 01761798a9 - Factored out the Delete/Move To Trash action into own class.
- Updated both the Dolphin KPart and context menu to use the new
  DolphinRemoveAction class to manage "Delete/Move to Trash" actions.

See also https://git.reviewboard.kde.org/r/107509/.

REVIEW: 108802
2013-05-14 08:37:21 -04:00
Frank Reininghaus d9680ead80 Re-organise the sorting code
The KFileItemModel-specific parts are now separated from the generic
ones, like the parallel sorting implementation.

REVIEW: 108386
2013-01-15 18:50:37 +01:00
Christophe Giboudeaux feae9f9dfc Merge branch 'KDE/4.10'
Conflicts:
	dolphin/src/CMakeLists.txt
2013-01-07 18:22:28 +01:00
Christophe Giboudeaux 6b351820a3 Fix build if one of the missing Nepomuk dependencies is missing 2013-01-07 18:11:07 +01:00
Vishesh Handa 24c9bc6ce7 Dolphin: Make Nepomuk Support Optional
Use the KFileMetadataWidget if Nepomuk is not present.

REVIEW: 108236
2013-01-07 19:59:23 +05:30
Christophe Giboudeaux 56f1c0371c Merge branch 'KDE/4.10'
Conflicts:
	dolphin/src/CMakeLists.txt
2013-01-02 15:28:43 +01:00
Vishesh Handa bf202f3931 Dolphin Information Panel: Use Nepomuk2::FileMetadataWidget
Instead of the KFileMetadataWidget. The Nepomuk widget is just a copy of
the KFileMetadataWidget which utilizes Nepomuk2.
2013-01-02 16:35:37 +05:30
Christophe Giboudeaux c473003fca Port to feature_summary. 2012-12-30 11:59:35 +01:00
Pino Toscano e428f431bb look also for soprano 2012-10-16 10:14:56 +02:00
Emmanuel Pescosta a9b04801db Port Dolphin from Nepomuk to Nepomuk2 according to the Nepomuk2Port mini guide on techbase - http://techbase.kde.org/Projects/Nepomuk/Nepomuk2Port
REVIEW: 106825
2012-10-15 21:46:59 +02:00
Dawit Alemayehu b7a8327c30 Merge branch '4.9' 2012-09-27 17:48:56 -04:00
Frank Reininghaus 831251d0f3 Add a new config option for the icon size in the Places Panel
To change the icon size in the Places Panel to, e.g., 60 pixels, add
the following lines to $KDEHOME/share/config/dolphinrc :

[PlacesPanel]
IconSize=60

A value of -1 means that the standard "Small" size should be used
(which has been the default before this commit).

It is planned to add an "Icon Size" submenu to the context menu of the
Places Panel in KDE 4.10, but we cannot do this in the 4.9 branch
because of the string freeze.

FIXED-IN: 4.9.2
BUG: 301959
2012-09-27 08:12:02 +02:00
Amandeep Singh 1b5b731621 Merge branch for accessibility 2012-09-22 23:49:15 +05:30
Amandeep Singh 0ae031a4e6 Modify code according to dolphin policy 2012-09-22 23:47:17 +05:30
Dawit Alemayehu 399c4b22ea Corrected the compile fix commit, rev 965fc6b3.
(cherry picked from commit 1e45cb9019)
2012-09-15 14:41:06 -04:00
Dawit Alemayehu 0b918c3f82 Corrected the compile fix commit, rev 965fc6b3. 2012-09-15 13:44:54 -04:00
Christophe Giboudeaux 707dfbec0e Fix includes 2012-08-24 13:38:43 +02:00
Ivan Čukić 50eaec7a81 Merge branch 'ivan/dolphin-activities'
REVIEW:105973
2012-08-15 08:25:24 +02:00
Ivan Čukić 8268c0813a Dolphin reporting opened locations to activity manager 2012-08-15 08:22:30 +02:00
Amandeep Singh cd1d45c831 Adding the Accessibility classes 2012-08-14 20:27:55 +05:30
Emmanuel Pescosta ab61d9d3ba Fix wrong text color in places and in folders panel.
FIXED-IN: 4.9.1
REVIEW: 105832
BUG: 303133
2012-08-13 19:10:50 +02:00
Emmanuel Pescosta 220d0d522d Fix wrong text color in places and in folders panel.
FIXED-IN: 4.9.1
REVIEW: 105832
BUG: 303133
2012-08-13 18:40:43 +02:00
Peter Penz 203449110e Get rid of obsolete DolphinPlacesModel 2012-05-29 13:14:12 +02:00
Mark Gaiser a5c25d2de5 Make tooltip background blurred.
REVIEW: 105061
2012-05-26 18:05:25 +02:00
Peter Penz 2fd31c8a95 Update trash-icon dependent on whether the thrash is empty or not
The class PlacesItemStorageAccessListener has been renamed to
PlacesItemSignalHandler and represents a generic signal handler
for the PlacesItem.
2012-05-16 19:19:57 +02:00
Peter Penz 28daa45a44 Places Panel: Implement eject and teardown actions
Further fixes:
- Add/remove item when device has been added/removed
- Update emblem if the accessibility-state has been changed
2012-05-11 23:02:14 +02:00
Peter Penz 5cf40dba79 Remove kde-runtime dependency "nepomukdatamanagement"
Follow the suggestion from Vishesh Handa and copy the ResourceWatcher
code from kde-runtime instead of creating a dependency. This will of
course get removed again as soon as Nepomuk's resource watcher will
get a public API.
2012-05-06 21:52:33 +02:00
Peter Penz 23fff35aeb Places Panel: Provide access to devices 2012-05-05 21:38:37 +02:00
Peter Penz d76b113ad1 Places Panel: Allow hiding of items
Related changes:
- Animate changed items for the details-view in case it is not expandable
- Remove the hardcoded "isHidden"-code in KStandardItemListWidget and
  allow derived widgets to define themselves what means "hidden" within
  their context.

The current code needs a lot of bugfixing, but lets make this in smaller
steps during the next days...
2012-05-01 23:14:52 +02:00
Peter Penz d1c5dc52a3 Places Panel: Provide dialog for editing places 2012-04-26 23:41:01 +02:00
Peter Penz 640696db72 Places panel: Internal cleanup
Move the bookmark handling into a custom model, so that the
PlacesPanel only contains UI + controller code.
2012-04-25 23:02:40 +02:00
Peter Penz 67f58d5082 Fix search-UI issues in combination with the new places entries
The places-entries for searching revealed some serious issues in
combination with the search-panel. Move the filtering away from
QDockWidget and bring it back below the search-bar.
2012-04-25 02:20:25 +02:00