Mercurial > hg > octave-nkf
diff libgui/src/m-editor/file-editor-tab.cc @ 16402:7fa90eb41240
gui: individually configurable styles of the editor lexers
* color-picker.cc/.h: new class for a simple color picker
* libgui/src/module.mk: added color-picker.cc/.h
* file-editor-tab.cc(update_lexer): read config of the lexer from settings file
* file-editor-tab(notice_settings): editor font not directly configured from
the settings file but via the lexer settings in update_lexer
* lexer-octave-gui.cc(constructor): inherits from QsciLexerOctave instaead of
QsciLexer, code cleanup
* lexer-octave-gui.cc(language,lexer,defaultFont,defaultColor,description):
removed, original methods used and configured via settings
* lexer-octave-gui.h: removed functions language,lexer,defaultFont,defaultColor,
description and enum; using methods of octave lexer instead
* settings-dialog.cc(constructor): editor font not configured from settings,
defining lexers for supported languages and reading their actual settings
from the settings file (via read_lexer_settings)
* settings-dialog.cc(read_lexer_settings): new function for reading the lexers
settings from settings file and creating the tabs with interactive elements
for configuring these settings
* settings-dialog.cc(write_changed_settings): remove settings for editor font,
defining lexers for supported languages and writing the settings from the
dialog into the settings file (via write_lexer_settings)
* settings-dialog.cc(write_lexer_settings): new funciton for getting the new
lexer settings from the interactive elements and write them into the settings
file
* settings-dialog.h: new functiond read_lexer_settings, write_lexer_settings
* settings-dialog.ui: new tab for the editor styles which contents is
dynamically created in settings_dialog ()
author | Torsten <ttl@justmail.de> |
---|---|
date | Sun, 31 Mar 2013 23:56:11 +0200 |
parents | fc491da603f6 |
children | 28136851099a |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc +++ b/libgui/src/m-editor/file-editor-tab.cc @@ -242,21 +242,9 @@ } QSettings *settings = resource_manager::get_settings (); + lexer->readSettings (*settings); + _edit_area->setLexer (lexer); - // Editor font (default or from settings) - if (settings) - lexer->setDefaultFont (QFont ( - settings->value ("editor/fontName", - "Courier New").toString (), - settings->value ("editor/fontSize", - 10).toInt ())); - - // TODO: Autoindent not working as it should - lexer->setAutoIndentStyle (QsciScintilla::AiMaintain || - QsciScintilla::AiOpening || - QsciScintilla::AiClosing); - - _edit_area->setLexer (lexer); } // slot for fetab_set_focus: sets the focus to the current edit area @@ -1017,6 +1005,8 @@ void file_editor_tab::notice_settings () { + update_lexer (); + QFontMetrics lexer_font_metrics (_edit_area->lexer ()->defaultFont (0)); QSettings *settings = resource_manager::get_settings (); if (settings==NULL) @@ -1029,15 +1019,10 @@ else _edit_area->setAutoCompletionThreshold (-1); - QFont xfont (settings->value ("editor/fontName","Courier New").toString (), - settings->value ("editor/fontSize",10).toInt ()); - if (settings->value ("editor/showLineNumbers",true).toBool ()) { _edit_area->setMarginLineNumbers (2, true); - _edit_area->setMarginsFont (xfont); - QFontMetrics metrics (xfont); - _edit_area->setMarginWidth(2, metrics.width("9999")); + _edit_area->setMarginWidth(2, lexer_font_metrics.width("9999")); } else { @@ -1045,8 +1030,6 @@ _edit_area->setMarginWidth(2, 0); } - update_lexer (); - _long_title = settings->value ("editor/longWindowTitle",false).toBool (); update_window_title (false);