lists.geany.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
List overview
Plugins-Commits
May 2018
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
plugins-commits@lists.geany.org
1 participants
29 discussions
Start a n
N
ew thread
[geany/geany-plugins] cd19ee: Merge remote-tracking branch 'origin/master' into webkit2gtk
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Sun, 13 May 2018 08:38:29 UTC Commit: cd19ee2edea25f660716ab097fa2436046d6ec1a
https://github.com/geany/geany-plugins/commit/cd19ee2edea25f660716ab097fa24…
Log Message: ----------- Merge remote-tracking branch 'origin/master' into webkit2gtk Modified Paths: -------------- MAINTAINERS NEWS addons/README addons/src/Makefile.am addons/src/addons.c addons/src/ao_colortip.c addons/src/ao_colortip.h build/geany-plugins.nsi build/gtk-bundle-from-msys2.sh build/spellcheck.m4 build/treebrowser.m4 build/workbench.m4 configure.ac geanyctags/src/geanyctags.c geanyinsertnum/src/insertnum.c geanylua/docs/geanylua-ref.html geanylua/examples/edit/right-trim.lua geanylua/glspi_app.c geanylua/glspi_doc.c geanylua/glspi_keycmd.h geanylua/glspi_sci.h geanylua/keywords.list geanylua/util/mk-keytab.lua geanyprj/src/geanyprj.c geanyvc/src/geanyvc.c po/POTFILES.in po/be.po po/ca.po po/da.po po/de.po po/el.po po/es.po po/fr.po po/gl.po po/it.po po/ja.po po/kk.po po/nl.po po/pt.po po/pt_BR.po po/ru.po po/tr.po po/zh_CN.po pohelper/src/gph-plugin.c pretty-printer/src/PluginEntry.c scope/data/scope.glade scope/src/break.c scope/src/debug.c scope/src/inspect.c scope/src/memory.c scope/src/menu.c scope/src/parse.c scope/src/plugme.c scope/src/prefs.c scope/src/program.c scope/src/scope.c scope/src/thread.c scope/src/utils.c scope/src/views.c spellcheck/README spellcheck/src/Makefile.am spellcheck/src/scplugin.c spellcheck/src/speller.c treebrowser/src/treebrowser.c utils/src/filelist.c utils/src/filelist.h workbench/README workbench/src/Makefile.am workbench/src/dialogs.c workbench/src/dialogs.h workbench/src/menu.c workbench/src/plugin_main.c workbench/src/popup_menu.c workbench/src/popup_menu.h workbench/src/sidebar.c workbench/src/sidebar.h workbench/src/wb_monitor.c workbench/src/wb_monitor.h workbench/src/wb_project.c workbench/src/wb_project.h workbench/src/workbench.c workbench/src/workbench.h Modified: MAINTAINERS 45 lines changed, 44 insertions(+), 1 deletions(-) =================================================================== @@ -1,4 +1,5 @@ # P: Person +# G: Github @name # M: Mail patches to: FullName <address@domain> # W: Web-page with status/info # S: Status, one of the following: @@ -13,193 +14,225 @@ addons P: Enrico Tröger <enrico.troeger(a)uvena.de> +g: @eht16 M: Enrico Tröger <enrico.troeger(a)uvena.de> W:
http://plugins.geany.org/addons.html
S: Maintained autoclose P: Pavel Roschin <rpg89(at)post(dot)ru> +g: @scriptum M: Pavel Roschin <rpg89(at)post(dot)ru> W: S: Maintained automark P: Pavel Roschin <rpg89(at)post(dot)ru> +g: @scriptum M: Pavel Roschin <rpg89(at)post(dot)ru> W: S: Maintained codenav P: Federico Reghenzani <federico(dot)dev(at)reghe(dot)net> +g: M: Federico Reghenzani <federico(dot)dev(at)reghe(dot)net> W:
http://plugins.geany.org/codenav.html
S: Maintained commander P: Colomban Wendling <ban(a)herbesfolles.org> +g: @b4n M: Colomban Wendling <ban(a)herbesfolles.org> W: S: Maintained debugger P: Alexander Petukhov <devel(a)apetukhov.ru> +g: M: Alexander Petukhov <devel(a)apetukhov.ru> W:
http://plugins.geany.org/debugger.html
S: Maintained defineformat P: Pavel Roschin <rpg89(at)post(dot)ru> +g: @scriptum M: Pavel Roschin <rpg89(at)post(dot)ru> W:
http://plugins.geany.org/defineformat.html
S: Maintained devhelp P: Matthew Brush <matt(a)geany.org> +g: @codebrainz M: Matthew Brush <matt(a)geany.org> W:
http://plugins.geany.org/devhelp.html
S: Maintained geanyctags P: Jiří Techet <techet(a)gmail.com> +g: @techee M: Jiří Techet <techet(a)gmail.com> W:
http://plugins.geany.org/geanyctags.html
S: Maintained geanydoc P: Yura Siamashka <yurand2(a)gmail.com> +g: M: Yura Siamashka <yurand2(a)gmail.com> W:
http://plugins.geany.org/geanydoc.html
S: Odd Fixes geanyextrasel P: +g: M: W:
http://plugins.geany.org/geanyextrasel.html
S: Orphaned geanygendoc P: Colomban Wendling <ban(a)herbesfolles.org> +g: @b4n M: Colomban Wendling <ban(a)herbesfolles.org> W:
http://plugins.geany.org/geanygendoc.html
S: Maintained geanyinsertnum P: +g: M: W:
http://plugins.geany.org/geanyinsertnum.html
S: Orphaned latex P: Frank Lanitz <frank(a)frank.uvena.de> +g: @frlan M: Frank Lanitz <frank(a)frank.uvena.de> W:
http://frank.uvena.de/en/Geany/geanylatex/
S: Maintained geanylua P: +g: M: W: S: Orphaned geanymacro P: William Fraser <william.fraser(a)virgin.net> +g: M: William Fraser <william.fraser(a)virgin.net> W:
http://plugins.geany.org/geanymacro.html
S: Maintained geanyminiscript P: Eugene Arshinov <earshinov(a)gmail.com> +g: M: Eugene Arshinov <earshinov(a)gmail.com> W: S: Maintained geanynumberedbookmarks P: William Fraser <william.fraser(a)virgin.net> +g: M: William Fraser <william.fraser(a)virgin.net> W:
http://plugins.geany.org/geanynumberedbookmarks.html
S: Maintained geanypg P: Hans Alves <alves.h88(a)gmail.com> +g: M: Hans Alves <alves.h88(a)gmail.com> W:
http://plugins.geany.org/geanypg.html
S: Odd Fixes geanyprj P: Donjan Rodic <bryonak(a)freenet.de> +g: M: Donjan Rodic <bryonak(a)freenet.de> W:
http://plugins.geany.org/geanyprj.html
S: Odd Fixes geanypy P: Thomas Martitz <kugel(a)rockbox.org> +g: @kugel- M: Thomas Martitz <kugel(a)rockbox.org> W:
http://plugins.geany.org/geanypy.html
S: Currently diverged from upstream geanysendmail P: Frank Lanitz <frank(a)frank.uvena.de> +g: @frlan M: Frank Lanitz <frank(a)frank.uvena.de> W:
http://plugins.geany.org/geanysendmail.html
S: Maintained geanyvc P: Yura Siamashka <yurand2(a)gmail.com> +g: M: Yura Siamashka <yurand2(a)gmail.com> W:
http://plugins.geany.org/geanyvc.html
S: Odd Fixes geniuspaste P: Enrico Trotta <enrico.trt(a)gmail.com> +g: M: Enrico Trotta <enrico.trt(a)gmail.com> W: S: Maintained git-changebar P: Colomban Wendling <ban(a)herbesfolles.org> +g: @b4n M: Colomban Wendling <ban(a)herbesfolles.org> W:
http://plugins.geany.org/git-changebar.html
S: Maintained keyrecord P: Artur Riazanov <tunyash(a)gmail.com> +g: M: Artur Riazanov <tunyash(a)gmail.com> W: S: Maintained lineoperations P: Sylvan Mostert <smostert.dev(a)gmail.com> +g: M: Sylvan Mostert <smostert.dev(a)gmail.com> W: S: Maintained lipsum P: Frank Lanitz <frank(a)frank.uvena.de> +g: @frlan M: Frank Lanitz <frank(a)frank.uvena.de> W:
http://plugins.geany.org/lipsum.html
S: Maintained markdown P: Matthew Brush <matt(a)geany.org> +g: @codebrainz M: Matthew Brush <matt(a)geany.org> W: S: Maintained multiterm P: Matthew Brush <matt(a)geany.org> +g: @codebrainz M: Matthew Brush <matt(a)geany.org> W:
http://plugins.geany.org/multiterm.html
S: Maintained overview P: Matthew Brush <matt(a)geany.org> +g: @codebrainz M: Matthew Brush <matt(a)geany.org> W:
https://github.com/codebrainz/overview-plugin
S: Maintained pairtaghighlighter P: Volodymyr Kononenko <vm(a)kononenko.ws> +g: M: Volodymyr Kononenko <vm(a)kononenko.ws> W: S: Maintained @@ -212,60 +245,70 @@ S: Orphaned projectorganizer P: Jiří Techet <techet(a)gmail.com> +g: @techee M: Jiří Techet <techet(a)gmail.com> W:
http://plugins.geany.org/projectorganizer.html
S: Maintained pohelper P: Colomban Wendling <ban(a)herbesfolles.org> +g: @b4n M: Colomban Wendling <ban(a)herbesfolles.org> W:
http://plugins.geany.org/pohelper.html
S: Maintained scope P: +g: @LarsGit223 M: W:
http://plugins.geany.org/scope.html
-S: Orphaned +S: Maintained shiftcolumn P: +g: M: W: S: Orphaned spellcheck P: Enrico Tröger <enrico.troeger(a)uvena.de> +g: @eht16 M: Enrico Tröger <enrico.troeger(a)uvena.de> W:
http://plugins.geany.org/spellcheck.html
S: Maintained tableconvert P: Frank Lanitz <frank(a)frank.uvena.de> +g: @frlan M: Frank Lanitz <frank(a)frank.uvena.de> W:
http://plugins.geany.org/tableconvert.html
S: Maintained treebrowser P: Adam Dingle <adam(a)medovina.org> +g: M: Adam Dingle <adam(a)medovina.org> W:
http://plugins.geany.org/treebrowser.html
S: Maintained updatechecker P: Frank Lanitz <frank(a)frank.uvena.de> +g: @frlan M: Frank Lanitz <frank(a)frank.uvena.de> W:
http://plugins.geany.org/updatechecker.html
S: Maintained webhelper P: Colomban Wendling <ban(a)herbesfolles.org> +g: @b4n M: Colomban Wendling <ban(a)herbesfolles.org> W:
http://plugins.geany.org/webhelper.html
S: Maintained xmlsnippets P: Eugene Arshinov <earshinov(a)gmail.com> +g: @earshinov M: Eugene Arshinov <earshinov(a)gmail.com> W:
http://plugins.geany.org/xmlsnippets.html
S: Maintained Modified: NEWS 39 lines changed, 38 insertions(+), 1 deletions(-) =================================================================== @@ -1,8 +1,45 @@ -Geany Plugins 1.33 (not yet released) +Geany Plugins 1.34 (not yet released) No changes by now. +Geany Plugins 1.33 (2018-02-25) + + General: + * Rename plugin geanylatex to latex + * utils lib: added new function 'gp_filelist_scan_directory_full() (PR #681) + + Addons: + * Show color tip and start Color Chooser with double click (PR #664) + + GeanyLua: + * Add filetype to set in geany.newfile() (PR #652) + * Add function geany.reloadconf() (PR #653) + * Fix right-trim.lua (PR #670) + * Update glspi_keycmd.h to match latest Geany version (PR #662) + * Update to match latest Geany's Scintilla API (PR #685) + + PrettyPrinter: + * Allow to pretty print a selection only (PR #683) + + Spellcheck: + * Remember 'Check while typing' setting between sessions (#667, PR #680) + * Support Enchant 2.0 and later (PR #674) + + Treebrowser: + * Fallback to "text-x-generic" icon if info lookup fails (PR #682) + + VC: + * Remember the commit dialog size (#679) + + Workbench: + * Add "Create file here..."/"Create directory here..." (PR #681) + * Renamed "folder" to "sub-directory" (PR #678) + + Internationalization: + * Updated translations: de, es, fr + + Geany Plugins 1.32 (2017-11-19) General: Modified: addons/README 17 lines changed, 17 insertions(+), 0 deletions(-) =================================================================== @@ -27,6 +27,8 @@ Features * Strip trailing blank lines when saving * XMLtagging * Enclose selected text with characters +* Show colorized calltip on hovering over a color value +* Open Color Chooser on double clicking on a color value Usage ----- @@ -98,6 +100,21 @@ to the clipboard for further use. The action can be triggered by a keyboard shortcut as well as by a menu item in the Tools menu. +*Show colorized calltip on hovering over a color value* +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This extension will show a calltip if the mouse is hovered over a color +value like #fff or #ffffff. The calltip background color represents the +color value over which the mouse is hovered. The preferences option "Show +a calltip when hovering over a color value" is used to enable or disable +the extension. + +*Open Color Chooser on double clicking on a color value* +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This extension will open the Color Chooser if the user double clicks on +a color value like #fff or #ffffff. The preferences option "Open Color +Chooser when double-clicking a color value" is used to enable or disable +the extension. + Requirements ------------ Modified: addons/src/Makefile.am 28 lines changed, 15 insertions(+), 13 deletions(-) =================================================================== @@ -4,28 +4,30 @@ plugin = addons geanyplugins_LTLIBRARIES = addons.la addons_la_SOURCES = \ + addons.c \ addons.h \ + ao_blanklines.c \ ao_blanklines.h \ - ao_doclist.h \ - ao_openuri.h \ - ao_systray.h \ + ao_bookmarklist.c \ ao_bookmarklist.h \ - ao_markword.h \ - ao_tasks.h \ - ao_xmltagging.h \ - ao_wrapwords.h \ + ao_colortip.c \ + ao_colortip.h \ + ao_copyfilepath.c \ ao_copyfilepath.h \ - addons.c \ - ao_blanklines.c \ ao_doclist.c \ + ao_doclist.h \ + ao_markword.c \ + ao_markword.h \ ao_openuri.c \ + ao_openuri.h \ ao_systray.c \ - ao_bookmarklist.c \ - ao_markword.c \ + ao_systray.h \ ao_tasks.c \ - ao_xmltagging.c \ + ao_tasks.h \ ao_wrapwords.c \ - ao_copyfilepath.c + ao_wrapwords.h \ + ao_xmltagging.c \ + ao_xmltagging.h addons_la_CPPFLAGS = $(AM_CPPFLAGS) \ -DG_LOG_DOMAIN=\"Addons\" Modified: addons/src/addons.c 42 lines changed, 42 insertions(+), 0 deletions(-) =================================================================== @@ -39,6 +39,7 @@ #include "ao_xmltagging.h" #include "ao_wrapwords.h" #include "ao_copyfilepath.h" +#include "ao_colortip.h" GeanyPlugin *geany_plugin; @@ -82,6 +83,8 @@ typedef struct gboolean enable_enclose_words; gboolean enable_enclose_words_auto; gboolean strip_trailing_blank_lines; + gboolean enable_colortip; + gboolean enable_double_click_color_chooser; gchar *tasks_token_list; gboolean tasks_scan_all_documents; @@ -96,6 +99,7 @@ typedef struct AoMarkWord *markword; AoTasks *tasks; AoCopyFilePath *copyfilepath; + AoColorTip *colortip; } AddonsInfo; static AddonsInfo *ao_info = NULL; @@ -181,6 +185,8 @@ gboolean ao_editor_notify_cb(GObject *object, GeanyEditor *editor, ao_mark_editor_notify(ao_info->markword, editor, nt); + ao_color_tip_editor_notify(ao_info->colortip, editor, nt); + return FALSE; } @@ -208,6 +214,7 @@ static void ao_document_new_cb(GObject *obj, GeanyDocument *doc, gpointer data) g_return_if_fail(doc != NULL && doc->is_valid); ao_mark_document_new(ao_info->markword, doc); + ao_color_tip_document_new(ao_info->colortip, doc); } @@ -217,6 +224,7 @@ static void ao_document_open_cb(GObject *obj, GeanyDocument *doc, gpointer data) ao_tasks_update(ao_info->tasks, doc); ao_mark_document_open(ao_info->markword, doc); + ao_color_tip_document_open(ao_info->colortip, doc); } @@ -226,6 +234,7 @@ static void ao_document_close_cb(GObject *obj, GeanyDocument *doc, gpointer data ao_tasks_remove(ao_info->tasks, doc); ao_mark_document_close(ao_info->markword, doc); + ao_color_tip_document_close(ao_info->colortip, doc); } @@ -304,6 +313,10 @@ void plugin_init(GeanyData *data) "enable_enclose_words", FALSE); ao_info->enable_enclose_words_auto = utils_get_setting_boolean(config, "addons", "enable_enclose_words_auto", FALSE); + ao_info->enable_colortip = utils_get_setting_boolean(config, + "addons", "enable_colortip", FALSE); + ao_info->enable_double_click_color_chooser = utils_get_setting_boolean(config, + "addons", "enable_double_click_color_chooser", FALSE); plugin_module_make_resident(geany_plugin); @@ -316,6 +329,8 @@ void plugin_init(GeanyData *data) ao_info->tasks = ao_tasks_new(ao_info->enable_tasks, ao_info->tasks_token_list, ao_info->tasks_scan_all_documents); ao_info->copyfilepath = ao_copy_file_path_new(); + ao_info->colortip = ao_color_tip_new(ao_info->enable_colortip, + ao_info->enable_double_click_color_chooser); ao_blanklines_set_enable(ao_info->strip_trailing_blank_lines); @@ -415,6 +430,10 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer g_object_get_data(G_OBJECT(dialog), "check_enclose_words")))); ao_info->enable_enclose_words_auto = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( g_object_get_data(G_OBJECT(dialog), "check_enclose_words_auto")))); + ao_info->enable_colortip = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + g_object_get_data(G_OBJECT(dialog), "check_colortip")))); + ao_info->enable_double_click_color_chooser = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + g_object_get_data(G_OBJECT(dialog), "check_double_click_color_chooser")))); ao_enclose_words_set_enabled (ao_info->enable_enclose_words, ao_info->enable_enclose_words_auto); @@ -441,6 +460,9 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer ao_info->enable_enclose_words); g_key_file_set_boolean(config, "addons", "enable_enclose_words_auto", ao_info->enable_enclose_words_auto); + g_key_file_set_boolean(config, "addons", "enable_colortip", ao_info->enable_colortip); + g_key_file_set_boolean(config, "addons", "enable_double_click_color_chooser", + ao_info->enable_double_click_color_chooser); g_object_set(ao_info->doclist, "enable-doclist", ao_info->enable_doclist, NULL); g_object_set(ao_info->doclist, "sort-mode", ao_info->doclist_sort_mode, NULL); @@ -458,6 +480,10 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer "tokens", ao_info->tasks_token_list, NULL); ao_blanklines_set_enable(ao_info->strip_trailing_blank_lines); + g_object_set(ao_info->colortip, + "enable-colortip", ao_info->enable_colortip, + "enable-double-click-color-chooser", ao_info->enable_double_click_color_chooser, + NULL); if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0) { @@ -487,6 +513,7 @@ GtkWidget *plugin_configure(GtkDialog *dialog) GtkWidget *check_tasks_scan_mode, *entry_tasks_tokens, *label_tasks_tokens, *tokens_hbox; GtkWidget *check_blanklines, *check_xmltagging; GtkWidget *check_enclose_words, *check_enclose_words_auto, *enclose_words_config_button, *enclose_words_hbox; + GtkWidget *check_colortip, *check_double_click_color_chooser; vbox = gtk_vbox_new(FALSE, 6); @@ -633,6 +660,17 @@ GtkWidget *plugin_configure(GtkDialog *dialog) ao_info->enable_enclose_words_auto); gtk_box_pack_start(GTK_BOX(vbox), check_enclose_words_auto, FALSE, FALSE, 3); + check_colortip = gtk_check_button_new_with_label( + _("Show a calltip when hovering over a color value")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_colortip), + ao_info->enable_colortip); + gtk_box_pack_start(GTK_BOX(vbox), check_colortip, FALSE, FALSE, 3); + + check_double_click_color_chooser = gtk_check_button_new_with_label( + _("Open Color Chooser when double-clicking a color value")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_double_click_color_chooser), + ao_info->enable_double_click_color_chooser); + gtk_box_pack_start(GTK_BOX(vbox), check_double_click_color_chooser, FALSE, FALSE, 3); g_object_set_data(G_OBJECT(dialog), "check_doclist", check_doclist); g_object_set_data(G_OBJECT(dialog), "radio_doclist_name", radio_doclist_name); @@ -653,6 +691,9 @@ GtkWidget *plugin_configure(GtkDialog *dialog) g_object_set_data(G_OBJECT(dialog), "check_enclose_words", check_enclose_words); g_object_set_data(G_OBJECT(dialog), "check_enclose_words_auto", check_enclose_words_auto); g_object_set_data(G_OBJECT(dialog), "enclose_words_config_button", enclose_words_config_button); + g_object_set_data(G_OBJECT(dialog), "check_colortip", check_colortip); + g_object_set_data(G_OBJECT(dialog), "check_double_click_color_chooser", + check_double_click_color_chooser); g_signal_connect(dialog, "response", G_CALLBACK(ao_configure_response_cb), NULL); ao_configure_tasks_toggled_cb(GTK_TOGGLE_BUTTON(check_tasks), dialog); @@ -678,6 +719,7 @@ void plugin_cleanup(void) g_object_unref(ao_info->markword); g_object_unref(ao_info->tasks); g_object_unref(ao_info->copyfilepath); + g_object_unref(ao_info->colortip); g_free(ao_info->tasks_token_list); ao_blanklines_set_enable(FALSE); Modified: addons/src/ao_colortip.c 385 lines changed, 385 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,385 @@ +/* + * ao_colortip.c - this file is part of Addons, a Geany plugin + * + * Copyright 2017 LarsGit223 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + + +#include <gtk/gtk.h> +#include <glib-object.h> + +#include "geanyplugin.h" + +#include "addons.h" +#include "ao_colortip.h" + +typedef struct _AoColorTipPrivate AoColorTipPrivate; + +#define AO_COLORTIP_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj),\ + AO_COLORTIP_TYPE, AoColorTipPrivate)) + +struct _AoColorTip +{ + GObject parent; +}; + +struct _AoColorTipClass +{ + GObjectClass parent_class; +}; + +struct _AoColorTipPrivate +{ + gboolean enable_colortip; + gboolean enable_double_click_color_chooser; +}; + +enum +{ + PROP_0, + PROP_ENABLE_COLORTIP, + PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER, +}; + +G_DEFINE_TYPE(AoColorTip, ao_color_tip, G_TYPE_OBJECT) + +# define SSM(s, m, w, l) scintilla_send_message (s, m, w, l) + + +/* Find a color value (short or long form, e.g. #fff or #ffffff) in the + given string. position must be inside the found color or at maximum + maxdist bytes in front of it (in front of the start of the color value) + or behind it (behind the end of the color value). */ +static gint contains_color_value(gchar *string, gint position, gint maxdist) +{ + gchar *start; + gint end, value, offset, color = -1; + guint length; + + start = strchr(string, '#'); + if (start == NULL) + { + return color; + } + end = start - string + 1; + while (g_ascii_isxdigit (string[end])) + { + end++; + } + end--; + length = &(string[end]) - start + 1; + + if (maxdist != -1) + { + offset = start - string + 1; + if (position < offset && + (offset - position) > maxdist) + { + return color; + } + + offset = end; + if (position > offset && + (position - offset) > maxdist) + { + return color; + } + } + + + if (length == 4) + { + start++; + color = (g_ascii_xdigit_value (*start) << 4) + | g_ascii_xdigit_value (*start); + + start++; + value = (g_ascii_xdigit_value (*start) << 4) + | g_ascii_xdigit_value (*start); + color += value << 8; + + start++; + value = (g_ascii_xdigit_value (*start) << 4) + | g_ascii_xdigit_value (*start); + color += value << 16; + } + else if (length == 7) + { + start++; + color = (g_ascii_xdigit_value (start[0]) << 4) + | g_ascii_xdigit_value (start[1]); + + start += 2; + value = (g_ascii_xdigit_value (start[0]) << 4) + | g_ascii_xdigit_value (start[1]); + color += value << 8; + + start += 2; + value = (g_ascii_xdigit_value (start[0]) << 4) + | g_ascii_xdigit_value (start[1]); + color += value << 16; + } + + return color; +} + + +static gint get_color_value_at_current_doc_position(void) +{ + gint color = -1; + GeanyDocument *doc = document_get_current(); + gchar *word = editor_get_word_at_pos(doc->editor, -1, "0123456789abcdefABCDEF"); + + if (word) + { + switch (strlen (word)) + { + case 3: + color = ((g_ascii_xdigit_value(word[0]) * 0x11) << 16 | + (g_ascii_xdigit_value(word[1]) * 0x11) << 8 | + (g_ascii_xdigit_value(word[2]) * 0x11) << 0); + break; + case 6: + color = (g_ascii_xdigit_value(word[0]) << 20 | + g_ascii_xdigit_value(word[1]) << 16 | + g_ascii_xdigit_value(word[2]) << 12 | + g_ascii_xdigit_value(word[3]) << 8 | + g_ascii_xdigit_value(word[4]) << 4 | + g_ascii_xdigit_value(word[5]) << 0); + break; + default: + /* invalid color or other format */ + break; + } + } + + return color; +} + +static gboolean on_editor_button_press_event(GtkWidget *widget, GdkEventButton *event, + AoColorTip *colortip) +{ + if (event->button == 1) + { + if (event->type == GDK_2BUTTON_PRESS) + { + AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(colortip); + + if (!priv->enable_double_click_color_chooser) + return FALSE; + + if (get_color_value_at_current_doc_position() != -1) + { + keybindings_send_command + (GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER); + } + } + } + return FALSE; +} + + +void ao_color_tip_editor_notify(AoColorTip *colortip, GeanyEditor *editor, SCNotification *nt) +{ + ScintillaObject *sci = editor->sci; + AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(colortip); + + if (!priv->enable_colortip) + { + /* Ignore all events if color tips are disabled in preferences */ + return; + } + + switch (nt->nmhdr.code) + { + case SCN_DWELLSTART: + { + gchar *subtext; + gint start, end, pos, max; + + /* Is position valid? */ + if (nt->position < 0) + break; + + /* Calculate range */ + start = nt->position; + if (start >= 7) + { + start -= 7; + } + else + { + start = 0; + } + pos = nt->position - start; + end = nt->position + 7; + max = SSM(sci, SCI_GETTEXTLENGTH, 0, 0); + if (end > max) + { + end = max; + } + + /* Get text in range and examine it */ + subtext = sci_get_contents_range(sci, start, end); + if (subtext != NULL) + { + gint color; + + color = contains_color_value (subtext, pos, 2); + if (color != -1) + { + SSM(sci, SCI_CALLTIPSETBACK, color, 0); + SSM(sci, SCI_CALLTIPSHOW, nt->position, (sptr_t)" "); + } + g_free(subtext); + } + } + break; + + case SCN_DWELLEND: + SSM(sci, SCI_CALLTIPCANCEL, 0, 0); + break; + } +} + + +static void connect_document_button_press_signal_handler(AoColorTip *colortip, GeanyDocument *document) +{ + g_return_if_fail(DOC_VALID(document)); + + plugin_signal_connect( + geany_plugin, + G_OBJECT(document->editor->sci), + "button-press-event", + FALSE, + G_CALLBACK(on_editor_button_press_event), + colortip); +} + + +static void connect_documents_button_press_signal_handler(AoColorTip *colortip) +{ + guint i = 0; + /* connect the button-press event for all open documents */ + foreach_document(i) + { + connect_document_button_press_signal_handler(colortip, documents[i]); + } +} + + +static void ao_color_tip_finalize(GObject *object) +{ + g_return_if_fail(object != NULL); + g_return_if_fail(IS_AO_COLORTIP(object)); + + G_OBJECT_CLASS(ao_color_tip_parent_class)->finalize(object); +} + + +static void ao_color_tip_set_property(GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(object); + + switch (prop_id) + { + case PROP_ENABLE_COLORTIP: + priv->enable_colortip = g_value_get_boolean(value); + break; + case PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER: + priv->enable_double_click_color_chooser = g_value_get_boolean(value); + + /* If the plugin is loaded while Geany is already running, we need to connect the + * button press signal for open documents, if Geany is just booting, + * it happens automatically */ + if (priv->enable_double_click_color_chooser && main_is_realized()) + { + connect_documents_button_press_signal_handler(AO_COLORTIP(object)); + } + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); + break; + } +} + + +void ao_color_tip_document_new(AoColorTip *colortip, GeanyDocument *document) +{ + connect_document_button_press_signal_handler(colortip, document); + SSM(document->editor->sci, SCI_SETMOUSEDWELLTIME, 300, 0); +} + + +void ao_color_tip_document_open(AoColorTip *colortip, GeanyDocument *document) +{ + connect_document_button_press_signal_handler(colortip, document); + SSM(document->editor->sci, SCI_SETMOUSEDWELLTIME, 300, 0); +} + + +void ao_color_tip_document_close(AoColorTip *colortip, GeanyDocument *document) +{ + g_return_if_fail(DOC_VALID(document)); + + g_signal_handlers_disconnect_by_func(document->editor->sci, on_editor_button_press_event, colortip); +} + + +static void ao_color_tip_class_init(AoColorTipClass *klass) +{ + GObjectClass *g_object_class; + + g_object_class = G_OBJECT_CLASS(klass); + g_object_class->finalize = ao_color_tip_finalize; + g_object_class->set_property = ao_color_tip_set_property; + g_type_class_add_private(klass, sizeof(AoColorTipPrivate)); + + g_object_class_install_property(g_object_class, + PROP_ENABLE_COLORTIP, + g_param_spec_boolean( + "enable-colortip", + "enable-colortip", + "Whether to show a calltip when hovering over a color value", + TRUE, + G_PARAM_WRITABLE)); + + g_object_class_install_property(g_object_class, + PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER, + g_param_spec_boolean( + "enable-double-click-color-chooser", + "enable-double-click-color-chooser", + "Enable starting the Color Chooser when double clicking on a color value", + TRUE, + G_PARAM_WRITABLE)); +} + +static void ao_color_tip_init(AoColorTip *self) +{ + AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(self); + memset(priv, 0, sizeof(*priv)); +} + +AoColorTip *ao_color_tip_new(gboolean enable_tip, gboolean double_click_color_chooser) +{ + return g_object_new( + AO_COLORTIP_TYPE, + "enable-colortip", enable_tip, + "enable-double-click-color-chooser", double_click_color_chooser, + NULL); +} Modified: addons/src/ao_colortip.h 49 lines changed, 49 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,49 @@ +/* + * ao_colortip.h - this file is part of Addons, a Geany plugin + * + * Copyright 2017 LarsGit223 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + + +#ifndef __AO_COLORTIP_H__ +#define __AO_COLORTIP_H__ + +G_BEGIN_DECLS + +#define AO_COLORTIP_TYPE (ao_color_tip_get_type()) +#define AO_COLORTIP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\ + AO_COLORTIP_TYPE, AoColorTip)) +#define AO_COLORTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\ + AO_COLORTIP_TYPE, AoColorTipClass)) +#define IS_AO_COLORTIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\ + AO_COLORTIP_TYPE)) +#define IS_AO_COLORTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\ + AO_COLORTIP_TYPE)) + +typedef struct _AoColorTip AoColorTip; +typedef struct _AoColorTipClass AoColorTipClass; + +GType ao_color_tip_get_type (void); +AoColorTip* ao_color_tip_new (gboolean enable_tip, gboolean double_click_color_chooser); +void ao_color_tip_document_new (AoColorTip *colortip, GeanyDocument *document); +void ao_color_tip_document_open (AoColorTip *colortip, GeanyDocument *document); +void ao_color_tip_document_close (AoColorTip *colortip, GeanyDocument *document); +void ao_color_tip_editor_notify (AoColorTip *colortip, GeanyEditor *editor, SCNotification *nt); + +G_END_DECLS + +#endif /* __AO_COLORTIP_H__ */ Modified: build/geany-plugins.nsi 6 lines changed, 4 insertions(+), 2 deletions(-) =================================================================== @@ -31,8 +31,8 @@ RequestExecutionLevel highest ; set execution level for Windows Vista ; helper defines ; ;;;;;;;;;;;;;;;;;;; !define PRODUCT_NAME "Geany-Plugins" -!define PRODUCT_VERSION "1.33" -!define PRODUCT_VERSION_ID "1.33.0.0" +!define PRODUCT_VERSION "1.34" +!define PRODUCT_VERSION_ID "1.34.0.0" !define PRODUCT_PUBLISHER "The Geany developer team" !define PRODUCT_WEB_SITE "
https://www.geany.org/
" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" @@ -224,6 +224,8 @@ Section Uninstall Delete "$INSTDIR\bin\libgnutlsxx-28.dll" Delete "$INSTDIR\bin\libgpg-error-0.dll" Delete "$INSTDIR\bin\libgpgme-11.dll" + Delete "$INSTDIR\bin\libqgpgme-7.dll" + Delete "$INSTDIR\bin\libgpgmepp-6.dll" Delete "$INSTDIR\bin\libgstallocators-1.0-0.dll" Delete "$INSTDIR\bin\libgstapp-1.0-0.dll" Delete "$INSTDIR\bin\libgstaudio-1.0-0.dll" Modified: build/gtk-bundle-from-msys2.sh 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -217,6 +217,7 @@ cleanup_unnecessary_files() { rm -rf lib/lua rm -rf lib/p11-kit rm -rf lib/python2.7 + rm -rf lib/python3.6 find lib -name '*.h' -delete find lib -name '*.a' -delete find lib -name '*.typelib' -delete Modified: build/spellcheck.m4 32 lines changed, 27 insertions(+), 5 deletions(-) =================================================================== @@ -2,15 +2,37 @@ AC_DEFUN([GP_CHECK_SPELLCHECK], [ GP_ARG_DISABLE([spellcheck], [auto]) + ENCHANT_PACKAGE_NAME=enchant-2 ENCHANT_VERSION=1.3 - OPT_ENCHANT_VERSION=1.5 - PKG_CHECK_MODULES([ENCHANT], [enchant >= ${OPT_ENCHANT_VERSION}], - have_enchant_1_5=yes, - have_enchant_1_5=no) + ENCHANT_VERSION_1_5=1.5 + ENCHANT_VERSION_2_0=2.0 + ENCHANT_VERSION_2_2=2.2 + + # check for enchant package + PKG_CHECK_MODULES([ENCHANT_2_2], [${ENCHANT_PACKAGE_NAME} >= ${ENCHANT_VERSION_2_2}], + have_enchant_2_2=yes, + have_enchant_2_2=no) + if [[ x"$have_enchant_2_2" = "xyes" ]]; then + # we have got the new enchant-2 package + have_enchant_1_5=yes + have_enchant_2_0=yes + else + # check for old enchant package + PKG_CHECK_MODULES([ENCHANT_1_5], [enchant >= ${ENCHANT_VERSION_1_5}], + have_enchant_1_5=yes, + have_enchant_1_5=no) + PKG_CHECK_MODULES([ENCHANT_2_0], [enchant >= ${ENCHANT_VERSION_2_0}], + have_enchant_2_0=yes, + have_enchant_2_0=no) + + ENCHANT_PACKAGE_NAME=enchant + fi + GP_CHECK_PLUGIN_DEPS([spellcheck], [ENCHANT], - [enchant >= ${ENCHANT_VERSION}]) + [${ENCHANT_PACKAGE_NAME} >= ${ENCHANT_VERSION}]) AM_CONDITIONAL([HAVE_ENCHANT_1_5], [test "$have_enchant_1_5" = yes]) + AM_CONDITIONAL([HAVE_ENCHANT_2_0], [test "$have_enchant_2_0" = yes]) GP_COMMIT_PLUGIN_STATUS([Spellcheck]) AC_CONFIG_FILES([ Modified: build/treebrowser.m4 6 lines changed, 0 insertions(+), 6 deletions(-) =================================================================== @@ -15,14 +15,8 @@ AC_DEFUN([GP_CHECK_TREEBROWSER], ]) fi - PKG_CHECK_MODULES([GIO], [gio-2.0], - [AC_DEFINE([HAVE_GIO], 1, [Whether we have GIO]) - have_gio=yes], - [have_gio=no]) - AM_CONDITIONAL(ENABLE_TREEBROWSER, test "x$enable_treebrowser" = "xyes") GP_COMMIT_PLUGIN_STATUS([TreeBrowser]) - GP_STATUS_FEATURE_ADD([TreeBrowser GIO support], [$have_gio]) AC_CONFIG_FILES([ treebrowser/Makefile Modified: build/workbench.m4 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -2,6 +2,7 @@ AC_DEFUN([GP_CHECK_WORKBENCH], [ GP_ARG_DISABLE([Workbench], [auto]) GP_CHECK_UTILSLIB([Workbench]) + GP_COMMIT_PLUGIN_STATUS([Workbench]) AC_CONFIG_FILES([ workbench/Makefile Modified: configure.ac 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -1,6 +1,6 @@ AC_PREREQ([2.61]) dnl Don't forget when updating version number to do GP_CHECK_GEANY also -AC_INIT([geany-plugins], [1.33]) +AC_INIT([geany-plugins], [1.34]) AM_INIT_AUTOMAKE([1.8 foreign dist-bzip2 tar-ustar subdir-objects]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) Modified: geanyctags/src/geanyctags.c 8 lines changed, 4 insertions(+), 4 deletions(-) =================================================================== @@ -221,8 +221,8 @@ on_generate_tags(GtkMenuItem *menuitem, gpointer user_data) #ifndef G_OS_WIN32 gchar *find_string = generate_find_string(prj); cmd = g_strconcat(find_string, - " | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f ", - tag_filename, NULL); + " | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f '", + tag_filename, "'", NULL); g_free(find_string); #else /* We don't have find and | on windows, generate tags for all files in the project (-R recursively) */ @@ -232,8 +232,8 @@ on_generate_tags(GtkMenuItem *menuitem, gpointer user_data) * refuses to overwrite it. Therefore, we need to delete the tags file manually. */ g_unlink(tag_filename); - cmd = g_strconcat("ctags.exe -R --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -f ", - tag_filename, NULL); + cmd = g_strconcat("ctags.exe -R --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -f \"", + tag_filename, "\"", NULL); #endif spawn_cmd(cmd, prj->base_path); Modified: geanyinsertnum/src/insertnum.c 4 lines changed, 2 insertions(+), 2 deletions(-) =================================================================== @@ -476,14 +476,14 @@ void plugin_init(G_GNUC_UNUSED GeanyData *data) step_value = 1; base_value = 10; - main_menu_item = gtk_menu_item_new_with_mnemonic(_("Insert _Numbers")); + main_menu_item = gtk_menu_item_new_with_mnemonic(_("Insert _Numbers...")); gtk_widget_show(main_menu_item); gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), main_menu_item); g_signal_connect(main_menu_item, "activate", G_CALLBACK(on_insert_numbers_activate), NULL); keybindings_set_item(plugin_key_group, INSERT_NUMBERS_KB, on_insert_numbers_key, - 0, 0, "insert_numbers", _("Insert Numbers"), main_menu_item); + 0, 0, "insert_numbers", _("Insert Numbers..."), main_menu_item); plugin_signal_connect(geany_plugin, G_OBJECT(geany->main_widgets->tools_menu), "show", FALSE, (GCallback) on_tools_show, NULL); Modified: geanylua/docs/geanylua-ref.html 60 lines changed, 46 insertions(+), 14 deletions(-) =================================================================== @@ -136,7 +136,7 @@ </tr> <tr class="odd"> - <td> function <a href="#newfile"><b>newfile</b></a> ( [filename] )<br></td> + <td> function <a href="#newfile"><b>newfile</b></a> ( [filename [, filetype] )<br></td> <td class="desc">-- Create a new document.</td> </tr> @@ -181,27 +181,27 @@ <td class="desc">-- Send a GTK signal to a Geany interface widget.</td> </tr> -<tr class="odd"> +<tr class="even"> <td> function <a href="#status"><b>status</b></a> ( message )<br></td> <td class="desc">-- Send a string to display in the status tab of the messages window.</td> </tr> -<tr class="even"> +<tr class="odd"> <td> function <a href="#text"><b>text</b></a> ( [content] )<br></td> <td class="desc">-- Get or set the contents of the entire document.</td> </tr> -<tr class="odd"> +<tr class="even"> <td> function <a href="#word"><b>word</b></a> ( [position] )<br></td> <td class="desc">-- Get the word at the specified location.</td> </tr> -<tr class="even"> +<tr class="odd"> <td> function <a href="#xsel"><b>xsel</b></a> ( [text] )<br></td> <td class="desc">-- Get or set the contents of the primary X selection.</td> </tr> -<tr class="odd"> +<tr class="even"> <td> function <a href="#yield"><b>yield</b></a> ()<br></td> <td class="desc">-- Refreshes the user interface.</td> </tr> @@ -267,18 +267,22 @@ <td class="desc">-- Run a script without the debug hook.</td> </tr> <tr class="odd"> + <td> function <a href="#reloadconf"><b>reloadconf</b></a> ()<br></td> + <td class="desc">-- Reload Configuration.</td> +</tr> +<tr class="even"> <td> function <a href="#rescan"><b>rescan</b></a> ()<br></td> <td class="desc">-- Regenerate the scripts menu.</td> </tr> -<tr class="even"> +<tr class="odd"> <td> function <a href="#stat"><b>stat</b></a> ( filename [, lstat] )<br></td> <td class="desc">-- Retrieve some information about a disk file.</td> </tr> -<tr class="odd"> +<tr class="even"> <td> function <a href="#timeout"><b>timeout</b></a> ( seconds )<br></td> <td class="desc">-- Control maximum time allowed for script execution.</td> </tr> -<tr class="even"> +<tr class="odd"> <td> function <a href="#wkdir"><b>wkdir</b></a> ( [folder] )<br></td> <td class="desc">-- Get or set the current working directory.</td> </tr> @@ -756,11 +760,22 @@ <br><br> -<a name="newfile"></a><hr><h3><tt>geany.newfile ( [filename] )</tt></h3><p> -When called with one argument, creates a new document with the specified -<tt>filename</tt>. </p><p>When called with no arguments, creates a new, untitled document. -</p><br><br> - +<a name="newfile"></a><hr><h3><tt>geany.newfile ( [filename [, filetype] )</tt></h3><p> +<p>When called with no arguments, creates a new, untitled document.</p> +<p>When called with one argument, creates a new document with the specified <tt>filename</tt>.</p> +<p>When called with two argument, creates a new document with the specified +<tt>filename</tt> and <tt>filetype</tt> (a one-word description of the filetype, +e.g. "C" or "Python".). If you want untitled document then set <tt>filename</tt> as <tt>""</tt>.</p> +<p>So you can use it like this:</p> +<pre>local s = geany.selection(); + +if (s ~= "") and (s ~= nil) then + local t = geany.fileinfo(); + geany.newfile("", t.type); + geany.selection(s); +end</pre> +<p>(create a new, untitled document, with selected text and auto set filetype).</p> +<br><br> <a name="open"></a><hr><h3><tt>geany.open ( [filename]|[index] )</tt></h3><p> @@ -805,6 +820,23 @@ <br><br> +<a name="reloadconf"></a><hr><h3><tt>geany.reloadconf ()</tt></h3> +<p>This function will cause Geany to reload most of it's configuration files without restarting +(as menu item <b><i>Tools-><u>R</u>eload Configuration</i></b>).</p> +<!-- The list was copied from
https://geanypy.readthedocs.io/en/latest/api.html#geany.reload_configuration
--> +<p>Currently the following files are reloaded:</p> +<ul> +<li>all template files;</li> +<li>new file templates;</li> +<li>the New (with template) menus will be updated;</li> +<li>Snippets (snippets.conf);</li> +<li>filetype extensions (filetype_extensions.conf);</li> +<li><i>setting</i>s and <i>build_settings</i> sections of the filetype definition files.</li> +</ul> +<p>This function which can be used if you updated one of these configuration files, or modified or added template files.</p> +<br><br> + + <a name="rescan"></a><hr><h3><tt>geany.rescan ()</tt></h3><p> Scans the scripts folder, rebuilds the <b><i>Tools-><u>L</u>ua Scripts</i></b> menu, and re-initializes the GTK accelerator group (keybindings) associated with the plugin. Modified: geanylua/examples/edit/right-trim.lua 4 lines changed, 2 insertions(+), 2 deletions(-) =================================================================== @@ -5,9 +5,9 @@ local s=geany.text() -if (s and string.match(s, "[ \t]\n") ) +if (s and string.match(s, "[ \t][\r\n]") ) then - geany.text(string.gsub(s,"[ \t]+\n", "\n")) + geany.text(string.gsub(s,"([ \t]+)([\r\n]+)", "%2")) else geany.message("Right trim:", "Match not found.") end Modified: geanylua/glspi_app.c 36 lines changed, 22 insertions(+), 14 deletions(-) =================================================================== @@ -604,22 +604,30 @@ static gint glspi_keygrab(lua_State* L) } +static gint glspi_reloadconf(lua_State* L) +{ + main_reload_configuration(); + return 0; +} + + static const struct luaL_reg glspi_app_funcs[] = { - {"pluginver", glspi_pluginver}, - {"appinfo", glspi_appinfo}, - {"xsel", glspi_xsel}, - {"signal", glspi_signal}, - {"stat", glspi_stat}, - {"status", glspi_status}, - {"basename", glspi_basename}, - {"dirname", glspi_dirname}, - {"fullpath", glspi_fullpath}, - {"dirlist", glspi_dirlist}, - {"wkdir", glspi_wkdir}, - {"keycmd", glspi_keycmd}, - {"launch", glspi_launch}, - {"keygrab", glspi_keygrab}, + {"pluginver", glspi_pluginver}, + {"appinfo", glspi_appinfo}, + {"xsel", glspi_xsel}, + {"signal", glspi_signal}, + {"stat", glspi_stat}, + {"status", glspi_status}, + {"basename", glspi_basename}, + {"dirname", glspi_dirname}, + {"fullpath", glspi_fullpath}, + {"dirlist", glspi_dirlist}, + {"wkdir", glspi_wkdir}, + {"keycmd", glspi_keycmd}, + {"launch", glspi_launch}, + {"keygrab", glspi_keygrab}, + {"reloadconf", glspi_reloadconf}, {NULL,NULL} }; Modified: geanylua/glspi_doc.c 17 lines changed, 14 insertions(+), 3 deletions(-) =================================================================== @@ -32,12 +32,23 @@ static gint glspi_filename(lua_State* L) static gint glspi_newfile(lua_State* L) { const gchar *fn=NULL; - if (lua_gettop(L)>0) { + GeanyFiletype *ft=NULL; + switch (lua_gettop(L)) { + case 0: break; + case 2: + if (!lua_isstring(L, 2)) { return FAIL_STRING_ARG(2); } + const gchar *tmp=lua_tostring(L, 2); + if ( '\0' == tmp[0] ) { + ft=NULL; + } else { + ft=filetypes_lookup_by_name(tmp); + } + default: if (!lua_isstring(L, 1)) { return FAIL_STRING_ARG(1); } fn=lua_tostring(L, 1); - if ( '\0' == fn[0] ) { fn = NULL; } + if ( '\0' == fn[0] ) { fn=NULL; } } - document_new_file(fn, NULL, NULL); + document_new_file(fn, ft, NULL); return 0; } Modified: geanylua/glspi_keycmd.h 204 lines changed, 128 insertions(+), 76 deletions(-) =================================================================== @@ -18,103 +18,155 @@ typedef struct _KeyCmdHashEntry { static KeyCmdHashEntry key_cmd_hash_entries[] = { + {"BUILD_COMPILE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_COMPILE}, + {"BUILD_LINK", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_LINK}, + {"BUILD_MAKE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKE}, + {"BUILD_MAKEOBJECT", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOBJECT}, + {"BUILD_MAKEOWNTARGET", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOWNTARGET}, + {"BUILD_NEXTERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_NEXTERROR}, + {"BUILD_OPTIONS", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_OPTIONS}, + {"BUILD_PREVIOUSERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_PREVIOUSERROR}, + {"BUILD_RUN", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_RUN}, + {"CLIPBOARD_COPY", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPY}, + {"CLIPBOARD_COPYLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPYLINE}, + {"CLIPBOARD_CUT", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUT}, + {"CLIPBOARD_CUTLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUTLINE}, + {"CLIPBOARD_PASTE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_PASTE}, + {"COUNT", GEANY_KEY_GROUP_COUNT, GEANY_KEYS_COUNT}, + {"DOCUMENT_CLONE", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_CLONE}, + {"DOCUMENT_FOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_FOLDALL}, + {"DOCUMENT_LINEBREAK", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_LINEBREAK}, + {"DOCUMENT_LINEWRAP", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_LINEWRAP}, + {"DOCUMENT_RELOADTAGLIST", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_RELOADTAGLIST}, + {"DOCUMENT_REMOVE_ERROR_INDICATORS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_ERROR_INDICATORS}, + {"DOCUMENT_REMOVE_MARKERS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_MARKERS}, + {"DOCUMENT_REMOVE_MARKERS_INDICATORS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_MARKERS_INDICATORS}, + {"DOCUMENT_REPLACESPACES", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACESPACES}, + {"DOCUMENT_REPLACETABS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACETABS}, + {"DOCUMENT_TOGGLEFOLD", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_TOGGLEFOLD}, + {"DOCUMENT_UNFOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_UNFOLDALL}, + {"EDITOR_AUTOCOMPLETE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_AUTOCOMPLETE}, + {"EDITOR_CALLTIP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CALLTIP}, + {"EDITOR_COMPLETESNIPPET", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_COMPLETESNIPPET}, + {"EDITOR_CONTEXTACTION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CONTEXTACTION}, + {"EDITOR_DELETELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINE}, + {"EDITOR_DELETELINETOBEGINNING", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINETOBEGINNING}, + {"EDITOR_DELETELINETOEND", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINETOEND}, + {"EDITOR_DUPLICATELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DUPLICATELINE}, + {"EDITOR_MACROLIST", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MACROLIST}, + {"EDITOR_MOVELINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEDOWN}, + {"EDITOR_MOVELINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEUP}, + {"EDITOR_REDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_REDO}, + {"EDITOR_SCROLLLINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEDOWN}, + {"EDITOR_SCROLLLINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEUP}, + {"EDITOR_SCROLLTOLINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLTOLINE}, + {"EDITOR_SNIPPETNEXTCURSOR", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SNIPPETNEXTCURSOR}, + {"EDITOR_SUPPRESSSNIPPETCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION}, + {"EDITOR_TRANSPOSELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_TRANSPOSELINE}, + {"EDITOR_UNDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_UNDO}, + {"EDITOR_WORDPARTCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_WORDPARTCOMPLETION}, + {"FILE_CLOSE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSE}, + {"FILE_CLOSEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSEALL}, {"FILE_NEW", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_NEW}, {"FILE_OPEN", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPEN}, + {"FILE_OPENLASTTAB", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPENLASTTAB}, {"FILE_OPENSELECTED", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPENSELECTED}, - {"FILE_SAVE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVE}, - {"FILE_SAVEAS", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEAS}, - {"FILE_SAVEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEALL}, {"FILE_PRINT", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_PRINT}, - {"FILE_CLOSE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSE}, - {"FILE_CLOSEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSEALL}, + {"FILE_PROPERTIES", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_PROPERTIES}, + {"FILE_QUIT", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_QUIT}, {"FILE_RELOAD", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_RELOAD}, - {"PROJECT_PROPERTIES", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_PROPERTIES}, - {"EDITOR_UNDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_UNDO}, - {"EDITOR_REDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_REDO}, - {"EDITOR_DELETELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINE}, - {"EDITOR_DUPLICATELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DUPLICATELINE}, - {"EDITOR_TRANSPOSELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_TRANSPOSELINE}, - {"EDITOR_SCROLLTOLINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLTOLINE}, - {"EDITOR_SCROLLLINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEUP}, - {"EDITOR_SCROLLLINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEDOWN}, - {"EDITOR_COMPLETESNIPPET", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_COMPLETESNIPPET}, - {"EDITOR_SUPPRESSSNIPPETCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION}, - {"EDITOR_CONTEXTACTION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CONTEXTACTION}, - {"EDITOR_AUTOCOMPLETE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_AUTOCOMPLETE}, - {"EDITOR_CALLTIP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CALLTIP}, - {"EDITOR_MACROLIST", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MACROLIST}, - {"CLIPBOARD_CUT", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUT}, - {"CLIPBOARD_COPY", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPY}, - {"CLIPBOARD_PASTE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_PASTE}, - {"CLIPBOARD_CUTLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUTLINE}, - {"CLIPBOARD_COPYLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPYLINE}, - {"SELECT_ALL", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_ALL}, - {"SELECT_WORD", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORD}, - {"SELECT_LINE", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_LINE}, - {"SELECT_PARAGRAPH", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_PARAGRAPH}, - {"FORMAT_TOGGLECASE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_TOGGLECASE}, - {"FORMAT_COMMENTLINETOGGLE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINETOGGLE}, + {"FILE_SAVE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVE}, + {"FILE_SAVEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEALL}, + {"FILE_SAVEAS", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEAS}, + {"FOCUS_COMPILER", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_COMPILER}, + {"FOCUS_EDITOR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_EDITOR}, + {"FOCUS_MESSAGES", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_MESSAGES}, + {"FOCUS_MESSAGE_WINDOW", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_MESSAGE_WINDOW}, + {"FOCUS_SCRIBBLE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SCRIBBLE}, + {"FOCUS_SEARCHBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SEARCHBAR}, + {"FOCUS_SIDEBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR}, + {"FOCUS_SIDEBAR_DOCUMENT_LIST", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR_DOCUMENT_LIST}, + {"FOCUS_SIDEBAR_SYMBOL_LIST", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR_SYMBOL_LIST}, + {"FOCUS_VTE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_VTE}, + {"FORMAT_AUTOINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_AUTOINDENT}, {"FORMAT_COMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINE}, - {"FORMAT_UNCOMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_UNCOMMENTLINE}, - {"FORMAT_INCREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENT}, + {"FORMAT_COMMENTLINETOGGLE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINETOGGLE}, {"FORMAT_DECREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_DECREASEINDENT}, - {"FORMAT_INCREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE}, {"FORMAT_DECREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_DECREASEINDENTBYSPACE}, - {"FORMAT_AUTOINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_AUTOINDENT}, + {"FORMAT_INCREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENT}, + {"FORMAT_INCREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE}, + {"FORMAT_JOINLINES", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_JOINLINES}, + {"FORMAT_REFLOWPARAGRAPH", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_REFLOWPARAGRAPH}, {"FORMAT_SENDTOCMD1", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD1}, {"FORMAT_SENDTOCMD2", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD2}, {"FORMAT_SENDTOCMD3", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD3}, - {"INSERT_DATE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_DATE}, - {"INSERT_ALTWHITESPACE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_ALTWHITESPACE}, - {"SETTINGS_PREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PREFERENCES}, - {"SEARCH_FIND", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FIND}, - {"SEARCH_FINDNEXT", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXT}, - {"SEARCH_FINDPREVIOUS", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVIOUS}, - {"SEARCH_FINDINFILES", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDINFILES}, - {"SEARCH_REPLACE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_REPLACE}, - {"SEARCH_FINDNEXTSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXTSEL}, - {"SEARCH_FINDPREVSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVSEL}, - {"SEARCH_NEXTMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_NEXTMESSAGE}, - {"SEARCH_FINDUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDUSAGE}, - {"GOTO_FORWARD", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_FORWARD}, + {"FORMAT_SENDTOCMD4", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD4}, + {"FORMAT_SENDTOCMD5", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD5}, + {"FORMAT_SENDTOCMD6", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD6}, + {"FORMAT_SENDTOCMD7", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD7}, + {"FORMAT_SENDTOCMD8", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD8}, + {"FORMAT_SENDTOCMD9", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD9}, + {"FORMAT_SENDTOVTE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOVTE}, + {"FORMAT_TOGGLECASE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_TOGGLECASE}, + {"FORMAT_UNCOMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_UNCOMMENTLINE}, {"GOTO_BACK", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_BACK}, + {"GOTO_FORWARD", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_FORWARD}, {"GOTO_LINE", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINE}, + {"GOTO_LINEEND", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINEEND}, + {"GOTO_LINEENDVISUAL", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINEENDVISUAL}, + {"GOTO_LINESTART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINESTART}, + {"GOTO_LINESTARTVISUAL", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINESTARTVISUAL}, {"GOTO_MATCHINGBRACE", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_MATCHINGBRACE}, - {"GOTO_TOGGLEMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TOGGLEMARKER}, {"GOTO_NEXTMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_NEXTMARKER}, + {"GOTO_NEXTWORDPART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_NEXTWORDPART}, {"GOTO_PREVIOUSMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_PREVIOUSMARKER}, - {"GOTO_TAGDEFINITION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDEFINITION}, + {"GOTO_PREVWORDPART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_PREVWORDPART}, {"GOTO_TAGDECLARATION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDECLARATION}, - {"VIEW_TOGGLEALL", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_TOGGLEALL}, + {"GOTO_TAGDEFINITION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDEFINITION}, + {"GOTO_TOGGLEMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TOGGLEMARKER}, + {"HELP_HELP", GEANY_KEY_GROUP_HELP, GEANY_KEYS_HELP_HELP}, + {"INSERT_ALTWHITESPACE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_ALTWHITESPACE}, + {"INSERT_DATE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_DATE}, + {"INSERT_LINEAFTER", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_LINEAFTER}, + {"INSERT_LINEBEFORE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_LINEBEFORE}, + {"NOTEBOOK_MOVETABFIRST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABFIRST}, + {"NOTEBOOK_MOVETABLAST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLAST}, + {"NOTEBOOK_MOVETABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLEFT}, + {"NOTEBOOK_MOVETABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABRIGHT}, + {"NOTEBOOK_SWITCHTABLASTUSED", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED}, + {"NOTEBOOK_SWITCHTABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT}, + {"NOTEBOOK_SWITCHTABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT}, + {"PROJECT_CLOSE", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_CLOSE}, + {"PROJECT_NEW", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_NEW}, + {"PROJECT_OPEN", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_OPEN}, + {"PROJECT_PROPERTIES", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_PROPERTIES}, + {"SEARCH_FIND", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FIND}, + {"SEARCH_FINDDOCUMENTUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDDOCUMENTUSAGE}, + {"SEARCH_FINDINFILES", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDINFILES}, + {"SEARCH_FINDNEXT", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXT}, + {"SEARCH_FINDNEXTSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXTSEL}, + {"SEARCH_FINDPREVIOUS", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVIOUS}, + {"SEARCH_FINDPREVSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVSEL}, + {"SEARCH_FINDUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDUSAGE}, + {"SEARCH_MARKALL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_MARKALL}, + {"SEARCH_NEXTMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_NEXTMESSAGE}, + {"SEARCH_PREVIOUSMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_PREVIOUSMESSAGE}, + {"SEARCH_REPLACE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_REPLACE}, + {"SELECT_ALL", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_ALL}, + {"SELECT_LINE", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_LINE}, + {"SELECT_PARAGRAPH", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_PARAGRAPH}, + {"SELECT_WORD", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORD}, + {"SELECT_WORDPARTLEFT", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORDPARTLEFT}, + {"SELECT_WORDPARTRIGHT", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORDPARTRIGHT}, + {"SETTINGS_PLUGINPREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PLUGINPREFERENCES}, + {"SETTINGS_PREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PREFERENCES}, + {"TOOLS_OPENCOLORCHOOSER", GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER}, {"VIEW_FULLSCREEN", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_FULLSCREEN}, {"VIEW_MESSAGEWINDOW", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_MESSAGEWINDOW}, {"VIEW_SIDEBAR", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_SIDEBAR}, + {"VIEW_TOGGLEALL", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_TOGGLEALL}, {"VIEW_ZOOMIN", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMIN}, {"VIEW_ZOOMOUT", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMOUT}, - {"FOCUS_EDITOR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_EDITOR}, - {"FOCUS_SCRIBBLE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SCRIBBLE}, - {"FOCUS_VTE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_VTE}, - {"FOCUS_SEARCHBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SEARCHBAR}, - {"NOTEBOOK_SWITCHTABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT}, - {"NOTEBOOK_SWITCHTABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT}, - {"NOTEBOOK_SWITCHTABLASTUSED", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED}, - {"NOTEBOOK_MOVETABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLEFT}, - {"NOTEBOOK_MOVETABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABRIGHT}, - {"NOTEBOOK_MOVETABFIRST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABFIRST}, - {"NOTEBOOK_MOVETABLAST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLAST}, - {"DOCUMENT_REPLACETABS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACETABS}, - {"DOCUMENT_FOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_FOLDALL}, - {"DOCUMENT_UNFOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_UNFOLDALL}, - {"DOCUMENT_RELOADTAGLIST", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_RELOADTAGLIST}, - {"BUILD_COMPILE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_COMPILE}, - {"BUILD_LINK", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_LINK}, - {"BUILD_MAKE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKE}, - {"BUILD_MAKEOWNTARGET", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOWNTARGET}, - {"BUILD_MAKEOBJECT", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOBJECT}, - {"BUILD_NEXTERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_NEXTERROR}, - {"BUILD_RUN", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_RUN}, - {"BUILD_OPTIONS", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_OPTIONS}, - {"TOOLS_OPENCOLORCHOOSER", GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER}, - {"HELP_HELP", GEANY_KEY_GROUP_HELP, GEANY_KEYS_HELP_HELP}, + {"VIEW_ZOOMRESET", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMRESET}, {NULL, 0, 0} }; Modified: geanylua/glspi_sci.h 35 lines changed, 29 insertions(+), 6 deletions(-) =================================================================== @@ -57,6 +57,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETUNDOCOLLECTION", SLT_BOOL, SCI_GETUNDOCOLLECTION, SLT_VOID, SLT_VOID}, {"GETVIEWWS", SLT_INT, SCI_GETVIEWWS, SLT_VOID, SLT_VOID}, {"SETVIEWWS", SLT_VOID, SCI_SETVIEWWS, SLT_INT, SLT_VOID}, + {"GETTABDRAWMODE", SLT_INT, SCI_GETTABDRAWMODE, SLT_VOID, SLT_VOID}, + {"SETTABDRAWMODE", SLT_VOID, SCI_SETTABDRAWMODE, SLT_INT, SLT_VOID}, {"POSITIONFROMPOINT", SLT_INT, SCI_POSITIONFROMPOINT, SLT_INT, SLT_INT}, {"POSITIONFROMPOINTCLOSE", SLT_INT, SCI_POSITIONFROMPOINTCLOSE, SLT_INT, SLT_INT}, {"GOTOLINE", SLT_VOID, SCI_GOTOLINE, SLT_INT, SLT_VOID}, @@ -103,6 +105,10 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETMARGINSENSITIVEN", SLT_BOOL, SCI_GETMARGINSENSITIVEN, SLT_INT, SLT_VOID}, {"SETMARGINCURSORN", SLT_VOID, SCI_SETMARGINCURSORN, SLT_INT, SLT_INT}, {"GETMARGINCURSORN", SLT_INT, SCI_GETMARGINCURSORN, SLT_INT, SLT_VOID}, + {"SETMARGINBACKN", SLT_VOID, SCI_SETMARGINBACKN, SLT_INT, SLT_INT}, + {"GETMARGINBACKN", SLT_INT, SCI_GETMARGINBACKN, SLT_INT, SLT_VOID}, + {"SETMARGINS", SLT_VOID, SCI_SETMARGINS, SLT_INT, SLT_VOID}, + {"GETMARGINS", SLT_INT, SCI_GETMARGINS, SLT_VOID, SLT_VOID}, {"STYLECLEARALL", SLT_VOID, SCI_STYLECLEARALL, SLT_VOID, SLT_VOID}, {"STYLESETFORE", SLT_VOID, SCI_STYLESETFORE, SLT_INT, SLT_INT}, {"STYLESETBACK", SLT_VOID, SCI_STYLESETBACK, SLT_INT, SLT_INT}, @@ -176,6 +182,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"SETCARETLINEVISIBLE", SLT_VOID, SCI_SETCARETLINEVISIBLE, SLT_BOOL, SLT_VOID}, {"GETCARETLINEBACK", SLT_INT, SCI_GETCARETLINEBACK, SLT_VOID, SLT_VOID}, {"SETCARETLINEBACK", SLT_VOID, SCI_SETCARETLINEBACK, SLT_INT, SLT_VOID}, + {"GETCARETLINEFRAME", SLT_INT, SCI_GETCARETLINEFRAME, SLT_VOID, SLT_VOID}, + {"SETCARETLINEFRAME", SLT_VOID, SCI_SETCARETLINEFRAME, SLT_INT, SLT_VOID}, {"STYLESETCHANGEABLE", SLT_VOID, SCI_STYLESETCHANGEABLE, SLT_INT, SLT_BOOL}, {"AUTOCSHOW", SLT_VOID, SCI_AUTOCSHOW, SLT_INT, SLT_STRING}, {"AUTOCCANCEL", SLT_VOID, SCI_AUTOCCANCEL, SLT_VOID, SLT_VOID}, @@ -282,6 +290,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETTARGETEND", SLT_INT, SCI_GETTARGETEND, SLT_VOID, SLT_VOID}, {"SETTARGETRANGE", SLT_VOID, SCI_SETTARGETRANGE, SLT_INT, SLT_INT}, {"GETTARGETTEXT", SLT_INT, SCI_GETTARGETTEXT, SLT_VOID, SLT_STRINGRESULT}, + {"TARGETFROMSELECTION", SLT_VOID, SCI_TARGETFROMSELECTION, SLT_VOID, SLT_VOID}, + {"TARGETWHOLEDOCUMENT", SLT_VOID, SCI_TARGETWHOLEDOCUMENT, SLT_VOID, SLT_VOID}, {"REPLACETARGET", SLT_INT, SCI_REPLACETARGET, SLT_INT, SLT_STRING}, {"REPLACETARGETRE", SLT_INT, SCI_REPLACETARGETRE, SLT_INT, SLT_STRING}, {"SEARCHINTARGET", SLT_INT, SCI_SEARCHINTARGET, SLT_INT, SLT_STRING}, @@ -312,6 +322,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"SETFOLDEXPANDED", SLT_VOID, SCI_SETFOLDEXPANDED, SLT_INT, SLT_BOOL}, {"GETFOLDEXPANDED", SLT_BOOL, SCI_GETFOLDEXPANDED, SLT_INT, SLT_VOID}, {"TOGGLEFOLD", SLT_VOID, SCI_TOGGLEFOLD, SLT_INT, SLT_VOID}, + {"TOGGLEFOLDSHOWTEXT", SLT_VOID, SCI_TOGGLEFOLDSHOWTEXT, SLT_INT, SLT_STRING}, + {"FOLDDISPLAYTEXTSETSTYLE", SLT_VOID, SCI_FOLDDISPLAYTEXTSETSTYLE, SLT_INT, SLT_VOID}, {"FOLDLINE", SLT_VOID, SCI_FOLDLINE, SLT_INT, SLT_INT}, {"FOLDCHILDREN", SLT_VOID, SCI_FOLDCHILDREN, SLT_INT, SLT_INT}, {"EXPANDCHILDREN", SLT_VOID, SCI_EXPANDCHILDREN, SLT_INT, SLT_INT}, @@ -329,6 +341,9 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETMOUSEDWELLTIME", SLT_INT, SCI_GETMOUSEDWELLTIME, SLT_VOID, SLT_VOID}, {"WORDSTARTPOSITION", SLT_INT, SCI_WORDSTARTPOSITION, SLT_INT, SLT_BOOL}, {"WORDENDPOSITION", SLT_INT, SCI_WORDENDPOSITION, SLT_INT, SLT_BOOL}, + {"ISRANGEWORD", SLT_BOOL, SCI_ISRANGEWORD, SLT_INT, SLT_INT}, + {"SETIDLESTYLING", SLT_VOID, SCI_SETIDLESTYLING, SLT_INT, SLT_VOID}, + {"GETIDLESTYLING", SLT_INT, SCI_GETIDLESTYLING, SLT_VOID, SLT_VOID}, {"SETWRAPMODE", SLT_VOID, SCI_SETWRAPMODE, SLT_INT, SLT_VOID}, {"GETWRAPMODE", SLT_INT, SCI_GETWRAPMODE, SLT_VOID, SLT_VOID}, {"SETWRAPVISUALFLAGS", SLT_VOID, SCI_SETWRAPVISUALFLAGS, SLT_INT, SLT_VOID}, @@ -362,11 +377,12 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"SETMULTIPASTE", SLT_VOID, SCI_SETMULTIPASTE, SLT_INT, SLT_VOID}, {"GETMULTIPASTE", SLT_INT, SCI_GETMULTIPASTE, SLT_VOID, SLT_VOID}, {"GETTAG", SLT_INT, SCI_GETTAG, SLT_INT, SLT_STRINGRESULT}, - {"TARGETFROMSELECTION", SLT_VOID, SCI_TARGETFROMSELECTION, SLT_VOID, SLT_VOID}, {"LINESJOIN", SLT_VOID, SCI_LINESJOIN, SLT_VOID, SLT_VOID}, {"LINESSPLIT", SLT_VOID, SCI_LINESSPLIT, SLT_INT, SLT_VOID}, {"SETFOLDMARGINCOLOUR", SLT_VOID, SCI_SETFOLDMARGINCOLOUR, SLT_BOOL, SLT_INT}, {"SETFOLDMARGINHICOLOUR", SLT_VOID, SCI_SETFOLDMARGINHICOLOUR, SLT_BOOL, SLT_INT}, + {"SETACCESSIBILITY", SLT_VOID, SCI_SETACCESSIBILITY, SLT_INT, SLT_VOID}, + {"GETACCESSIBILITY", SLT_INT, SCI_GETACCESSIBILITY, SLT_VOID, SLT_VOID}, {"LINEDOWN", SLT_VOID, SCI_LINEDOWN, SLT_VOID, SLT_VOID}, {"LINEDOWNEXTEND", SLT_VOID, SCI_LINEDOWNEXTEND, SLT_VOID, SLT_VOID}, {"LINEUP", SLT_VOID, SCI_LINEUP, SLT_VOID, SLT_VOID}, @@ -408,6 +424,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"LINECUT", SLT_VOID, SCI_LINECUT, SLT_VOID, SLT_VOID}, {"LINEDELETE", SLT_VOID, SCI_LINEDELETE, SLT_VOID, SLT_VOID}, {"LINETRANSPOSE", SLT_VOID, SCI_LINETRANSPOSE, SLT_VOID, SLT_VOID}, + {"LINEREVERSE", SLT_VOID, SCI_LINEREVERSE, SLT_VOID, SLT_VOID}, {"LINEDUPLICATE", SLT_VOID, SCI_LINEDUPLICATE, SLT_VOID, SLT_VOID}, {"LOWERCASE", SLT_VOID, SCI_LOWERCASE, SLT_VOID, SLT_VOID}, {"UPPERCASE", SLT_VOID, SCI_UPPERCASE, SLT_VOID, SLT_VOID}, @@ -431,7 +448,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"BRACEHIGHLIGHTINDICATOR", SLT_VOID, SCI_BRACEHIGHLIGHTINDICATOR, SLT_BOOL, SLT_INT}, {"BRACEBADLIGHT", SLT_VOID, SCI_BRACEBADLIGHT, SLT_INT, SLT_VOID}, {"BRACEBADLIGHTINDICATOR", SLT_VOID, SCI_BRACEBADLIGHTINDICATOR, SLT_BOOL, SLT_INT}, - {"BRACEMATCH", SLT_INT, SCI_BRACEMATCH, SLT_INT, SLT_VOID}, + {"BRACEMATCH", SLT_INT, SCI_BRACEMATCH, SLT_INT, SLT_INT}, {"GETVIEWEOL", SLT_BOOL, SCI_GETVIEWEOL, SLT_VOID, SLT_VOID}, {"SETVIEWEOL", SLT_VOID, SCI_SETVIEWEOL, SLT_BOOL, SLT_VOID}, {"GETDOCPOINTER", SLT_INT, SCI_GETDOCPOINTER, SLT_VOID, SLT_VOID}, @@ -443,11 +460,13 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"SETEDGEMODE", SLT_VOID, SCI_SETEDGEMODE, SLT_INT, SLT_VOID}, {"GETEDGECOLOUR", SLT_INT, SCI_GETEDGECOLOUR, SLT_VOID, SLT_VOID}, {"SETEDGECOLOUR", SLT_VOID, SCI_SETEDGECOLOUR, SLT_INT, SLT_VOID}, + {"MULTIEDGEADDLINE", SLT_VOID, SCI_MULTIEDGEADDLINE, SLT_INT, SLT_INT}, + {"MULTIEDGECLEARALL", SLT_VOID, SCI_MULTIEDGECLEARALL, SLT_VOID, SLT_VOID}, {"SEARCHANCHOR", SLT_VOID, SCI_SEARCHANCHOR, SLT_VOID, SLT_VOID}, {"SEARCHNEXT", SLT_INT, SCI_SEARCHNEXT, SLT_INT, SLT_STRING}, {"SEARCHPREV", SLT_INT, SCI_SEARCHPREV, SLT_INT, SLT_STRING}, {"LINESONSCREEN", SLT_INT, SCI_LINESONSCREEN, SLT_VOID, SLT_VOID}, - {"USEPOPUP", SLT_VOID, SCI_USEPOPUP, SLT_BOOL, SLT_VOID}, + {"USEPOPUP", SLT_VOID, SCI_USEPOPUP, SLT_INT, SLT_VOID}, {"SELECTIONISRECTANGLE", SLT_BOOL, SCI_SELECTIONISRECTANGLE, SLT_VOID, SLT_VOID}, {"SETZOOM", SLT_VOID, SCI_SETZOOM, SLT_INT, SLT_VOID}, {"GETZOOM", SLT_INT, SCI_GETZOOM, SLT_VOID, SLT_VOID}, @@ -461,6 +480,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETSTATUS", SLT_INT, SCI_GETSTATUS, SLT_VOID, SLT_VOID}, {"SETMOUSEDOWNCAPTURES", SLT_VOID, SCI_SETMOUSEDOWNCAPTURES, SLT_BOOL, SLT_VOID}, {"GETMOUSEDOWNCAPTURES", SLT_BOOL, SCI_GETMOUSEDOWNCAPTURES, SLT_VOID, SLT_VOID}, + {"SETMOUSEWHEELCAPTURES", SLT_VOID, SCI_SETMOUSEWHEELCAPTURES, SLT_BOOL, SLT_VOID}, + {"GETMOUSEWHEELCAPTURES", SLT_BOOL, SCI_GETMOUSEWHEELCAPTURES, SLT_VOID, SLT_VOID}, {"SETCURSOR", SLT_VOID, SCI_SETCURSOR, SLT_INT, SLT_VOID}, {"GETCURSOR", SLT_INT, SCI_GETCURSOR, SLT_VOID, SLT_VOID}, {"SETCONTROLCHARSYMBOL", SLT_VOID, SCI_SETCONTROLCHARSYMBOL, SLT_INT, SLT_VOID}, @@ -612,8 +633,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETSELECTIONS", SLT_INT, SCI_GETSELECTIONS, SLT_VOID, SLT_VOID}, {"GETSELECTIONEMPTY", SLT_BOOL, SCI_GETSELECTIONEMPTY, SLT_VOID, SLT_VOID}, {"CLEARSELECTIONS", SLT_VOID, SCI_CLEARSELECTIONS, SLT_VOID, SLT_VOID}, - {"SETSELECTION", SLT_INT, SCI_SETSELECTION, SLT_INT, SLT_INT}, - {"ADDSELECTION", SLT_INT, SCI_ADDSELECTION, SLT_INT, SLT_INT}, + {"SETSELECTION", SLT_VOID, SCI_SETSELECTION, SLT_INT, SLT_INT}, + {"ADDSELECTION", SLT_VOID, SCI_ADDSELECTION, SLT_INT, SLT_INT}, {"DROPSELECTIONN", SLT_VOID, SCI_DROPSELECTIONN, SLT_INT, SLT_VOID}, {"SETMAINSELECTION", SLT_VOID, SCI_SETMAINSELECTION, SLT_INT, SLT_VOID}, {"GETMAINSELECTION", SLT_INT, SCI_GETMAINSELECTION, SLT_VOID, SLT_VOID}, @@ -649,6 +670,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"GETADDITIONALCARETFORE", SLT_INT, SCI_GETADDITIONALCARETFORE, SLT_VOID, SLT_VOID}, {"ROTATESELECTION", SLT_VOID, SCI_ROTATESELECTION, SLT_VOID, SLT_VOID}, {"SWAPMAINANCHORCARET", SLT_VOID, SCI_SWAPMAINANCHORCARET, SLT_VOID, SLT_VOID}, + {"MULTIPLESELECTADDNEXT", SLT_VOID, SCI_MULTIPLESELECTADDNEXT, SLT_VOID, SLT_VOID}, + {"MULTIPLESELECTADDEACH", SLT_VOID, SCI_MULTIPLESELECTADDEACH, SLT_VOID, SLT_VOID}, {"CHANGELEXERSTATE", SLT_INT, SCI_CHANGELEXERSTATE, SLT_INT, SLT_INT}, {"CONTRACTEDFOLDNEXT", SLT_INT, SCI_CONTRACTEDFOLDNEXT, SLT_INT, SLT_VOID}, {"VERTICALCENTRECARET", SLT_VOID, SCI_VERTICALCENTRECARET, SLT_VOID, SLT_VOID}, @@ -690,7 +713,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = { {"LOADLEXERLIBRARY", SLT_VOID, SCI_LOADLEXERLIBRARY, SLT_VOID, SLT_STRING}, {"GETPROPERTY", SLT_INT, SCI_GETPROPERTY, SLT_STRING, SLT_STRINGRESULT}, {"GETPROPERTYEXPANDED", SLT_INT, SCI_GETPROPERTYEXPANDED, SLT_STRING, SLT_STRINGRESULT}, - {"GETPROPERTYINT", SLT_INT, SCI_GETPROPERTYINT, SLT_STRING, SLT_VOID}, + {"GETPROPERTYINT", SLT_INT, SCI_GETPROPERTYINT, SLT_STRING, SLT_INT}, {"GETSTYLEBITSNEEDED", SLT_INT, SCI_GETSTYLEBITSNEEDED, SLT_VOID, SLT_VOID}, {"GETLEXERLANGUAGE", SLT_INT, SCI_GETLEXERLANGUAGE, SLT_VOID, SLT_STRINGRESULT}, {"PRIVATELEXERCALL", SLT_INT, SCI_PRIVATELEXERCALL, SLT_INT, SLT_INT}, Modified: geanylua/keywords.list 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -7,4 +7,4 @@ word5=0xf0a000;0xffffff;false;false ## Put this in the [keywords] section: -user1=geany.activate geany.appinfo geany.banner geany.basename geany.batch geany.byte geany.caller geany.caret geany.choose geany.close geany.confirm geany.copy geany.count geany.cut geany.dirlist geany.dirname geany.dirsep geany.documents geany.fileinfo geany.filename geany.find geany.fullpath geany.height geany.input geany.keycmd geany.keygrab geany.launch geany.length geany.lines geany.match geany.message geany.navigate geany.newfile geany.open geany.optimize geany.paste geany.pickfile geany.pluginver geany.rectsel geany.rescan geany.rowcol geany.save geany.scintilla geany.script geany.select geany.selection geany.signal geany.stat geany.status geany.text geany.timeout geany.wkdir geany.word geany.wordchars geany.xsel geany.yield dialog.checkbox dialog.color dialog.file dialog.font dialog.group dialog.heading dialog.hr dialog.label dialog.new dialog.option dialog.password dialog.radio dialog.run dialog.select dialog.text dialog.textarea keyfile.comment keyfile.data keyfile.groups keyfile.has keyfile.keys keyfile.new keyfile.remove keyfile.value +user1=geany.activate geany.appinfo geany.banner geany.basename geany.batch geany.byte geany.caller geany.caret geany.choose geany.close geany.confirm geany.copy geany.count geany.cut geany.dirlist geany.dirname geany.dirsep geany.documents geany.fileinfo geany.filename geany.find geany.fullpath geany.height geany.input geany.keycmd geany.keygrab geany.launch geany.length geany.lines geany.match geany.message geany.navigate geany.newfile geany.open geany.optimize geany.paste geany.pickfile geany.pluginver geany.rectsel geany.reloadconf geany.rescan geany.rowcol geany.save geany.scintilla geany.script geany.select geany.selection geany.signal geany.stat geany.status geany.text geany.timeout geany.wkdir geany.word geany.wordchars geany.xsel geany.yield dialog.checkbox dialog.color dialog.file dialog.font dialog.group dialog.heading dialog.hr dialog.label dialog.new dialog.option dialog.password dialog.radio dialog.run dialog.select dialog.text dialog.textarea keyfile.comment keyfile.data keyfile.groups keyfile.has keyfile.keys keyfile.new keyfile.remove keyfile.value Modified: geanylua/util/mk-keytab.lua 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -54,7 +54,7 @@ print( print("typedef struct _KeyCmdHashEntry {") -print("\tgchar *name;") +print("\tconst gchar *name;") print("\tguint group;") print("\tguint key_id;") print("} KeyCmdHashEntry;") Modified: geanyprj/src/geanyprj.c 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -36,7 +36,7 @@ PLUGIN_VERSION_CHECK(224) PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, - "GeanyPrj", _("Alternative project support. \nThis plugin currently" + "GeanyPrj", _("Alternative project support. \nThis plugin currently " "has no maintainer. Would you like to help by contributing " "to this plugin?"), VERSION, Modified: geanyvc/src/geanyvc.c 111 lines changed, 68 insertions(+), 43 deletions(-) =================================================================== @@ -82,6 +82,8 @@ static gboolean set_maximize_commit_dialog; static gboolean set_external_diff; static gboolean set_editor_menu_entries; static gboolean set_menubar_entry; +static gint commit_dialog_width = 0; +static gint commit_dialog_height = 0; static gchar *config_file; @@ -1598,6 +1600,8 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer else { gtk_widget_set_size_request(commit, 700, 500); + gtk_window_set_default_size(GTK_WINDOW(commit), + commit_dialog_width, commit_dialog_height); } gtk_widget_show_now(commit); @@ -1635,6 +1639,9 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer } g_free(message); } + /* remember commit dialog widget size */ + gtk_window_get_size(GTK_WINDOW(commit), + &commit_dialog_width, &commit_dialog_height); gtk_widget_destroy(commit); free_commit_list(lst); @@ -1785,16 +1792,66 @@ static struct } widgets; +static void +save_config(void) +{ + GKeyFile *config = g_key_file_new(); + gchar *config_dir = g_path_get_dirname(config_file); + + g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); + + g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag); + g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation); + g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff); + g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog", + set_maximize_commit_dialog); + g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries); + g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry); + + g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs); + g_key_file_set_boolean(config, "VC", "enable_git", enable_git); + g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn); + g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk); + g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr); + g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg); + +#ifdef USE_GTKSPELL + g_key_file_set_string(config, "VC", "spellchecking_language", lang); +#endif + + if (commit_dialog_width > 0 && commit_dialog_height > 0) + { + g_key_file_set_integer(config, "CommitDialog", + "commit_dialog_width", commit_dialog_width); + g_key_file_set_integer(config, "CommitDialog", + "commit_dialog_height", commit_dialog_height); + } + + if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR) + && utils_mkdir(config_dir, TRUE) != 0) + { + dialogs_show_msgbox(GTK_MESSAGE_ERROR, + _ + ("Plugin configuration directory could not be created.")); + } + else + { + /* write config to file */ + gchar *data = g_key_file_to_data(config, NULL, NULL); + utils_write_file(config_file, data); + g_free(data); + } + + g_free(config_dir); + g_key_file_free(config); +} + static void on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response, G_GNUC_UNUSED gpointer user_data) { if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) { - GKeyFile *config = g_key_file_new(); - gchar *data; - gchar *config_dir = g_path_get_dirname(config_file); - set_changed_flag = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets.cb_changed_flag)); set_add_confirmation = @@ -1822,51 +1879,13 @@ on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response, lang = g_strdup(gtk_entry_get_text(GTK_ENTRY(widgets.spellcheck_lang_textbox))); #endif - g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); - - g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag); - g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation); - g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff); - g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog", - set_maximize_commit_dialog); - g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries); - g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry); - - g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs); - g_key_file_set_boolean(config, "VC", "enable_git", enable_git); - g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn); - g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk); - g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr); - g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg); - -#ifdef USE_GTKSPELL - g_key_file_set_string(config, "VC", "spellchecking_language", lang); -#endif - - if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR) - && utils_mkdir(config_dir, TRUE) != 0) - { - dialogs_show_msgbox(GTK_MESSAGE_ERROR, - _ - ("Plugin configuration directory could not be created.")); - } - else - { - /* write config to file */ - data = g_key_file_to_data(config, NULL, NULL); - utils_write_file(config_file, data); - g_free(data); - } + save_config(); if (set_editor_menu_entries == FALSE) remove_menuitems_from_editor_menu(); else add_menuitems_to_editor_menu(); - - g_free(config_dir); - g_key_file_free(config); - registrate(); } } @@ -2030,6 +2049,11 @@ load_config(void) } #endif + commit_dialog_width = utils_get_setting_integer(config, "CommitDialog", + "commit_dialog_width", 700); + commit_dialog_height = utils_get_setting_integer(config, "CommitDialog", + "commit_dialog_height", 500); + g_key_file_free(config); } @@ -2378,6 +2402,7 @@ plugin_init(G_GNUC_UNUSED GeanyData * data) void plugin_cleanup(void) { + save_config(); external_diff_viewer_deinit(); remove_menuitems_from_editor_menu(); gtk_widget_destroy(menu_entry); Modified: po/POTFILES.in 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -320,6 +320,7 @@ workbench/src/popup_menu.c workbench/src/sidebar.c workbench/src/utils.c workbench/src/wb_globals.c +workbench/src/wb_monitor.c workbench/src/wb_project.c workbench/src/workbench.c Modified: po/be.po 1086 lines changed, 559 insertions(+), 527 deletions(-) =================================================================== @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Geany-Plugins 1.30\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-05 14:45+0100\n" +"POT-Creation-Date: 2018-02-11 17:41+0100\n" "PO-Revision-Date: 2009-06-11 10:15+0200\n" "Last-Translator: Yura Siamshka <yurand2(a)gmail.com>>\n" "Language-Team: Belarusian <geany-i18n(a)uvena.de>\n" @@ -38,13 +38,13 @@ msgstr "" msgid "Contents" msgstr "" -#: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:625 +#: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:634 #: ../webhelper/src/gwh-plugin.c:328 msgid "Bookmarks" msgstr "" #. complete update -#: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351 +#: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2375 msgid "_Update" msgstr "" @@ -66,7 +66,7 @@ msgstr "" #. * have an ESTABLISHED term for it, leave it #. * untranslated. #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:201 -#: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68 +#: ../devhelp/devhelp/dh-link.c:287 ../latex/src/bibtexlabels.c:68 msgid "Type" msgstr "" @@ -151,138 +151,146 @@ msgstr "" msgid "File path \"%s\" copied to clipboard." msgstr "" -#: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:334 +#: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:349 msgid "Copy File Path" msgstr "" #: ../addons/src/ao_copyfilepath.c:122 msgid "Copy the file path of the current document to the clipboard" msgstr "" -#: ../addons/src/addons.c:52 +#: ../addons/src/addons.c:53 msgid "Addons" msgstr "" -#: ../addons/src/addons.c:53 +#: ../addons/src/addons.c:54 msgid "Various small addons for Geany." msgstr "" -#: ../addons/src/addons.c:325 +#: ../addons/src/addons.c:340 msgid "Focus Bookmark List" msgstr "" -#: ../addons/src/addons.c:327 +#: ../addons/src/addons.c:342 msgid "Focus Tasks List" msgstr "" -#: ../addons/src/addons.c:329 +#: ../addons/src/addons.c:344 msgid "Update Tasks List" msgstr "" -#: ../addons/src/addons.c:331 +#: ../addons/src/addons.c:346 msgid "Run XML tagging" msgstr "" -#: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884 -#: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240 -#: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851 -#: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128 -#: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157 -#: ../treebrowser/src/treebrowser.c:1942 +#: ../addons/src/addons.c:491 ../autoclose/src/autoclose.c:884 +#: ../codenav/src/codenavigation.c:292 ../latex/src/latex.c:208 +#: ../latex/src/latex.c:293 ../geanyprj/src/geanyprj.c:176 +#: ../geanyvc/src/geanyvc.c:1835 ../geniuspaste/src/geniuspaste.c:336 +#: ../sendmail/src/sendmail.c:128 ../sendmail/src/sendmail.c:293 +#: ../spellcheck/src/scplugin.c:124 ../treebrowser/src/treebrowser.c:1951 #: ../updatechecker/src/updatechecker.c:266 msgid "Plugin configuration directory could not be created." msgstr "" -#: ../addons/src/addons.c:494 +#: ../addons/src/addons.c:521 msgid "Show toolbar item to show a list of currently open documents" msgstr "" -#: ../addons/src/addons.c:498 +#: ../addons/src/addons.c:525 msgid "Sort documents by _name" msgstr "" -#: ../addons/src/addons.c:500 +#: ../addons/src/addons.c:527 msgid "Sort the documents in the list by their filename" msgstr "" -#: ../addons/src/addons.c:503 +#: ../addons/src/addons.c:530 msgid "Sort documents by _occurrence" msgstr "" -#: ../addons/src/addons.c:505 +#: ../addons/src/addons.c:532 msgid "Sort the documents in the order of the document tabs" msgstr "" -#: ../addons/src/addons.c:508 +#: ../addons/src/addons.c:535 msgid "Sort documents by _occurrence (reversed)" msgstr "" -#: ../addons/src/addons.c:510 +#: ../addons/src/addons.c:537 msgid "Sort the documents in the order of the document tabs (reversed)" msgstr "" -#: ../addons/src/addons.c:537 +#: ../addons/src/addons.c:564 msgid "Show an 'Open URI' item in the editor menu" msgstr "" -#: ../addons/src/addons.c:543 +#: ../addons/src/addons.c:570 msgid "Show available Tasks in the Messages Window" msgstr "" -#: ../addons/src/addons.c:549 +#: ../addons/src/addons.c:576 msgid "Show tasks of all documents" msgstr "" -#: ../addons/src/addons.c:553 +#: ../addons/src/addons.c:580 msgid "" "Whether to show the tasks of all open documents in the list or only those of " "the current document." msgstr "" -#: ../addons/src/addons.c:560 +#: ../addons/src/addons.c:587 msgid "Specify a semicolon separated list of search tokens." msgstr "" -#: ../addons/src/addons.c:562 +#: ../addons/src/addons.c:589 msgid "Search tokens:" msgstr "" -#: ../addons/src/addons.c:579 +#: ../addons/src/addons.c:606 msgid "Show status icon in the Notification Area" msgstr "" -#: ../addons/src/addons.c:585 +#: ../addons/src/addons.c:612 msgid "Show defined bookmarks (marked lines) in the sidebar" msgstr "" -#: ../addons/src/addons.c:591 +#: ../addons/src/addons.c:618 msgid "Mark all occurrences of a word when double-clicking it" msgstr "" -#: ../addons/src/addons.c:597 +#: ../addons/src/addons.c:624 msgid "Deselect a previous highlight by single click" msgstr "" -#: ../addons/src/addons.c:607 +#: ../addons/src/addons.c:634 msgid "Strip trailing blank lines" msgstr "" -#: ../addons/src/addons.c:613 +#: ../addons/src/addons.c:640 msgid "XML tagging for selection" msgstr "" -#: ../addons/src/addons.c:619 +#: ../addons/src/addons.c:646 msgid "Enclose selection on configurable keybindings" msgstr "" -#: ../addons/src/addons.c:623 +#: ../addons/src/addons.c:650 msgid "Configure enclose pairs" msgstr "" -#: ../addons/src/addons.c:631 +#: ../addons/src/addons.c:658 msgid "Enclose selection automatically (without having to press a keybinding)" msgstr "" +#: ../addons/src/addons.c:664 +msgid "Show a calltip when hovering over a color value" +msgstr "" + +#: ../addons/src/addons.c:670 +msgid "Open Color Chooser when double-clicking a color value" +msgstr "" + #: ../autoclose/src/autoclose.c:49 msgid "Auto-close" msgstr "" @@ -729,7 +737,7 @@ msgstr "" msgid "Thread %i" msgstr "" -#: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46 +#: ../debugger/src/stree.c:395 ../latex/src/bibtexlabels.c:46 msgid "Address" msgstr "" @@ -955,7 +963,7 @@ msgid "Book:" msgstr "" #. i18n: a documentation book -#: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1783 +#: ../devhelp/devhelp/dh-link.c:255 ../latex/src/latex.c:1836 msgid "Book" msgstr "" @@ -1084,7 +1092,7 @@ msgstr "" msgid "A developers' help browser for GNOME" msgstr "" -#: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2063 +#: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2087 #, fuzzy msgid "_File" msgstr "Дадаць файл" @@ -1314,7 +1322,7 @@ msgid "" "contributing to this plugin?" msgstr "" -#: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427 +#: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:429 msgid "Could not parse the output of command" msgstr "Немагчыма прааналізаваць вывад каманды" @@ -1888,946 +1896,946 @@ msgstr "" msgid "Insert _Numbers" msgstr "Наладкі" -#: ../geanylatex/src/latexenvironments.c:25 +#: ../latex/src/latexenvironments.c:25 msgid "Environments" msgstr "" -#: ../geanylatex/src/latexenvironments.c:26 +#: ../latex/src/latexenvironments.c:26 msgid "Formatting" msgstr "" -#: ../geanylatex/src/latexenvironments.c:27 +#: ../latex/src/latexenvironments.c:27 #, fuzzy msgid "Document Structure" msgstr "Інтэрактыўная даведка" -#: ../geanylatex/src/latexenvironments.c:28 +#: ../latex/src/latexenvironments.c:28 msgid "Lists" msgstr "" -#: ../geanylatex/src/latexenvironments.c:29 +#: ../latex/src/latexenvironments.c:29 msgid "Math" msgstr "" -#: ../geanylatex/src/latexenvironments.c:194 +#: ../latex/src/latexenvironments.c:194 msgid "Insert Environment" msgstr "" -#: ../geanylatex/src/latexenvironments.c:208 +#: ../latex/src/latexenvironments.c:208 msgid "Environment:" msgstr "" -#: ../geanylatex/src/latexutils.c:87 +#: ../latex/src/latexutils.c:87 #, c-format msgid "" "Could not determine where to insert package: %s\n" "Please try insert package manually" msgstr "" -#: ../geanylatex/src/latexutils.c:89 +#: ../latex/src/latexutils.c:89 #, c-format msgid "Could not determine where to insert package: %s" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:27 +#: ../latex/src/bibtexlabels.c:27 msgid "Article (@Article)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:28 +#: ../latex/src/bibtexlabels.c:28 msgid "Book (@Book)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:29 +#: ../latex/src/bibtexlabels.c:29 msgid "Booklet (@Booklet)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:30 +#: ../latex/src/bibtexlabels.c:30 msgid "Conference (@Conference)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:31 +#: ../latex/src/bibtexlabels.c:31 msgid "Inbook (@Inbook)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:32 +#: ../latex/src/bibtexlabels.c:32 msgid "Incollection (@Incollection)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:33 +#: ../latex/src/bibtexlabels.c:33 msgid "Inproceedings (@Inproceedings)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:34 +#: ../latex/src/bibtexlabels.c:34 msgid "Manual (@Manual)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:35 +#: ../latex/src/bibtexlabels.c:35 msgid "Mastersthesis (@Mastersthesis)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:36 +#: ../latex/src/bibtexlabels.c:36 msgid "Misc (@Misc)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:37 +#: ../latex/src/bibtexlabels.c:37 msgid "PhdThesis (@PhdThesis)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:38 +#: ../latex/src/bibtexlabels.c:38 msgid "Proceedings (@Proceedings)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:39 +#: ../latex/src/bibtexlabels.c:39 msgid "Techreport (@Techreport)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:40 +#: ../latex/src/bibtexlabels.c:40 msgid "Unpublished (@Unpublished)" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:47 +#: ../latex/src/bibtexlabels.c:47 msgid "Annote" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:48 +#: ../latex/src/bibtexlabels.c:48 msgid "Author" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:49 +#: ../latex/src/bibtexlabels.c:49 msgid "Booktitle" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:50 +#: ../latex/src/bibtexlabels.c:50 msgid "Chapter" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:51 +#: ../latex/src/bibtexlabels.c:51 msgid "Crossref" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:52 +#: ../latex/src/bibtexlabels.c:52 msgid "Edition" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:53 +#: ../latex/src/bibtexlabels.c:53 msgid "Editor" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:54 +#: ../latex/src/bibtexlabels.c:54 msgid "E-print" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:55 +#: ../latex/src/bibtexlabels.c:55 msgid "HowPublished" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:56 +#: ../latex/src/bibtexlabels.c:56 msgid "Institution" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:57 +#: ../latex/src/bibtexlabels.c:57 msgid "Journal" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:58 +#: ../latex/src/bibtexlabels.c:58 msgid "Key" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:59 +#: ../latex/src/bibtexlabels.c:59 msgid "Month" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:60 +#: ../latex/src/bibtexlabels.c:60 msgid "Note" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:61 +#: ../latex/src/bibtexlabels.c:61 msgid "Number" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:62 +#: ../latex/src/bibtexlabels.c:62 msgid "Organization" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:63 +#: ../latex/src/bibtexlabels.c:63 msgid "Pages" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:64 +#: ../latex/src/bibtexlabels.c:64 msgid "Publisher" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:65 +#: ../latex/src/bibtexlabels.c:65 msgid "School" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:66 +#: ../latex/src/bibtexlabels.c:66 msgid "Series" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:67 +#: ../latex/src/bibtexlabels.c:67 msgid "Title" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:69 +#: ../latex/src/bibtexlabels.c:69 msgid "URL" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:70 +#: ../latex/src/bibtexlabels.c:70 msgid "Volume" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:71 +#: ../latex/src/bibtexlabels.c:71 msgid "Year" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:103 +#: ../latex/src/bibtexlabels.c:103 msgid "Address of publisher" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:104 +#: ../latex/src/bibtexlabels.c:104 msgid "Annotation for annotated bibliography styles" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:105 +#: ../latex/src/bibtexlabels.c:105 msgid "Name(s) of the author(s), separated by 'and' if more than one" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:106 +#: ../latex/src/bibtexlabels.c:106 msgid "Title of the book, if only part of it is being cited" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:107 +#: ../latex/src/bibtexlabels.c:107 msgid "Chapter number" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:108 +#: ../latex/src/bibtexlabels.c:108 msgid "Citation key of the cross-referenced entry" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:109 +#: ../latex/src/bibtexlabels.c:109 msgid "Edition of the book (such as \"first\" or \"second\")" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:110 +#: ../latex/src/bibtexlabels.c:110 msgid "Name(s) of the editor(s), separated by 'and' if more than one" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:111 +#: ../latex/src/bibtexlabels.c:111 msgid "Specification of electronic publication" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:112 +#: ../latex/src/bibtexlabels.c:112 msgid "Publishing method if the method is nonstandard" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:113 +#: ../latex/src/bibtexlabels.c:113 msgid "Institution that was involved in the publishing" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:114 +#: ../latex/src/bibtexlabels.c:114 msgid "Journal or magazine in which the work was published" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:115 +#: ../latex/src/bibtexlabels.c:115 msgid "" "Hidden field used for specifying or overriding the alphabetical order of " "entries" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:116 +#: ../latex/src/bibtexlabels.c:116 msgid "Month of publication or creation if unpublished" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:117 +#: ../latex/src/bibtexlabels.c:117 msgid "Miscellaneous extra information" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:118 +#: ../latex/src/bibtexlabels.c:118 msgid "Number of journal, magazine, or tech-report" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:119 +#: ../latex/src/bibtexlabels.c:119 msgid "Sponsor of the conference" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:120 +#: ../latex/src/bibtexlabels.c:120 msgid "Page numbers separated by commas or double-hyphens" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:121 +#: ../latex/src/bibtexlabels.c:121 msgid "Name of publisher" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:122 +#: ../latex/src/bibtexlabels.c:122 msgid "School where thesis was written" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:123 +#: ../latex/src/bibtexlabels.c:123 msgid "Series of books in which the book was published" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:124 +#: ../latex/src/bibtexlabels.c:124 msgid "Title of the work" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:125 +#: ../latex/src/bibtexlabels.c:125 msgid "Type of technical report" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:126 +#: ../latex/src/bibtexlabels.c:126 msgid "Internet address" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:127 +#: ../latex/src/bibtexlabels.c:127 msgid "Number of the volume" msgstr "" -#: ../geanylatex/src/bibtexlabels.c:128 +#: ../latex/src/bibtexlabels.c:128 msgid "Year of publication or creation if unpublished" msgstr "" -#: ../geanylatex/src/geanylatex.c:41 -msgid "GeanyLaTeX" +#: ../latex/src/latex.c:42 ../tableconvert/src/tableconvert.c:41 +msgid "LaTeX" msgstr "" -#: ../geanylatex/src/geanylatex.c:42 +#: ../latex/src/latex.c:43 msgid "Extends LaTeX support" msgstr "" -#: ../geanylatex/src/geanylatex.c:115 +#: ../latex/src/latex.c:116 msgid "Runs LaTeX wizard" msgstr "" -#: ../geanylatex/src/geanylatex.c:116 +#: ../latex/src/latex.c:117 msgid "Marks selected text as italic" msgstr "" -#: ../geanylatex/src/geanylatex.c:117 +#: ../latex/src/latex.c:118 msgid "Marks selected text as bold" msgstr "" -#: ../geanylatex/src/geanylatex.c:118 +#: ../latex/src/latex.c:119 msgid "Underlines selected text" msgstr "" -#: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45 +#: ../latex/src/latex.c:120 ../latex/src/formatpatterns.c:45 msgid "Centered" msgstr "" -#: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46 +#: ../latex/src/latex.c:121 ../latex/src/formatpatterns.c:46 msgid "Left side oriented" msgstr "" -#: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47 +#: ../latex/src/latex.c:122 ../latex/src/formatpatterns.c:47 msgid "Right side oriented" msgstr "" -#: ../geanylatex/src/geanylatex.c:297 +#: ../latex/src/latex.c:350 msgid "Use KOMA script by default" msgstr "" -#: ../geanylatex/src/geanylatex.c:299 +#: ../latex/src/latex.c:352 msgid "Show extra plugin toolbar" m@@ Diff output truncated at 100000 characters. @@ -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 1c97b5: Reenable gtk2 for markdown
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Mon, 14 May 2018 19:50:46 UTC Commit: 1c97b5d2b4c0b75e7137724b448fd4fe659106e0
https://github.com/geany/geany-plugins/commit/1c97b5d2b4c0b75e7137724b448fd…
Log Message: ----------- Reenable gtk2 for markdown Use #ifdef's around the relevant portions that have been changed for webkit2gtk-4.0. Modified Paths: -------------- build/markdown.m4 markdown/src/Makefile.am markdown/src/viewer.c markdown/src/viewer.h Modified: build/markdown.m4 6 lines changed, 4 insertions(+), 2 deletions(-) =================================================================== @@ -49,11 +49,13 @@ AC_DEFUN([GP_CHECK_MARKDOWN], GTK_VERSION=2.16 WEBKIT_VERSION=1.1.13 - GP_CHECK_PLUGIN_GTK3_ONLY([markdown]) + GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0], + [webkit_package=webkit-1.0]) GP_CHECK_PLUGIN_DEPS([markdown], [MARKDOWN], [$GP_GTK_PACKAGE >= ${GTK_VERSION} - webkit2gtk-4.0 >= ${WEBKIT_VERSION} + $webkit_package >= ${WEBKIT_VERSION} gthread-2.0]) + AM_CONDITIONAL([MARKDOWN_WEBKIT2], [test "$webkit_package" = webkit2gtk-4.0]) GP_COMMIT_PLUGIN_STATUS([Markdown]) Modified: markdown/src/Makefile.am 3 lines changed, 3 insertions(+), 0 deletions(-) =================================================================== @@ -35,4 +35,7 @@ markdown_la_CFLAGS += $(LIBMARKDOWN_CFLAGS) markdown_la_LIBADD += $(LIBMARKDOWN_LIBS) endif +if WEBKIT2 +markdown_la_CFLAGS += -DWEBKIT2 + include $(top_srcdir)/build/cppcheck.mk Modified: markdown/src/viewer.c 33 lines changed, 32 insertions(+), 1 deletions(-) =================================================================== @@ -22,7 +22,11 @@ #include "config.h" #include <string.h> #include <gtk/gtk.h> -#include <webkit2/webkit2.h> +#ifdef WEBKIT2 +# include <webkit2/webkit2.h> +#else +# include <webkit/webkitwebview.h> +#endif #include <geanyplugin.h> #ifndef FULL_PRICE # include <mkdio.h> @@ -296,6 +300,7 @@ pop_scroll_pos(MarkdownViewer *self) return popped; } +#ifdef WEBKIT2 static void on_webview_load_changed(MarkdownViewer *self, WebKitLoadEvent load_event, @@ -306,6 +311,21 @@ on_webview_load_changed(MarkdownViewer *self, pop_scroll_pos(self); } } +#else +static void +on_webview_load_status_notify(WebKitWebView *view, GParamSpec *pspec, + MarkdownViewer *self) +{ + WebKitLoadStatus load_status; + + g_object_get(view, "load-status", &load_status, NULL); + + /* When the webkit is done loading, reset the scroll position. */ + if (load_status == WEBKIT_LOAD_FINISHED) { + pop_scroll_pos(self); + } +} +#endif gchar * markdown_viewer_get_html(MarkdownViewer *self) @@ -385,12 +405,23 @@ markdown_viewer_update_view(MarkdownViewer *self) /* Connect a signal handler (only needed once) to restore the scroll * position once the webview is reloaded. */ if (self->priv->load_handle == 0) { +#ifdef WEBKIT2 self->priv->load_handle = g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "load-changed", G_CALLBACK(on_webview_load_changed), self); +#else + self->priv->load_handle = + g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "notify::load-status", + G_CALLBACK(on_webview_load_status_notify), self); +#endif } +#ifdef WEBKIT2 webkit_web_view_load_html(WEBKIT_WEB_VIEW(self), html, base_uri); +#else + webkit_web_view_load_string(WEBKIT_WEB_VIEW(self), html, "text/html", + self->priv->enc, base_uri); +#endif g_free(base_uri); g_free(html); Modified: markdown/src/viewer.h 6 lines changed, 5 insertions(+), 1 deletions(-) =================================================================== @@ -23,7 +23,11 @@ #define MARKDOWN_VIEWER_H 1 #include <gtk/gtk.h> -#include <webkit2/webkit2.h> +#ifdef WEBKIT2 +# include <webkit2/webkit2.h> +#else +# include <webkit/webkitwebview.h> +#endif G_BEGIN_DECLS -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 1b84e2: Markdown: Fix a typo in the Makefile.am
by Matthew Brush
30 May '18
30 May '18
Branch: refs/heads/master Author: Matthew Brush <matt(a)geany.org> Committer: Matthew Brush <matt(a)geany.org> Date: Tue, 15 May 2018 00:53:01 UTC Commit: 1b84e29992beaa40e25a40b20100b19170cc9448
https://github.com/geany/geany-plugins/commit/1b84e29992beaa40e25a40b20100b…
Log Message: ----------- Markdown: Fix a typo in the Makefile.am Also add namespace prefix to new macros to avoid clashing with Webkit (or other) sources. Modified Paths: -------------- markdown/src/Makefile.am markdown/src/viewer.c markdown/src/viewer.h Modified: markdown/src/Makefile.am 5 lines changed, 3 insertions(+), 2 deletions(-) =================================================================== @@ -35,7 +35,8 @@ markdown_la_CFLAGS += $(LIBMARKDOWN_CFLAGS) markdown_la_LIBADD += $(LIBMARKDOWN_LIBS) endif -if WEBKIT2 -markdown_la_CFLAGS += -DWEBKIT2 +if MARKDOWN_WEBKIT2 +markdown_la_CFLAGS += -DMARKDOWN_WEBKIT2 +endif include $(top_srcdir)/build/cppcheck.mk Modified: markdown/src/viewer.c 8 lines changed, 4 insertions(+), 4 deletions(-) =================================================================== @@ -22,7 +22,7 @@ #include "config.h" #include <string.h> #include <gtk/gtk.h> -#ifdef WEBKIT2 +#ifdef MARKDOWN_WEBKIT2 # include <webkit2/webkit2.h> #else # include <webkit/webkitwebview.h> @@ -300,7 +300,7 @@ pop_scroll_pos(MarkdownViewer *self) return popped; } -#ifdef WEBKIT2 +#ifdef MARKDOWN_WEBKIT2 static void on_webview_load_changed(MarkdownViewer *self, WebKitLoadEvent load_event, @@ -405,7 +405,7 @@ markdown_viewer_update_view(MarkdownViewer *self) /* Connect a signal handler (only needed once) to restore the scroll * position once the webview is reloaded. */ if (self->priv->load_handle == 0) { -#ifdef WEBKIT2 +#ifdef MARKDOWN_WEBKIT2 self->priv->load_handle = g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "load-changed", G_CALLBACK(on_webview_load_changed), self); @@ -416,7 +416,7 @@ markdown_viewer_update_view(MarkdownViewer *self) #endif } -#ifdef WEBKIT2 +#ifdef MARKDOWN_WEBKIT2 webkit_web_view_load_html(WEBKIT_WEB_VIEW(self), html, base_uri); #else webkit_web_view_load_string(WEBKIT_WEB_VIEW(self), html, "text/html", Modified: markdown/src/viewer.h 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -23,7 +23,7 @@ #define MARKDOWN_VIEWER_H 1 #include <gtk/gtk.h> -#ifdef WEBKIT2 +#ifdef MARKDOWN_WEBKIT2 # include <webkit2/webkit2.h> #else # include <webkit/webkitwebview.h> -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 2c7aaa: webhelper, markdown: Make gtk3-only
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Thu, 18 Jan 2018 16:34:38 UTC Commit: 2c7aaa82556a5c55638353e9df77cc25b044e0a0
https://github.com/geany/geany-plugins/commit/2c7aaa82556a5c55638353e9df77c…
Log Message: ----------- webhelper, markdown: Make gtk3-only webkit2gtk-4.0 doesn't exist for gtk2. Modified Paths: -------------- build/markdown.m4 build/webhelper.m4 Modified: build/markdown.m4 6 lines changed, 2 insertions(+), 4 deletions(-) =================================================================== @@ -49,12 +49,10 @@ AC_DEFUN([GP_CHECK_MARKDOWN], GTK_VERSION=2.16 WEBKIT_VERSION=1.1.13 - GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0], - [webkit_package=webkit2gtk-4.0]) - + GP_CHECK_PLUGIN_GTK3_ONLY([markdown]) GP_CHECK_PLUGIN_DEPS([markdown], [MARKDOWN], [$GP_GTK_PACKAGE >= ${GTK_VERSION} - $webkit_package >= ${WEBKIT_VERSION} + webkit2gtk-4.0 >= ${WEBKIT_VERSION} gthread-2.0]) GP_COMMIT_PLUGIN_STATUS([Markdown]) Modified: build/webhelper.m4 5 lines changed, 2 insertions(+), 3 deletions(-) =================================================================== @@ -19,14 +19,13 @@ AC_DEFUN([GP_CHECK_WEBHELPER], fi fi - GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0], - [webkit_package=webkit2gtk-4.0]) + GP_CHECK_PLUGIN_GTK3_ONLY([webhelper]) GP_CHECK_PLUGIN_DEPS([WebHelper], [WEBHELPER], [$GP_GTK_PACKAGE >= ${GTK_VERSION} glib-2.0 >= ${GLIB_VERSION} gio-2.0 >= ${GIO_VERSION} gdk-pixbuf-2.0 >= ${GDK_PIXBUF_VERSION} - $webkit_package >= ${WEBKIT_VERSION} + webkit2gtk-4.0 >= ${WEBKIT_VERSION} gthread-2.0]) -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 630bba: markdown: Use load-changed signal instead of listening on is-loading
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Thu, 18 Jan 2018 16:44:23 UTC Commit: 630bba7f905ee5c8f748ddc3a4b2d13e47f61b97
https://github.com/geany/geany-plugins/commit/630bba7f905ee5c8f748ddc3a4b2d…
Log Message: ----------- markdown: Use load-changed signal instead of listening on is-loading We want to know when webkit finishes loading, so this simplifies matters. Modified Paths: -------------- markdown/src/viewer.c Modified: markdown/src/viewer.c 15 lines changed, 6 insertions(+), 9 deletions(-) =================================================================== @@ -297,15 +297,12 @@ pop_scroll_pos(MarkdownViewer *self) } static void -on_webview_is_loading_notify(WebKitWebView *view, GParamSpec *pspec, - MarkdownViewer *self) +on_webview_load_changed(MarkdownViewer *self, + WebKitLoadEvent load_event, + WebKitWebView *web_view) { - gboolean load_status; - - g_object_get(view, "is-loading", &load_status, NULL); - /* When the webkit is done loading, reset the scroll position. */ - if (!load_status) { + if (load_event == WEBKIT_LOAD_FINISHED) { pop_scroll_pos(self); } } @@ -389,8 +386,8 @@ markdown_viewer_update_view(MarkdownViewer *self) * position once the webview is reloaded. */ if (self->priv->load_handle == 0) { self->priv->load_handle = - g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "notify::is-loading", - G_CALLBACK(on_webview_is_loading_notify), self); + g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "load-changed", + G_CALLBACK(on_webview_load_changed), self); } webkit_web_view_load_html(WEBKIT_WEB_VIEW(self), html, base_uri); -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 1b354a: Merge remote-tracking branch 'sergiomb2/master' into webkit2gtk
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Wed, 17 Jan 2018 17:29:42 UTC Commit: 1b354aa6013bdebc58717783be9275d31ae741d6
https://github.com/geany/geany-plugins/commit/1b354aa6013bdebc58717783be927…
Log Message: ----------- Merge remote-tracking branch 'sergiomb2/master' into webkit2gtk Modified Paths: -------------- build/markdown.m4 build/webhelper.m4 markdown/src/viewer.c markdown/src/viewer.h Modified: build/markdown.m4 4 lines changed, 2 insertions(+), 2 deletions(-) =================================================================== @@ -49,8 +49,8 @@ AC_DEFUN([GP_CHECK_MARKDOWN], GTK_VERSION=2.16 WEBKIT_VERSION=1.1.13 - GP_CHECK_GTK3([webkit_package=webkitgtk-3.0], - [webkit_package=webkit-1.0]) + GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0], + [webkit_package=webkit2gtk-4.0]) GP_CHECK_PLUGIN_DEPS([markdown], [MARKDOWN], [$GP_GTK_PACKAGE >= ${GTK_VERSION} Modified: build/webhelper.m4 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -20,7 +20,7 @@ AC_DEFUN([GP_CHECK_WEBHELPER], fi GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0], - [webkit_package=webkit-1.0]) + [webkit_package=webkit2gtk-4.0]) GP_CHECK_PLUGIN_DEPS([WebHelper], [WEBHELPER], [$GP_GTK_PACKAGE >= ${GTK_VERSION} glib-2.0 >= ${GLIB_VERSION} Modified: markdown/src/viewer.c 7 lines changed, 3 insertions(+), 4 deletions(-) =================================================================== @@ -22,7 +22,7 @@ #include "config.h" #include <string.h> #include <gtk/gtk.h> -#include <webkit/webkitwebview.h> +#include <webkit2/webkit2.h> #include <geanyplugin.h> #ifndef FULL_PRICE # include <mkdio.h> @@ -300,7 +300,7 @@ static void on_webview_load_status_notify(WebKitWebView *view, GParamSpec *pspec, MarkdownViewer *self) { - WebKitLoadStatus load_status; + WebKitLoadEvent load_status; g_object_get(view, "load-status", &load_status, NULL); @@ -393,8 +393,7 @@ markdown_viewer_update_view(MarkdownViewer *self) G_CALLBACK(on_webview_load_status_notify), self); } - webkit_web_view_load_string(WEBKIT_WEB_VIEW(self), html, "text/html", - self->priv->enc, base_uri); + webkit_web_view_load_html(WEBKIT_WEB_VIEW(self), html, base_uri); g_free(base_uri); g_free(html); Modified: markdown/src/viewer.h 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -23,7 +23,7 @@ #define MARKDOWN_VIEWER_H 1 #include <gtk/gtk.h> -#include <webkit/webkitwebview.h> +#include <webkit2/webkit2.h> G_BEGIN_DECLS -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 181029: markdown: Use notify::is-loading instead of notify::load-status
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Wed, 17 Jan 2018 17:48:51 UTC Commit: 181029d94ac542ad408be816fc12d355feb9eebd
https://github.com/geany/geany-plugins/commit/181029d94ac542ad408be816fc12d…
Log Message: ----------- markdown: Use notify::is-loading instead of notify::load-status webkit2gtk no longer has the load-status property, so this needs to be updated. Modified Paths: -------------- markdown/src/viewer.c Modified: markdown/src/viewer.c 12 lines changed, 6 insertions(+), 6 deletions(-) =================================================================== @@ -297,15 +297,15 @@ pop_scroll_pos(MarkdownViewer *self) } static void -on_webview_load_status_notify(WebKitWebView *view, GParamSpec *pspec, +on_webview_is_loading_notify(WebKitWebView *view, GParamSpec *pspec, MarkdownViewer *self) { - WebKitLoadEvent load_status; + gboolean load_status; - g_object_get(view, "load-status", &load_status, NULL); + g_object_get(view, "is-loading", &load_status, NULL); /* When the webkit is done loading, reset the scroll position. */ - if (load_status == WEBKIT_LOAD_FINISHED) { + if (!load_status) { pop_scroll_pos(self); } } @@ -389,8 +389,8 @@ markdown_viewer_update_view(MarkdownViewer *self) * position once the webview is reloaded. */ if (self->priv->load_handle == 0) { self->priv->load_handle = - g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "notify::load-status", - G_CALLBACK(on_webview_load_status_notify), self); + g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "notify::is-loading", + G_CALLBACK(on_webview_is_loading_notify), self); } webkit_web_view_load_html(WEBKIT_WEB_VIEW(self), html, base_uri); -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 336ac2: webhelper: Port inspector signal handlers to webkit2gtk
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Wed, 17 Jan 2018 14:35:38 UTC Commit: 336ac2e65d1303e49dba34159de1e1ae11c1dc98
https://github.com/geany/geany-plugins/commit/336ac2e65d1303e49dba34159de1e…
Log Message: ----------- webhelper: Port inspector signal handlers to webkit2gtk Modified Paths: -------------- webhelper/src/gwh-browser.c Modified: webhelper/src/gwh-browser.c 174 lines changed, 14 insertions(+), 160 deletions(-) =================================================================== @@ -134,10 +134,6 @@ G_DEFINE_TYPE_WITH_CODE (GwhBrowser, gwh_browser, GTK_TYPE_VBOX, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) -static void inspector_set_detached (GwhBrowser *self, - gboolean detached); - - static void set_location_icon (GwhBrowser *self, const cairo_surface_t *icon_surface) @@ -251,17 +247,6 @@ on_settings_inspector_window_geometry_notify (GObject *object, g_free (geometry); } -static void -on_settings_inspector_detached_notify (GObject *object, - GParamSpec *pspec, - GwhBrowser *self) -{ - gboolean detached; - - g_object_get (object, pspec->name, &detached, NULL); - inspector_set_detached (self, detached); -} - static void on_settings_wm_windows_skip_taskbar_notify (GObject *object, GParamSpec *pspec, @@ -298,10 +283,10 @@ on_settings_wm_windows_type_notify (GObject *object, /* web inspector events handling */ #define INSPECTOR_DETACHED(self) \ - (gtk_bin_get_child (GTK_BIN ((self)->priv->inspector_window)) != NULL) + (webkit_web_inspector_is_attached ((self)->priv->inspector)) #define INSPECTOR_VISIBLE(self) \ - (gtk_widget_get_visible ((self)->priv->inspector_view)) + (webkit_web_inspector_get_web_view ((self)->priv->inspector) != NULL) static void inspector_set_visible (GwhBrowser *self, @@ -316,117 +301,22 @@ inspector_set_visible (GwhBrowser *self, } } -static void -inspector_hide_window (GwhBrowser *self) -{ - if (gtk_widget_get_visible (self->priv->inspector_window)) { - gtk_window_get_position (GTK_WINDOW (self->priv->inspector_window), - &self->priv->inspector_window_x, - &self->priv->inspector_window_y); - gtk_widget_hide (self->priv->inspector_window); - } -} - -static void -inspector_show_window (GwhBrowser *self) -{ - if (! gtk_widget_get_visible (self->priv->inspector_window)) { - gtk_widget_show (self->priv->inspector_window); - gtk_window_move (GTK_WINDOW (self->priv->inspector_window), - self->priv->inspector_window_x, - self->priv->inspector_window_y); - } -} - -static void -inspector_set_detached (GwhBrowser *self, - gboolean detached) -{ - if (detached != INSPECTOR_DETACHED (self)) { - if (detached) { - gtk_widget_reparent (self->priv->inspector_view, - self->priv->inspector_window); - if (INSPECTOR_VISIBLE (self)) { - inspector_show_window (self); - } - } else { - gtk_widget_reparent (self->priv->inspector_view, self->priv->paned); - inspector_hide_window (self); - } - g_object_set (self->priv->settings, "inspector-detached", detached, NULL); - } -} - -static WebKitWebView * -on_inspector_inspect_web_view (WebKitWebInspector *inspector, - WebKitWebView *view, - GwhBrowser *self) -{ - if (self->priv->inspector_web_view) { - gtk_widget_destroy (self->priv->inspector_web_view); - } - - self->priv->inspector_web_view = webkit_web_view_new (); - gtk_widget_show (self->priv->inspector_web_view); - gtk_container_add (GTK_CONTAINER (self->priv->inspector_view), - self->priv->inspector_web_view); - - return WEBKIT_WEB_VIEW (self->priv->inspector_web_view); -} - static gboolean -on_inspector_show_window (WebKitWebInspector *inspector, - GwhBrowser *self) +on_inspector_closed (WebKitWebInspector *inspector, + GwhBrowser *self) { - gtk_widget_show (self->priv->inspector_view); - if (INSPECTOR_DETACHED (self)) { - inspector_show_window (self); - } - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->item_inspector), - TRUE); - - return TRUE; -} - -static gboolean -on_inspector_close_window (WebKitWebInspector *inspector, - GwhBrowser *self) -{ - gtk_widget_hide (self->priv->inspector_view); - inspector_hide_window (self); gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->item_inspector), FALSE); - gtk_widget_grab_focus (gtk_widget_get_toplevel (self->priv->web_view)); - - return TRUE; -} - -static gboolean -on_inspector_detach_window (WebKitWebInspector *inspector, - GwhBrowser *self) -{ - inspector_set_detached (self, TRUE); - - return TRUE; -} - -static gboolean -on_inspector_attach_window (WebKitWebInspector *inspector, - GwhBrowser *self) -{ - inspector_set_detached (self, FALSE); - - return TRUE; + return FALSE; } static gboolean -on_inspector_window_delete_event (GtkWidget *window, - GdkEvent *event, - GwhBrowser *self) +on_inspector_opened (WebKitWebInspector *inspector, + GwhBrowser *self) { - webkit_web_inspector_close (self->priv->inspector); - - return TRUE; + gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->item_inspector), + TRUE); + return FALSE; } /* web view events hanlding */ @@ -1073,33 +963,6 @@ create_toolbar (GwhBrowser *self) return toolbar; } -static GtkWidget * -create_inspector_window (GwhBrowser *self) -{ - gboolean skips_taskbar; - gboolean window_type; - - g_object_get (self->priv->settings, - "wm-secondary-windows-skip-taskbar", &skips_taskbar, - "wm-secondary-windows-type", &window_type, - NULL); - self->priv->inspector_window_x = self->priv->inspector_window_y = 0; - self->priv->inspector_window = g_object_new (GTK_TYPE_WINDOW, - "type", GTK_WINDOW_TOPLEVEL, - "skip-taskbar-hint", skips_taskbar, - "type-hint", window_type, - "title", _("Web inspector"), - NULL); - g_signal_connect (self->priv->inspector_window, "delete-event", - G_CALLBACK (on_inspector_window_delete_event), self); - g_signal_connect (self->priv->settings, "notify::wm-secondary-windows-skip-taskbar", - G_CALLBACK (on_settings_wm_windows_skip_taskbar_notify), self); - g_signal_connect (self->priv->settings, "notify::wm-secondary-windows-type", - G_CALLBACK (on_settings_wm_windows_type_notify), self); - - return self->priv->inspector_window; -} - static guint get_statusbar_context_id (GtkStatusbar *statusbar) { @@ -1207,7 +1070,6 @@ gwh_browser_init (GwhBrowser *self) GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); self->priv->inspector_web_view = NULL; - self->priv->inspector_window = create_inspector_window (self); gtk_container_add (GTK_CONTAINER (inspector_detached ? self->priv->inspector_window : self->priv->paned), @@ -1226,16 +1088,10 @@ gwh_browser_init (GwhBrowser *self) G_CALLBACK (on_orientation_notify), self); self->priv->inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (self->priv->web_view)); - g_signal_connect (self->priv->inspector, "inspect-web-view", - G_CALLBACK (on_inspector_inspect_web_view), self); - g_signal_connect (self->priv->inspector, "show-window", - G_CALLBACK (on_inspector_show_window), self); - g_signal_connect (self->priv->inspector, "close-window", - G_CALLBACK (on_inspector_close_window), self); - g_signal_connect (self->priv->inspector, "detach-window", - G_CALLBACK (on_inspector_detach_window), self); - g_signal_connect (self->priv->inspector, "attach-window", - G_CALLBACK (on_inspector_attach_window), self); + g_signal_connect (self->priv->inspector, "bring-to-front", + G_CALLBACK (on_inspector_opened), self); + g_signal_connect (self->priv->inspector, "closed", + G_CALLBACK (on_inspector_closed), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::progress", G_CALLBACK (on_web_view_progress_notify), self); @@ -1273,8 +1129,6 @@ gwh_browser_init (GwhBrowser *self) G_CALLBACK (on_settings_browser_bookmarks_notify), self); g_signal_connect (self->priv->settings, "notify::browser-orientation", G_CALLBACK (on_settings_browser_orientation_notify), self); - g_signal_connect (self->priv->settings, "notify::inspector-detached", - G_CALLBACK (on_settings_inspector_detached_notify), self); g_signal_connect (self->priv->settings, "notify::inspector-window-geometry", G_CALLBACK (on_settings_inspector_window_geometry_notify), self); } -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 35736f: webhelper: Port link hovering functionality to webkit2gtk
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Wed, 17 Jan 2018 14:45:20 UTC Commit: 35736fbce11d74755cc9308ce9db7aac0c394fd5
https://github.com/geany/geany-plugins/commit/35736fbce11d74755cc9308ce9db7…
Log Message: ----------- webhelper: Port link hovering functionality to webkit2gtk Modified Paths: -------------- webhelper/src/gwh-browser.c Modified: webhelper/src/gwh-browser.c 20 lines changed, 13 insertions(+), 7 deletions(-) =================================================================== @@ -976,18 +976,24 @@ get_statusbar_context_id (GtkStatusbar *statusbar) } static void -on_web_view_hovering_over_link (WebKitWebView *view, - gchar *title, - gchar *uri, - GwhBrowser *self) +on_web_view_mouse_target_changed (WebKitWebView *view, + WebKitHitTestResult *hit_test_result, + guint modifiers, + GwhBrowser *self) { GtkStatusbar *statusbar = GTK_STATUSBAR (self->priv->statusbar); - + const gchar *uri; + if (self->priv->hovered_link) { gtk_statusbar_pop (statusbar, get_statusbar_context_id (statusbar)); g_free (self->priv->hovered_link); self->priv->hovered_link = NULL; } + + if (!webkit_hit_test_result_context_is_link (hit_test_result)) + return; + + uri = webkit_hit_test_result_get_link_uri (hit_test_result); if (uri && *uri) { self->priv->hovered_link = g_strdup (uri); gtk_statusbar_push (statusbar, get_statusbar_context_id (statusbar), @@ -1107,8 +1113,8 @@ gwh_browser_init (GwhBrowser *self) G_CALLBACK (on_web_view_context_menu), self); g_signal_connect (G_OBJECT (self->priv->web_view), "scroll-event", G_CALLBACK (on_web_view_scroll_event), self); - g_signal_connect (G_OBJECT (self->priv->web_view), "hovering-over-link", - G_CALLBACK (on_web_view_hovering_over_link), self); + g_signal_connect (G_OBJECT (self->priv->web_view), "mouse-target-changed", + G_CALLBACK (on_web_view_mouse_target_changed), self); g_signal_connect (G_OBJECT (self->priv->web_view), "leave-notify-event", G_CALLBACK (on_web_view_leave_notify_event), self); g_signal_connect (G_OBJECT (self->priv->web_view), "enter-notify-event", -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
[geany/geany-plugins] 6baf79: webhelper: Fix ctrl+scroll zooming in gtk3
by Chow Loong Jin
30 May '18
30 May '18
Branch: refs/heads/master Author: Chow Loong Jin <hyperair(a)debian.org> Committer: Chow Loong Jin <hyperair(a)debian.org> Date: Sat, 13 Jan 2018 07:10:23 UTC Commit: 6baf793a523ef051ef1020dd8b2f0a4207637b7c
https://github.com/geany/geany-plugins/commit/6baf793a523ef051ef1020dd8b2f0…
Log Message: ----------- webhelper: Fix ctrl+scroll zooming in gtk3 Modified Paths: -------------- webhelper/src/Makefile.am webhelper/src/gwh-browser.c Modified: webhelper/src/Makefile.am 3 lines changed, 2 insertions(+), 1 deletions(-) =================================================================== @@ -34,7 +34,8 @@ webhelper_la_CPPFLAGS = $(AM_CPPFLAGS) \ webhelper_la_CFLAGS = $(AM_CFLAGS) \ $(WEBHELPER_CFLAGS) webhelper_la_LIBADD = $(COMMONLIBS) \ - $(WEBHELPER_LIBS) + $(WEBHELPER_LIBS) \ + -lm # These are generated in $(srcdir) because they are part of the distribution, # and should anyway only be regenerated if the .tpl changes, which is a Modified: webhelper/src/gwh-browser.c 33 lines changed, 26 insertions(+), 7 deletions(-) =================================================================== @@ -21,6 +21,7 @@ #include "config.h" +#include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -124,6 +125,8 @@ enum { }; static guint signals[LAST_SIGNAL] = {0}; +static const gdouble zoom_in_factor = 1.2; +static const gdouble zoom_out_factor = 1.0 / 1.2; G_DEFINE_TYPE_WITH_CODE (GwhBrowser, gwh_browser, GTK_TYPE_VBOX, @@ -620,18 +623,20 @@ on_item_full_content_zoom_activate (GtkCheckMenuItem *item, webkit_settings_set_zoom_text_only (settings, !gtk_check_menu_item_get_active (item)); } +static void web_view_zoom (WebKitWebView *view, gdouble factor) +{ + gdouble zoom_level = webkit_web_view_get_zoom_level (view); + webkit_web_view_set_zoom_level (view, zoom_level * factor); +} + static void web_view_zoom_in (WebKitWebView *view) { - gdouble target_zoom_level = webkit_web_view_get_zoom_level (view) + 0.05; - webkit_web_view_set_zoom_level (view, target_zoom_level); + web_view_zoom (view, zoom_in_factor); } static void web_view_zoom_out (WebKitWebView *view) { - gdouble target_zoom_level = webkit_web_view_get_zoom_level (view) - 0.05; - target_zoom_level = MIN(target_zoom_level, 0.05); - - webkit_web_view_set_zoom_level (view, target_zoom_level); + web_view_zoom (view, zoom_out_factor); } static void @@ -705,6 +710,11 @@ on_web_view_scroll_event (GtkWidget *widget, { guint mods = event->state & gtk_accelerator_get_default_mod_mask (); gboolean handled = FALSE; + +#if GTK_CHECK_VERSION(3, 0, 0) + gdouble delta; + gdouble factor; +#endif if (mods == GDK_CONTROL_MASK) { handled = TRUE; @@ -716,7 +726,16 @@ on_web_view_scroll_event (GtkWidget *widget, case GDK_SCROLL_UP: web_view_zoom_in (WEBKIT_WEB_VIEW (self->priv->web_view)); break; - + +#if GTK_CHECK_VERSION(3, 0, 0) + case GDK_SCROLL_SMOOTH: + delta = event->delta_x + event->delta_y; + factor = pow (delta < 0 ? zoom_in_factor : zoom_out_factor, + fabs (delta)); + web_view_zoom (WEBKIT_WEB_VIEW (self->priv->web_view), factor); + break; +#endif + default: handled = FALSE; } -------------- This E-Mail was brought to you by github_commit_mail.py (Source:
https://github.com/geany/infrastructure
).
1
0
0
0
← Newer
1
2
3
Older →
Jump to page:
1
2
3
Results per page:
10
25
50
100
200