summaryrefslogtreecommitdiffstats
path: root/src/extension/extension.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Extensions: Implement translationdomain functionalityPatrick Storz2019-10-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Inkscape will read the "translationdomain" attribute from the <inkscape-extension> root element in the .inx file. It will then attempt to lookup a message catalog that matches this domain, register it with gettext, and use it for translations. Message catalogs may be located in either - the .inx file's location - the root of the "extensions" directory containing the .inx - the system location Inkscape's own catalog is loaded from To make this functionality available to script extensions, Inkscape will set the environment variables INKEX_GETTEXT_DOMAIN and INKEX_GETTEXT_DIRECTORY so extension scripts can then use something like bindtextdomain(INKEX_GETTEXT_DOMAIN, INKEX_GETTEXT_DIRECTORY) textdomain(INKEX_GETTEXT_DOMAIN) to enable the feature. See also https://gitlab.com/inkscape/inkscape/issues/333 https://gitlab.com/inkscape/extensions/issues/117
* fix heap-use-after-freeThomas Holder2019-10-171-1/+1
| | | | | | | Verb::set_tip takes a borrowed string pointer. This line in Effect::check() is invalid if getErrorReason() returns a temporary: _verb.set_tip(Extension::getErrorReason().c_str());
* Extensions: Disable effects that failed to loadPatrick Storz2019-10-151-0/+2
| | | | | | | | | | | | Instead of removing them from the menu, they're now shown as inactive (greyed out), so users have a chance to know they even exists, without having to know about extension-errors.log Unfortunately tooltips seem to be hidden for insensitive menuitems as well, so we currently have no way of informing the user directly in the UI about the problem. Fixes https://gitlab.com/inkscape/inkscape/issues/470
* Extensions: Do not even attempt to register incompatible extensionsPatrick Storz2019-10-151-0/+3
| | | | | | | | This improves the fix for https://bugs.launchpad.net/inkscape/+bug/1307554 Also fixes a potential crashing issue when an .inx includes invalid XML.
* Extensions: Improve logic to lookup script extensionsPatrick Storz2019-10-141-3/+4
| | | | | | | | | | | | | | | - Use identical logic for looking up <dependency>s and <command>s. - Remove duplicate (but inconsistent and incomplete) logic from script.cpp that was used to search for the <command> again - Remove <check> element from .inx format It seems unused (at the very least by core extensions) and redundant to <dependency> checking - Deprecate the <command>-specific "reldir" attribute. Consistently use the functionally identical "location" attribute that was only used for <dependency>s before - Introduce the new relative location value location="inx", which looks up <dependencies> and <command>s relative to the .inx file's location.
* Extensions: Fix filename encoding issues in error loggingPatrick Storz2019-09-261-1/+2
| | | | (std::ostream is not properly portable unfortunately)
* Add base_directory for extensions loaded from a file.Patrick Storz2019-08-311-3/+6
|
* Remove completely unused "doc" and "node" parametersPatrick Storz2019-08-311-57/+16
|
* Re-implement get_param() locally using get_widgets()Patrick Storz2019-08-311-18/+11
|
* cleanup includes a bitPatrick Storz2019-08-311-2/+2
|
* Switch Inkscape::Extension to use InxWidgets instead of InxParametersPatrick Storz2019-08-311-17/+15
|
* Rename Parameter -> InxParameter for consistencyPatrick Storz2019-08-311-6/+5
|
* Implement "translationdomain" attribute for extensionsPatrick Storz2019-08-311-9/+14
| | | | | | | | | | | | Will allow extensions to ship their own message catalog used for translation of the extension#s strings. Needs to be set on the root <inkscape-extension> element of the .inx Currently supported values: - unset: use default textdomain (which happens to be 'inkscape') - 'inkscape': use Inkscape's message catalog - 'none': disable translation for the extension's strings
* Properly handle extensions without id or namePatrick Storz2019-08-311-14/+20
| | | | We used to fail silently, crashing later-on.
* Refactor a lot of the parameter handling codePatrick Storz2019-08-311-78/+58
| | | | | | | Many fixes, improvements and simplifications to existing code. Implements the first part of the changes discussed in https://gitlab.com/inkscape/inkscape/issues/333
* Move error classes to Parameter where they belongPatrick Storz2019-08-311-10/+0
|
* Remove effectively unused "silent" option from extensions.Patrick Storz2019-08-311-2/+0
| | | | See also https://gitlab.com/inkscape/inkscape/merge_requests/698
* Remove unused and disabled "help" feature for extensionsPatrick Storz2019-08-311-5/+1
|
* Clarify licensesMax Gaukler2018-11-081-1/+2
| | | | | | - add license headers to everything - convert a few files from public domain or LGPL2.1+ to GPL2+ - some archaeology to clarify which files are from which library
* Fix problems on dialogs with extensions. TODO: Add dialog on drag&drop a SVGJabier Arraiza2018-09-221-0/+1
|
* Replace typedef enum with enum in POD type declarations.Emmanuel Gil Peyrot2018-06-201-2/+2
|
* Run clang-tidy’s modernize-redundant-void-arg pass.Emmanuel Gil Peyrot2018-06-191-18/+18
|
* Run clang-tidy’s modernize-use-nullptr pass.Emmanuel Gil Peyrot2018-06-181-31/+31
| | | | | This replaces all NULL or 0 with nullptr when assigned to or returned as a pointer.
* Misc. typosluz.paz2018-01-081-1/+1
| | | Found via `codespell`
* Make script warnings transient for "Working..." dialogEduard Braun2017-12-201-0/+4
| | | | | | | | | | | This turned out to be a bit of a mess due to the interplay between the classes Script / ExecutionEnv / Effect / PrefDialog. (Basically they don't talk to each other much but all want to contribute to the GUI) Likely "Script" (and possibly "ExecutionEnv") should be refactored to let the other classes handle UI exclusively and throw errors where suitable.
* Removed all GSList occurences in .h filesMarc Jeanmougin2017-10-011-3/+2
|
* Move directory scanners to new get_filenames(...) callsMartin Owens2017-07-021-1/+0
|
* Extensions: Make "indent" attribute a common attribute for all parameters ↵Eduard Braun2017-02-121-1/+1
| | | | | | | | | | | | | that behaves more consistent and predictable than before. - Every "Parameter" now has an "_indent" member variable (specifying the indentation level; set in "Parameter::make()", see parameter.cpp) - Indentation is achieved by using "set_margin_left()" on the parameter's widget. This fixes bug #1662035 (comment #4 contains some more details about this patch). - Specifying "indent" on a parameter will now work consistently for all parameters. Previously the "indent" attribute often had no effect at all, e.g. for notebooks but also for parameters with 'appearance="full"' which was reasonable in most cases but made the outcome of using this attribute often unpredictable and is unnecessarily restrictive. - Most visible change: "description"s always used an indentation level of at least one (even if no indentation was specified). For the sake of consistency this discrepancy was dropped. Previous appearance can easily be restored by setting 'indent="1"'. Fixed bugs: - https://launchpad.net/bugs/1662035 (bzr r15508)
* extensions: Drop GTKMM2 fallbacksAlex Valavanis2016-07-281-9/+0
| | | (bzr r15023.2.5)
* Documentation/Translation. Fix for Bug #1236382 (Typos in comments and ↵Nicolas Dufour2013-10-091-2/+2
| | | | | | | | message, localization context needed) by Yuri Chornoivan. Fixed bugs: - https://launchpad.net/bugs/1236382 (bzr r12673)
* Refactor: Changed some functions from Extension to const.Vinícius dos Santos Oliveira2013-06-051-4/+4
| | | | | | | | | | The functions changed to const: * get_param_color * get_param_enum * get_param_optiongroup * get_param_enum_contains (bzr r12349)
* Add command line option to specify PDF export version. Patch from schwieni.Vinícius dos Santos Oliveira2013-06-051-0/+10
| | | | | | | | | | | | | From the patch's author: Additional command line option added to export to different PDF-versions supported by cairo (currently only "PDF 1.4" and "PDF 1.5"). The user must provide the exact string found in the PDF-export dialog of Inkscape. This feature was previously only accessible via the GUI of Inkscape. This option is useful for people opting for PDF-a conformance in their PDFs. Moreover, the Extension and Parameter classes are extended by setters for enum parameters (used in combo boxes). (bzr r12348)
* Kill ancient gcc version check in configure.ac and fix a load of broken ↵Alex Valavanis2013-03-141-1/+1
| | | | | forward declarations (bzr r12203)
* Drop more Gtk::Table usageAlex Valavanis2013-03-081-1/+9
| | | (bzr r12180)
* A couple of forward declarationsAlex Valavanis2013-02-111-0/+1
| | | (bzr r12119)
* Header tidying, suppress all gdk deprecation errors in gtkmmAlex Valavanis2012-02-291-2/+2
| | | (bzr r11030)
* Cleaning up a few headersAlex Valavanis2012-02-121-1/+4
| | | (bzr r10961)
* Const correctness fixes that also correct bug #893146.Jon A. Cruz2011-12-191-4/+35
| | | | | | Fixed bugs: - https://launchpad.net/bugs/893146 (bzr r10783)
* More forward.h purging.Jon A. Cruz2011-10-041-5/+15
| | | (bzr r10665)
* Merge from trunkKrzysztof Kosi??ski2011-06-191-0/+2
|\ | | | | (bzr r9508.1.89)
| * Add "silent" option to extension inx file so that extension authors can ↵Felipe Corr??a da Silva Sanches2011-05-271-0/+2
| | | | | | | | | | | | | | opt-out of displaying the "working, please wait" dialog. Extensions that are tipically slow can still have the dialog show up by simply not adding this attribute to the inx file. (bzr r10240)
* | No more PrintWin32, including no special cases for non-Unicode Windows anymore.Jasper van de Gronde2011-04-151-9/+0
|/ | | (bzr r9508.1.82)
* Extensions. Notebooks now work with internal extensions.Nicolas Dufour2010-12-031-4/+3
| | | (bzr r9933)
* Added wrappers for the "optiongroup" type that correspond to existing ↵Jon A. Cruz2010-03-181-6/+26
| | | | | "float", "enum" etc. wrappers. (bzr r9201)
* Improve behavior when pasting, DnDing and importing bitmap imagesKrzysztof Kosi??ski2010-03-041-0/+2
| | | (bzr r9143)
* Revert recent refactoring changes by johnce because they break the build, ↵Maximilian Albert2009-08-061-13/+13
| | | | | which cannot be fixed easily. (bzr r8422)
* SPDocument->Documentjohnce2009-08-051-13/+13
| | | (bzr r8406)
* Improved version reporting. Add SVN revision and custom status to Krzysztof Kosi??ski2009-01-131-1/+2
| | | | | version string on Linux. (bzr r7123)
* Fix for missing defineJon A. Cruz2008-09-011-0/+1
| | | (bzr r6744)
* r19076@shi: ted | 2008-04-21 15:42:45 -0700Ted Gould2008-04-211-0/+5
| | | | | | | | | Core of having a real namespace for Inkscape extensions. r19077@shi: ted | 2008-04-21 15:50:12 -0700 First layer of adding NS r19078@shi: ted | 2008-04-21 15:56:03 -0700 Whew, doing the rest of them. (bzr r5483)