147 Commits

Author SHA1 Message Date
gacarrillor
a00ce9e1cc Rename editCopy/editPaste to copySelectionToClipboard/pasteFromClipboard 2017-11-15 12:51:42 -05:00
gacarrillor
829915e3fc Make names from QgisApp and QgisInterface match 2017-11-15 09:26:47 -05:00
gacarrillor
9aa1f21668 Expose through iface methods to copy/paste features between given layers
That is, no need to load layers into the layer tree nor make them active.
2017-11-09 07:43:38 -05:00
Nyall Dawson
42676dc93c Move some getters which are incorrectly marked as slots,
remove some unnecessary 'const's from signals

Thanks to clazy const-signal-or-slot check
2017-10-09 11:53:06 +10:00
Nyall Dawson
49b426d951 Make doxygen_space script convert multiline //! comments
Because:
- the /** format is much more prevalent throughout QGIS
- sipify works correctly with /**
2017-10-06 07:55:52 +10:00
Alessandro Pasotti
a13aa96b6a Typo forwarder->forwarded 2017-09-15 08:18:43 +02:00
Alessandro Pasotti
c1f765aadb Add reloadConnections to the app and expose to iface 2017-09-15 08:09:23 +02:00
Alessandro Pasotti
91a98902a1 Adds connectionsChanged signal to iface
This is meant to be used by plugins (DBManager is the
first candidate) to notify the application that
the GUI elements that handle connections needs to
be updated (i.e. the data source manager dialog
and the browsers)
2017-09-14 14:08:59 +02:00
Juergen E. Fischer
03e0298f49 msvc warning fixes:
* use AUTORCC to avoid locked qrc_images.cpp during build of gui tests
* bump minimum version of cmake to 3.0.0 for AUTORCC
* suppress some warnings in sip bindings
* suppress unreachable warnings and some more
* split sip files in more parts to suppress warning BK4504
* also remove old WITH_INTERNAL_YAML from travis
2017-08-10 00:09:14 +02:00
Nyall Dawson
cad54f2cea Fix incorrect icon sizes in Python console
Console was not respecting application icon size setting
2017-08-07 05:24:12 +10:00
Nyall Dawson
7972092311 Update docs, sip 2017-07-03 14:21:40 +10:00
Nyall Dawson
4f21afac0f Shell layout designer dialog 2017-07-03 12:14:56 +10:00
Denis Rouzaud
30a7e44d57 [sip] handle Deprecated annotations
some additional fixes in headers too
2017-05-24 09:49:46 +02:00
Denis Rouzaud
694c8113e5 sipify gui part 1 2017-05-24 09:49:46 +02:00
Nyall Dawson
27077c875e Add a QgsStatusBar widget/interface for adding messages/widgets to
main window statusbar

QStatusBar gives almost no control over display and placement
of child widgets. It's not possible to subclass and reimplement
either, due to how QMainWindow works internally, and also due to
the special handling for the size grip and other platform specific
handling in QStatusBar.

Instead, we embed a single QgsStatusBar covering the whole real
status bar. All child widgets and temporary messages instead
are pushed to the QgsStatusBar instead - giving us as much control
as we desire over how these widgets are placed and their behavior.

As a result the locator widget has been moved to its logical placement
on the left of the status bar.

All plugins must ensure that they use the status bar interface
available via iface.statusBarIface() instead of directly interacting
with the status bar (e.g. iface.mainWindow().statusBar()...)
2017-05-18 10:35:33 +10:00
Nyall Dawson
71f7872251 [FEATURE] Implement a QtCreator style locator bar in the QGIS status bar
This adds a new "locator" bar to the QGIS status bar. If you're not
familiar with QtCreator's locator, it's a quick search bar
(activated by Ctrl+K) which displays matching search results
from any number of registered search filters.

Search filters are subclassed from QgsLocatorFilter, and
added to the app's locator via iface.registerLocatorFilter(...)

Searching is handled using threads, so that results always
become available as quickly as possible, regardless of whether
any slow search filters may be installed. They also appear
as soon as each result is encountered by each filter, which means
that e.g. a file search filter will show results one by one
as the file tree is scanned. This ensures that the UI is always
responsive even if a very slow search filter is present (e.g.
one which uses an online service).

This framework is designed to be extended by plugins, such as
OSM nominatim searches, direct database searching (i.e. Discovery
plugin), layer catalog searches, etc...
2017-05-17 21:33:47 +10:00
Denis Rouzaud
85f3b81b55 remove double spaces in sip files
fix indentation
2017-05-03 08:02:14 +02:00
Denis Rouzaud
93971d5ed3 [sip] align pointer and reference in blacklisted files
this will facilitate sip diff checking
2017-05-01 17:49:43 +02:00
Nyall Dawson
b0c88f1b80 Add missing currentThemeChanged signal to interface 2017-04-10 09:19:42 +10:00
Nyall Dawson
2354696f26 Fix error when enabling additional providers in processing
Add an interface method to show the options dialog at a specific
page. This is required since plugins can now embed their options
in the main options dialog, so they may also need a way to
force this dialog to open.

Implement this in processing so that enabling additional providers
works again.
2017-03-24 11:16:49 +10:00
Nyall Dawson
3aef32a191 [composer] Rework interface composer methods
Since composer windows are now only created on demand, and
destroyed when the window is closed, the old interface methods
no longer apply. The new interface methods openComposers(),
openComposer(), closeComposer(), composerOpened(),
composerWillBeClosed() and composerClosed() are similar, but
only apply to composer windows when they are exist (i.e.
are currently open).

To access all compositions from a project, the project's
layoutManager() should be used instead.

Additionally, the new interface methods work with
QgsComposerInterface objects instead of QgsComposerView
objects. This should allow future hooks for plugins to interact
with open composer windows in a more useful way.
2017-03-21 10:32:53 +10:00
Nyall Dawson
2d37ca9bd9 Add method to interface to close map canvases 2017-03-14 12:20:58 +10:00
Nyall Dawson
29d77b0ce1 [FEATURE] Shell functionality for creating new canvases
Allows new "map views" to be created in the main QGIS interface.
These are map canvases, but with limited functionality (ie
no use of map tools beyond pan tool).
2017-03-14 09:28:33 +10:00
Nyall Dawson
2d807f5405 [FEATURE] Interface for plugins to embed pages in the options dialog
Allows plugins to embed their options into the standard options
dialog, instead of implementing their own config dialog and having
to have extra menu items just for those...
2017-03-07 18:12:44 +10:00
Denis Rouzaud
7812d4fb17 remove the-prefix from source code
this might result in variables having the same name as some methods
2017-02-21 18:14:58 +01:00
Nyall Dawson
c26ed69c6b Rework map touch tool
Qt5 allows runtime detection of touch devices. This commit reworks
the current touch map tool by pulling its behavior into the normal
pan tool when a touch device is detected.

It avoids the need for a seperate map tool for touch interaction,
and also avoids having this tool always appear on the Windows
builds (regardless of the presence of a touch device)
2017-02-12 15:06:24 +10:00
Denis Rouzaud
0a63d1f2c2 [spellcheck] properly look into various cases and add more fixes" 2017-01-16 16:39:20 +01:00
Denis Rouzaud
6c74e4ea5d spelling fixes 2017-01-12 22:01:50 +01:00
Nyall Dawson
4f73c28c5f [FEATURE] Hide Deselected Layers action
Allows you to quickly hide all deselected layers. This is very handy
when you have a large project and want to quickly hide all except
for a couple of layers
2016-12-28 10:50:05 +10:00
Martin Dobias
e5f62e49ce Remove legacy QgsLegendInterface, move still valid methods to QgisInterface 2016-11-22 08:25:01 +08:00
Hugo Mercier
67c05b51c2 Fix some /Transfer/ annotations 2016-09-23 15:35:37 +02:00
Nyall Dawson
fe65063c2b Remove many deprecated methods 2016-09-15 18:34:15 +10:00
Martin Dobias
b4fe9002d8 [FEATURE] API to allow drag'n'drop of custom browser items
QgsDataItem implementations may provide hasDragEnabled(), mimeUri()
and QgsCustomDropHandler implementation to deal with drop of custom items.
2016-08-09 08:49:42 +02:00
Denis Rouzaud
6f51a13cd6 remove QgisInterface::actionLayerSelectionSaveAs
this has been deprecated since 2.4 and returns null pointer since then.
did not write this in api_break to not overload the document
2016-08-08 09:10:57 +02:00
Denis Rouzaud
aa82141df7 remove deprecated QgisInterface::fileMenu 2016-08-08 08:34:53 +02:00
Nathan
fdf16e3c92 Rename QgsLayerStylingPanelFactory to QgsMapLayerConfigWidgetFactory
- Move QgsMapLayerPropertiesFactory into single factory object for
  dock and properties
2016-07-06 23:03:43 +10:00
Nathan Woodrow
0914b7440f Rename Map Styling Dock to Layer Styling Dock 2016-06-20 20:56:34 +10:00
Nathan Woodrow
e926e2d0aa [style dock] Add better API for panels 2016-06-13 18:07:39 +10:00
Sandro Mani
45c0ef02bc Merge pull request #3122 from manisandro/arcgis_rest
Add provider for ArcGIS Map and Feature REST services
2016-06-02 14:38:44 +02:00
Sandro Mani
0ac8ce1497 Docstring updates 2016-06-02 13:36:08 +02:00
Sandro Mani
2738c5097e Add provider for ArcGIS Map and Feature REST services 2016-06-02 13:36:08 +02:00
Nathan Woodrow
7433d32e87 [Style Dock] Add interface for plugins to add panels to dock 2016-06-02 20:51:38 +10:00
Sandro Mani
3bdbf79b4d Clarify in the registerMapLayerPropertiesFactory docstring that the ownership of the factory is not transferred 2016-05-30 12:10:26 +02:00
Nyall Dawson
71f8e3e4bb [FEATURE] Plugins can add pages to vector layer properties*
* This is actually a followup to 87121d, which fixes leaks
& clarifies some docs. But I figured the ability to add
custom pages to the properties is worth highlighting as a
feature on it's own, or it may go unnoticed in the other
globe related changes!
2016-05-30 19:39:32 +10:00
Sandro Mani
90887f460f Revived globe, compatible with OsgEarth 2.7 2016-05-28 10:09:34 +02:00
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +01:00
Nyall Dawson
f1633a1796 Change all signals to use const refs for non trivial objects 2015-10-26 22:46:25 +11:00
Nyall Dawson
70bff3f6aa Finish flipping a lot of methods to take const references for
non-trivial types
2015-10-26 22:46:14 +11:00
Matthias Kuhn
1132867622 Make cadDockWidget available in python
Followup efcbbfd
2015-10-19 17:47:54 +02:00
Nathan Woodrow
6cf2dd0a4c Fix annoying blocking Python error dialog 2015-09-28 17:14:06 +10:00