1968 Commits

Author SHA1 Message Date
Nyall Dawson
eecfe50dc5 [FEATURE] Show Project Colors in color bound data defined buttons
This adds a new "Project Colors" section in data defined buttons
which are linked to a color value. The color menu contains all
colors defined as part of the current project's Project Color
Scheme (which is defined through project properties).

When a project color is selected from the button, the property
becomes linked to that color. It will automatically follow any
future changes to the color when made through project properties.

This allows users to define common colors for a project once,
and then "bind" symbol, label, layout, etc colors to these
preset colors. The link is live, so you change it once, and
the change is reflected EVERYWHERE. Sure beats updating a color
100 times when it's use has been scattered throughout a project's
symbols, labels, etc...

(Basically, this is just adding a shortcut to setting a data
defined expression "project_color(...)" for the property. The
project_color function has been around a LOOONG time, but it's
only really been usable by power users before this change)
2019-01-11 22:34:34 +10:00
Nyall Dawson
79d01a9b94 Move QgsColorButton::createMenuIcon to public API, make static 2019-01-11 22:34:34 +10:00
Nyall Dawson
ddd522b432 Rework validity check API to allow future background threaded use 2019-01-03 04:53:07 +10:00
Nyall Dawson
7ccaa3df32 [FEATURE][API] Add flexible framework for custom "validity checks"
Adds a new interface QgsAbstractValidityCheck which defines
a single "check" which can be performed on a given QgsValidityCheckContext.
A new application-wide QgsValidityCheckRegistry registers
and manages instances of all known checks, and allows running
of all registered checks of a specific type at once.

Initially the framework is focused toward print layout validity
checks, but the interface has been designed to be generic enough
to allow alternative types of validity checks (e.g. project save
validity checks, processing model validity checks, etc.).

The API is designed to be used both by internal validity checks
and also to be extended by custom, organisation-specific
validity checks. E.g., for print layout validity checks we could have:
2019-01-03 04:53:07 +10:00
Nyall Dawson
2ec051374f Add custom QStyle override to allow more flexibility with theming
Allows us to apply custom style overrides. Initially, this just
improves the appearance of disabled icons on dark themes.

The default Qt style method of displaying disabled icons only
works well on light backgrounds, on dark backgrounds it makes the
icons stand out due to the extreme contrast between the background
and the lightened icons.

Replace with a custom approach which desaturates icons and reduces
their opacity. This arguably also improves their appearance on
light themes too (I think so).
2018-12-30 05:22:44 +10:00
Denis Rouzaud
166e952c33 run sipify 2018-12-19 08:04:27 -04:00
Denis Rouzaud
edfb7e1465 run sipify 2018-12-18 17:17:25 -04:00
Nyall Dawson
cdd23e663e [needs-docs][layouts] Move pushbutton actions for map items up to
a toolbar in the map item properties panel

This moves the
- refresh preview
- set to map canvas extent
- view extent in map canvas

buttons from being oversized push buttons within the item properties
panel up to a new toolbar at the top of this panel. Apart from looking
better, it means these important actions are always visible regardless
of the scroll position of the item properties panel itself.
Additionally, it makes it possible to add MORE actions here without
overloading the UI (e.g. "set canvas extent to item extent")

TODO: better icons
2018-12-18 10:31:24 +10:00
Nyall Dawson
f3b72608a1 Add message bar to QgsSymbolWidgetContext 2018-12-06 14:31:49 +10:00
Nyall Dawson
9d28a9699c Add a new widget QgsImageSourceLineEdit, based on QgsSvgSourceLineEdit
Allows images to be set to base64 embedded images, remote urls, etc
when used alongside QgsImageCache
2018-12-06 09:22:50 +10:00
nirvn
c6425338ee [FEATURE] Raster image marker 2018-12-05 15:44:44 +07:00
Nyall Dawson
6fff62e668 Fix confusing override of accept method for non-dialog acceptance 2018-11-23 20:32:16 +11:00
Nyall Dawson
47bf1f49d8 Fix ownership of algorithm instance used by processing dialog 2018-11-23 20:32:16 +11:00
Nyall Dawson
4d97d20635 Fix incorrect ownership of processing algorithm dialog 2018-11-23 20:32:16 +11:00
Nyall Dawson
17ced9186a Tweak behavior of new shapefile/gpkg browser actions 2018-11-13 07:14:19 +10:00
Denis Rouzaud
30cf2d37bc
Merge pull request #8404 from 3nids/locator_core
Move parts of QgsLocatorFilter to core
2018-11-09 12:18:27 +00:00
Alessandro Pasotti
02ecb56d95 QgsDataSourceSelectDialog: filter, refresh and scroll to last selected item
plus:
- expand children of last selected item
- save/restore status
2018-11-07 11:08:49 +01:00
Denis Rouzaud
20d8db9e28 Revert "create a core interface for QgsMapCanvas"
This reverts commit 79c5b35a3925336e01e9ac1a6a75fd32eb3b8cdd.
2018-11-06 10:09:12 -04:00
Denis Rouzaud
078b445057 move part of the logic of QgsLocatorWidget to core 2018-11-06 10:08:33 -04:00
Denis Rouzaud
79c5b35a39 create a core interface for QgsMapCanvas 2018-11-06 10:06:22 -04:00
Alessandro Pasotti
c8b26771cf
Merge pull request #8359 from elpaso/handle-bad-layers2
[needs-docs][feature] Deferred handling of bad layers
2018-11-06 08:43:18 +01:00
Alessandro Pasotti
64bd7a7ced Added ~QgsDataSourceSelectDialog destructor 2018-11-05 10:45:40 +01:00
Nyall Dawson
bc8574ce5c Small cleanups for QgsDataSourceSelectDialog 2018-11-05 10:27:02 +01:00
Alessandro Pasotti
8493636f18 Data source select dialog now accepts a model 2018-11-05 10:26:39 +01:00
Alessandro Pasotti
ceb33f0156
Merge pull request #8407 from elpaso/bugfix-20338-qgsfeatureselectiondlg-sizing
Make sure QgsFeatureSelectionDlg does not outgrow the window
2018-11-05 09:55:33 +01:00
Nyall Dawson
bac5fbbe0d Small cleanups for QgsDataSourceSelectDialog 2018-11-05 16:51:31 +10:00
Nyall Dawson
8c5f79575a Fix dox 2018-11-04 21:07:27 +10:00
Nyall Dawson
a890622996 Remove executeExport* methods from QgsWindowManagerInterface
No longer required, and of limited value anyway
2018-11-04 21:07:27 +10:00
Nyall Dawson
fa3a08e397 Add method to handle browser item double clicks to QgsDataItemGuiProvider
And move handling of layer/project file double clicks in browser dock
from gui->app
2018-11-04 21:07:27 +10:00
Nyall Dawson
40443ebb3b [FEATURE][browser] Add "New" menu to context menu on directories
With option to create a new geopackage or shapefile in the
clicked directory
2018-11-04 21:07:27 +10:00
Nyall Dawson
10d7f6e54c Spelling 2018-11-04 21:07:27 +10:00
Nyall Dawson
c085d0edd5 Move favorites action handling from gui to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
48e7e204c0 Move some browser directory action handling from core/gui to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
310d4f94fa Link the application browser dock to the application message bar 2018-11-04 21:07:27 +10:00
Nyall Dawson
153f1b1138 Also pass complete list of all selected items to createContextMenu,
so that actions can operate on ALL selected items

E.g. delete multiple layers from a geopackage at once
2018-11-04 21:07:27 +10:00
Nyall Dawson
c98d13d2f4 Add method to populate browser context menu to QgsDataItemGuiProvider 2018-11-04 21:07:27 +10:00
Nyall Dawson
6ec7f02e83 Add a QgsDataItemGuiProvider interface and registry for providers
These providers will be used to control how the browser data items
behave within GUI, and to allow separation of GUI related
properties of browser items from the core code.

A new registry QgsDataItemGuiProviderRegistry has been created
(modeled off QgsDataItemProviderRegistry), with an application
wide instance available from QgsGui::instance()->dataItemGuiProviderRegistry()
2018-11-04 21:07:27 +10:00
Alessandro Pasotti
c962573c82 Make sure QgsFeatureSelectionDlg does not outgrow the window
Fixes #20338 - Can not scroll through attribute list in dialog window when linking existing child features
2018-11-03 15:27:38 +01:00
Alessandro Pasotti
eca00ba3c9
Merge pull request #8396 from elpaso/datasource-select-dialog
QgsDataSourceSelectDialog: a simple browser-based reusable data sourc…
2018-11-02 08:47:33 +01:00
Alessandro Pasotti
105455ca2c Layout fixes 2018-11-01 17:29:51 +01:00
Alessandro Pasotti
083208c1eb QgsDataSourceSelectDialog: a simple browser-based reusable data source select dialog 2018-11-01 12:02:38 +01:00
Nyall Dawson
850eae1606 [browser] Avoid expanding/collapsing nodes if the double click
was specifically handled by an item itself
2018-11-01 20:41:08 +10:00
Nyall Dawson
187f74148c [FEATURE] Show QGIS style xml libraries in browser and support
drag and drop of style .xml files to main QGIS window

Double clicking the databases or dragging them to QGIS
triggers the import from style dialog with the corresponding
input file already selected
2018-11-01 15:57:31 +10:00
Matthias Kuhn
8fc43780dc
Merge pull request #8114 from signedav/bugfix_not_deleting_relation
More intuitive relation reference widget text filter
2018-10-29 09:52:41 +01:00
Nyall Dawson
7ac521529b [FEATURE] Add "export to file" options for raster and vector layers
within the browser panel

Allows direct export of these files (e.g. to a different format,
crs, etc) without having to actually load them into a project
first.
2018-10-27 05:07:15 +10:00
Denis Rouzaud
4ba77f83a6 fix typo 2018-10-26 08:12:57 -04:00
Denis Rouzaud
9e6d165861 doxymentation 2018-10-26 08:11:17 -04:00
lbartoletti
f002a9c43d fix snapping indicator when advance digitizing tools is enabled 2018-10-26 08:11:17 -04:00
Nyall Dawson
bbdbfa17a9 [layouts] Final fixes for data defined widgets showing outdated
data defined definitions when clicking between layout items
of the same type

Fixes #18694
2018-10-26 16:58:08 +10:00
Matthias Kuhn
694424000c
Merge pull request #8338 from 3nids/fix20201
use Exclude field by default for relation search widget wrapper
2018-10-26 08:24:48 +02:00