2357 Commits

Author SHA1 Message Date
Peter Petrik
50422a1165 [FEATURE] QgsMeshLayer part 1: Reading raw mesh
Introducting MDAL, QgsMeshLayer, mesh data providers (mesh_memory, mdal)
to read and visualize raw meshes: vertices and faces. Support dragging
2dm files from browser on canvas to visualize 2dm meshes.
Support for QgsMeshLayer in Python API.
2018-04-19 10:50:33 +02:00
Martin Dobias
7e022f005d Disable remove action instead of message box + unit test 2018-04-12 10:44:36 +02:00
Martin Dobias
42517f8b58 [FEATURE] Mark layers as required in the project
Required layers are not allowed to be removed from the project.
This adds extra safety to protect project users from removing layers
they may think are not needed (e.g. used in joins, relations, expressions).

Users can set/unset layers that are required in project properties dialog.
2018-04-11 15:48:49 +02:00
Martin Dobias
42969a4794 Add project_basename to project expr context, project_path for custom impls 2018-04-07 16:56:03 +02:00
Martin Dobias
2aabad96e7 Fixes after Nyall's review + doxygen fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
4281140c8e Handle the situation that the project was changed in meanwhile
Was working for files, now working for projects in postgres as well
2018-04-07 12:58:02 +02:00
Martin Dobias
2bbdc34334 Deprecate QgsProject::fileInfo() 2018-04-07 12:58:02 +02:00
Martin Dobias
3c3de3f7d8 Recent projects work now for postgres projects 2018-04-07 12:58:02 +02:00
Martin Dobias
15f7ec7854 Add abstraction of project's absolute file path, base name, last modified 2018-04-07 12:58:02 +02:00
Martin Dobias
2e847e2e96 Support for project items in browser for PostgreSQL
Switched from using URLs in mime data to URI list for drag-n-drop of projects
so that they are handled in the same way as the other browser items.
2018-04-07 12:58:02 +02:00
Martin Dobias
0c701fb147 GUI implementation to load/save projects in PostgreSQL 2018-04-07 12:58:02 +02:00
Martin Dobias
ce72536bcc Fix a crash in the puzzle when not properly initialized 2018-04-06 19:06:35 +02:00
Martin Dobias
63130d410d Another piece of random useless code in QGIS. Happy April 1st!
Type "bored" into the coordinates box (best results with a map loaded in canvas)

Click on tiles to move them to the empty space.
Click on the empty tile to toggle tile numbers.
2018-04-05 10:13:58 +02:00
nirvn
74adc04e6e Clear hidden toolbars/panels setting when restoring view 2018-04-04 16:44:22 +07:00
nirvn
1b9f41d03d Insure canvas rendering jobs are cancelled when exiting QGIS 2018-04-04 16:23:41 +07:00
Richard Duivenvoorde
282a999ba8 [FEATURE] Ctrl-shift-tab to toggle full map view (#6580) 2018-04-04 16:22:34 +07:00
Nyall Dawson
eb39579837 Fix some Coverity use-after-free warnings 2018-04-03 16:35:32 +10:00
Nyall Dawson
1bf1058210 Followup fcacb0d, fix doxygen tests
Also:
- move doxygen comments to header files so that they get included
in Python docstrings
- remove duplicate doxygen implemented in both header and footer
- remove some redundant doxygen for overridden methods
- add some missing docs
2018-04-03 09:49:00 +10:00
Juergen E. Fischer
fcacb0db7c doxygen fixes 2018-04-02 22:48:40 +02:00
Juergen E. Fischer
7d48179223 [FEATURE] add zoom to related feature in forms 2018-04-02 17:07:39 +02:00
nirvn
d98af7a1e3 Mark project as dirty when changing CRS of layers 2018-04-02 10:20:49 +07:00
Mathieu Pellerin
716ba9befe
[needs-docs] Add a "save selected features as" layer item shortcut 2018-03-29 10:34:49 +07:00
Alessandro Pasotti
9ec2d1f99b Make first layer selected on project load
just spare a click
2018-03-28 08:46:53 +02:00
Salvatore Larosa
5d34584b01 Revert "[TEMPORARY]"
This should not have happened :-(

This reverts commit bc45258b510b8e17d9a2006f4906a255559a9297.
2018-03-23 22:43:41 +01:00
Salvatore Larosa
bc45258b51 [TEMPORARY] 2018-03-22 12:20:52 +01:00
Salvatore Larosa
330c2f70ce
Merge pull request #6627 from slarosa/cp_layer1
[FEATURE][needs-docs] Copy&Paste Group/Layers from a QGIS project to another
2018-03-20 16:06:21 +01:00
Salvatore Larosa
94e3d1c282
Merge pull request #6629 from slarosa/reorganize_cm
[needs-docs] Reorganize save action for map layer
2018-03-20 12:28:32 +01:00
Salvatore Larosa
53244d17b4 use new signal/slot connetion and minor fixes: followup 3d7a460660bd5af7b3651c5fa16d1f24bbb4afd9 2018-03-19 14:51:15 +01:00
Salvatore Larosa
ee5dc8da21 fix string and fix connection signal/slot: followup 11531c6 2018-03-19 11:53:06 +01:00
Nyall Dawson
11fc287b48 Auto-select newly duplicated layers in layer tree 2018-03-19 12:41:08 +11:00
Nyall Dawson
20d9427c26 Fix missing '(copy)' suffix on names of newly duplicated layers 2018-03-19 12:41:08 +11:00
Salvatore Larosa
11531c6fd7 [needs-docs] Reorganize save action for map layer 2018-03-18 23:54:22 +01:00
Salvatore Larosa
3d7a460660 [FEATURE][needs-docs] Copy&Paste Group/Layers 2018-03-18 20:39:01 +01:00
Nyall Dawson
dc0da6f349 Fix some inconsistent capitalization 2018-03-16 15:04:25 +10:00
Nyall Dawson
40ceb7bdce Don't mark project dirty when legend nodes are expanded/collapsed 2018-03-13 10:10:23 +11:00
Nyall Dawson
773ec220ba [needs-docs] Don't mark a project as dirty when only the canvas extent
changes

Since this is a view operation, not an edit operation, we don't
mark it as changing the project state. (Much like how loading a
doc in a word processor and scrolling to the last page isn't
changing the document state).
2018-03-13 10:10:23 +11:00
Nyall Dawson
764e812765 [FEATURE] Add a "Revert Project" option to Project menu
Discards all unsaved changes to a project and reverts to the last
saved version of the project
2018-03-12 16:26:45 +11:00
Denis Rouzaud
010a99d112
fix build without python (#6577)
and do not delete object with incomplete type
better fix for warning adressed in PR #6491
2018-03-11 07:39:34 -08:00
Nyall Dawson
709702d568 Don't show profile name in title bar for default profile 2018-03-11 08:44:51 +11:00
Nyall Dawson
60afeadf44 Add QgsProjectDirtyBlocker and QgsProject.blockDirtying to prevent
project dirtying for the lifetime of an object

Python code can then call:

    project = QgsProject.instance()
    with QgsProject.blockDirtying(project):
      # do something

Use QgsProjectDirtyBlocker to prevent projects being marked as
dirty while creating a new project or while loading an existing
project -- avoids the titlebar temporarily showing the project
state as unsaved while it is being loaded.
2018-03-11 08:44:51 +11:00
Nyall Dawson
354a261e59 [needs-docs] Show "Untitled Project" in title bar for new unsaved
projects

Also show current profile name, if multiple profiles exist

(Maybe doesn't needs-docs)
2018-03-11 08:44:51 +11:00
Nyall Dawson
a30403dcbe Rename QgsProject::projectDirty to isDirtyChanged
Also show unsaved status in title bar even when project has
not been first saved
2018-03-06 11:57:51 +10:00
Nyall Dawson
d4a3520bc9 [hig] Show standard '*' prefix in application title bar when project
has unsaved changes

E.g.

'*my project - QGIS'
2018-03-06 12:06:27 +11:00
Nathan Woodrow
993b9fd4ab Rename Welcome Page action to Close Project 2018-03-05 15:44:41 +10:00
Nyall Dawson
d7aec7cc5f
Merge pull request #6418 from klavspc/bookmarklocator
[FEATURE][locator] Add bookmark search to locator bar
2018-03-05 12:09:28 +11:00
Nathan Woodrow
0e80b72d0c [needs-docs] Add welcome screen action to project menu 2018-03-05 10:41:35 +10:00
Nathan Woodrow
ce3efdff35 Fix dock shortcuts to use Ctrl and not Alt 2018-03-05 09:28:10 +10:00
Klavs Pihlkjær
1f7875ec3d [FEATURE][locator] Add bookmark search to locator bar
Allows search for spatial bookmarks. Double clicking a search result will zoom to the bookmark.
Short video: https://www.youtube.com/watch?v=ymW4TU8QWy4

The new filter presents itself with a prefix of "b" and with tr( "Spatial bookmarks" ) as displayname.

A bookmark locator filter is added to the built in locator filters (class QgsBookmarkLocatorFilter is added to qgsinbuiltlocatorfilters.cpp). The wiring between the the new filter and QgsBookmarks has been implemented in
* QgisApp::getBookmarkIndexMap() (For reading bookmarks), and
* QgisApp::zoomToBookmarkIndex(const QModelIndex &index) (For navigating to a bookmark)

QgsBookmarks has been slightly refactored
2018-03-04 14:24:22 +01:00
Denis Rouzaud
020f0eb455
fix warning deleting pointer to incomplete type 'QgsPythonUtils' (#6491)
warning: deleting pointer to incomplete type 'QgsPythonUtils' may cause undefined behavior
2018-02-28 10:41:53 -09:00
Denis Rouzaud
95ab3d05e0 doxymentation and better wording 2018-02-28 13:43:10 -04:00