125 Commits

Author SHA1 Message Date
Nyall Dawson
6d8ba6e2cf Support saving/loading cloud storage connections from XML 2024-07-10 04:07:12 +10:00
Nyall Dawson
995d0e6c49 Standardise naming 2024-07-10 04:07:12 +10:00
Alexander Bruy
f0db0f247b address review 2024-07-04 07:30:51 +10:00
Alexander Bruy
d5605a3321 update QGIS version in the doxygen comments 2024-07-04 07:30:51 +10:00
Alexander Bruy
709253a27a integrate favorite log into toolbox model and view 2024-07-04 07:30:51 +10:00
Alexander Bruy
5566473a1d add log for tracking Processing favorite algorithms 2024-07-04 07:30:51 +10:00
Nyall Dawson
87d9a3e7b2 Don't go to massive negative numbers when incrementing a NULL spin box
When a spin box is showing a NULL value, we DON'T do the default step
behavior, as that would add one step to the NULL value, which is usually
a very large negative value... so the user will get a very large negative number!

Instead, treat the initial value as 0 instead, and then perform the step.
2024-06-29 06:15:01 +10:00
Nyall Dawson
b0929e4ced Also permit drag and drop onto multi layer line edit
We supported drag and drop onto the full expanded panel, now
also support dropping onto the summary line edit widget too
2024-06-27 17:05:59 +10:00
Mathieu Pellerin
2fb1de2ce1
Merge pull request #57584 from nirvn/cad_construction_guides
[advanced digitizing] Implement visual construction guides
2024-06-25 15:35:01 +07:00
Nyall Dawson
d4f9914288 Create QgsGdalCredentialOptionsWidget
A resuable widget for configuration GDAL credential options
for vsi file systems
2024-06-25 06:07:58 +10:00
Nyall Dawson
8dcb158394 Move "share on gist" logic to QgsCodeEditorWidget
Allows this functionality to be used by other code editors, not
just console script editor
2024-06-24 18:40:00 +10:00
Nyall Dawson
21935668ba Move logic for connection item deletion to new class
Adds a new "QgsDataItemGuiProviderUtils" class, with a generic
function for handling deletion of browser connection items.

Replace all the duplicate connection deletion logic from the
different browser connection providers with calls to the
generic function.

In addition to removing a lot of duplicate code, the new
generic function correctly handles deletion of multiple
selected connections (previously, only the first connection
would actually be removed).

Fixes #26276
2024-06-19 16:59:00 +10:00
Nyall Dawson
9946a1d739 Move console script editor external file watching logic to QgsCodeEditorWidget
Ensures a consistent behavior between console script editor and
eg processing script editor
2024-06-18 05:23:57 +10:00
Nyall Dawson
d345c68c5a Move responsibility for loading scripts to QgsCodeEditorWidget 2024-06-18 05:23:57 +10:00
Nyall Dawson
0931624dea Add (non-exposed) setting for the external Python editor
This isn't exposed in the GUI, but allows users to
set a specific editor command to use when opening
Python files in the external editor.

Use the token <file> to insert the filename, <line>
to insert line number, and <col> to insert the column number.

Eg:

  QgsSettings().setValue(
    'gui/code-editor/python/external-editor',
    'kate -l <line> -c <col> "<file>"')
2024-06-15 09:01:33 +10:00
Nyall Dawson
6a018f65f5 Move responsibility for opening files in external editor to QgsCodeEditorWidget
This allows the editor to be opened in a proper detached process,
avoiding the editor being closed when QGIS is exited.

Move to a blocklist for terminal text editors instead of the fragile
polling approach (which eg doesn't work if the editor is set to
pycharm)
2024-06-07 20:46:45 +10:00
Nyall Dawson
e42dc886aa Move file path handling for console editor to QgsCodeEditorWidget 2024-06-07 20:46:45 +10:00
Nyall Dawson
a845d4956c Fix add feature dialog does not restore position when shown modally
The logic to restore the position was incorrectly placed in ::show(),
which is not called when the dialog is being displayed modally via
::exec()
2024-06-07 08:11:01 +10:00
Mathieu Pellerin
35784b2263 [advanced digitizing] Implement visual construction guides 2024-06-04 09:30:40 +07:00
Julien Cabieces
848fb16785 Add \deprecated tag 2024-05-31 08:46:33 +10:00
Julien Cabieces
97f1c8df97 make python API backward compatible 2024-05-31 08:46:33 +10:00
Julien Cabieces
0ccaf2d299 sipify 2024-05-31 08:46:33 +10:00
Julien Cabieces
eaa0261c5d
Merge pull request #57361 from troopa81/cmyk_colorwidget
[ColorWidget] Add CMYK support
2024-05-23 18:03:52 +02:00
Mathieu Pellerin
8413982ad6 Let the signal carry whether a feature has been found, that might come in handy 2024-05-23 11:00:34 +10:00
Mathieu Pellerin
8c389cf613 [attribute form] Fix initial multi editing state of relation reference editor widgets 2024-05-23 11:00:34 +10:00
Julien Cabieces
a6dd92abd8 Update and test cmyk radio buttons 2024-05-22 19:40:29 +02:00
Julien Cabieces
3bcfa9568b replace isCmyk with colorSpec 2024-05-22 19:40:29 +02:00
Julien Cabieces
4bd56fa0f8 feat(ColorWidget) : Add CMYK support
A new setting activeCmykComponent has been introduced, while the old
one activeComponent refers now only to the Rgb/Hsv part
2024-05-22 19:39:55 +02:00
Nyall Dawson
cbd25c1fdd Promote QgsColorRampShader enums to enum class, move to Qgis 2024-05-22 12:37:44 +10:00
Nyall Dawson
027cd208f2 Add API to show additional elevation labels in elevation filter widget 2024-05-20 11:52:10 +02:00
Nyall Dawson
1c23950304 Replace bar is not always visible when find is
Instead do the vscode/pycharm thing and only show it when a replace
toggle is clicked, or Ctrl + R is pressed
2024-05-16 08:44:14 +10:00
Nyall Dawson
1ea04ae712 Add warning methods to QgsCodeEditorWidget
These call the underlying QgsCodeEditor methods to show inline
warnings, but also add corresponding highlights on the scroll bar
2024-05-15 17:12:20 +10:00
Nyall Dawson
e435e3f931 Expose scrollbar controller to PyQGIS
Allows plugins etc to add custom highlights to the scrollbar
2024-05-15 17:12:20 +10:00
Nyall Dawson
64f9a1d17d Allow dropping paths onto data source select dialog to expand browser paths
Makes it a bit easier to fix data sources for files in deep paths
2024-05-12 07:52:15 +10:00
Nyall Dawson
54244d50be Set initial selected item to matching path when changing data source too 2024-05-12 07:52:15 +10:00
Nyall Dawson
280b92cd44 Indentation 2024-05-10 13:56:49 +10:00
Nyall Dawson
58dafb48f8 Move message bar logic to QgsCodeEditorWidget 2024-05-10 13:56:49 +10:00
Nyall Dawson
64e0fff67f [console] Rely on QgsCodeEditorWidget search functionality
Remove duplicate code searching functionality from console script
editor and just use the standard QgsCodeEditorWidget implementation
2024-05-10 13:56:49 +10:00
Nyall Dawson
19436fa9b1 Add framework for data defined property buttons at feature renderer level 2024-05-10 12:06:18 +10:00
Nyall Dawson
a34669e784 Add code editor color scheme option for search match highlight color 2024-05-10 06:11:36 +10:00
Nyall Dawson
a484895363 Fix some checks 2024-05-10 06:10:59 +10:00
Nyall Dawson
e59c0df8a8 Port decorated scrollbar widget class from QtCreator
Allows decorating scrollbars with colored highlight bars
2024-05-10 06:10:59 +10:00
Nyall Dawson
564f3b85c7 Use QgsCodeEditorWidget in expression builder dialog
Adds Ctrl+F search bar support to expression builder dialog
2024-05-10 06:10:30 +10:00
Nyall Dawson
a095dc5e4e Hide settings which don't apply for heatmap legends 2024-05-10 06:09:56 +10:00
Nyall Dawson
e9976c2ee7 [processing] Show more detail in history dialog
Use a tree display for processing history entries, where the root
item for each entry shows the full algorithm log when clicked,
and the python/qgis_process commands are instead shown as child
items

This provides more useful information for users browsing the history,
while still making the all the previous information available
2024-05-10 06:09:33 +10:00
Nyall Dawson
1e8c00354f Move QgsCodeEditorWidget to a new file 2024-05-08 11:56:35 +10:00
Nyall Dawson
8654d57f16 Rename methods for clarity 2024-05-08 11:56:35 +10:00
Nyall Dawson
347191e797 Add since 2024-05-08 11:56:35 +10:00
Nyall Dawson
b7f0770633 Introduce QgsCodeEditorWidget
This widget wraps an existing QgsCodeEditor object in a widget which provides
additional standard functionality, currently a line-for-line port of the Python
console script editor search tools.

The caller must create an unparented QgsCodeEditor object
(or a subclass of QgsCodeEditor) first, and then construct a
QgsCodeEditorWidget passing this object to the constructor.

Ideally, this functionality would be added to the base QgsCodeEditor
class itself. But this is NOT possible without considerable API
breakage, as QgsCodeEditor currently inherits the QsciScintilla widget.
We cannot change QgsCodeEditor to inherit a generic QWidget
container containing a QsciScintilla widget + other widgets in
a layout without breaking API. I've added a cleanup note for
QGIS 4.0 here.
2024-05-08 11:56:35 +10:00
Nyall Dawson
2f5ad6b51f Add Run Selected option to right click menu for selected algorithms 2024-05-04 06:30:43 +10:00