Mercurial > octave-dspies
changeset 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 | 2a294ee8efc0 |
children | 1de4ec2a856d |
files | libgui/src/color-picker.cc libgui/src/color-picker.h libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/lexer-octave-gui.cc libgui/src/m-editor/lexer-octave-gui.h libgui/src/module.mk libgui/src/settings-dialog.cc libgui/src/settings-dialog.h libgui/src/settings-dialog.ui |
diffstat | 9 files changed, 343 insertions(+), 219 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgui/src/color-picker.cc Sun Mar 31 23:56:11 2013 +0200 @@ -0,0 +1,55 @@ +// +// This class provides a simple color picker based on tQColorButton +// by Harald Jedele, 23.03.01, GPL version 2 or any later version. +// +// Copyright (C) FZI Forschungszentrum Informatik Karlsruhe +// Copyright (C) 2013 Torsten <ttl@justmail.de> +// +// This file is part of Octave. +// +// Octave 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 3 of the License, or (at your +// option) any later version. +// +// Octave 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 Octave; see the file COPYING. If not, see +// <http://www.gnu.org/licenses/>. +// + +#include "color-picker.h" + +// constuctor with initial color as parameter +color_picker::color_picker (QColor old_color, QWidget* p) : QPushButton (p) +{ + _color = old_color; + setFlat (true); + update_button (); + connect(this, SIGNAL (clicked ()), SLOT (select_color ())); +} + +// slot for bitton clicked: selct a new color using QColorDialog +void +color_picker::select_color () +{ + QColor new_color = QColorDialog::getColor (_color); + if (new_color.isValid () && new_color != _color) + { + _color = new_color; + update_button (); + } +} + +// draw the button with the actual color (using a stylesheet) +void color_picker::update_button () +{ + QString css = QString("background-color: %1; border: none;" ) + .arg(_color.name()); + setStyleSheet(css); + repaint (); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgui/src/color-picker.h Sun Mar 31 23:56:11 2013 +0200 @@ -0,0 +1,47 @@ +// +// This class provides a simple color picker based on tQColorButton +// by Harald Jedele, 23.03.01, GPL version 2 or any later version. +// +// Copyright (C) FZI Forschungszentrum Informatik Karlsruhe +// Copyright (C) 2013 Torsten <ttl@justmail.de> +// +// This file is part of Octave. +// +// Octave 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 3 of the License, or (at your +// option) any later version. +// +// Octave 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 Octave; see the file COPYING. If not, see +// <http://www.gnu.org/licenses/>. +// + +#ifndef COLORPICKER_H +#define COLORPICKER_H + +#include <QPushButton> +#include <QColorDialog> + +class color_picker: public QPushButton +{ + Q_OBJECT + +public: + color_picker (QColor color = QColor(0,0,0), QWidget *parent = 0); + QColor color () const { return _color; } + +private slots: + void select_color (); + +private: + virtual void update_button (); + QColor _color; +}; + +#endif
--- a/libgui/src/m-editor/file-editor-tab.cc Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/m-editor/file-editor-tab.cc Sun Mar 31 23:56:11 2013 +0200 @@ -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);
--- a/libgui/src/m-editor/lexer-octave-gui.cc Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/m-editor/lexer-octave-gui.cc Sun Mar 31 23:56:11 2013 +0200 @@ -34,33 +34,27 @@ // Some basic functions // ----------------------------------------------------- lexer_octave_gui::lexer_octave_gui (QObject *p) - : QsciLexer (p) + : QsciLexerOctave (p) { // The API info that is used for auto completion // TODO: Where to store a file with API info (raw or prepared?)? // TODO: Also provide infos on octave-forge functions? // TODO: Also provide infos on function parameters? // By now, use the keywords-list from syntax highlighting - QString keyword; QStringList keywordList; - - // get whole string with all keywords - keyword = this->keywords (1); - // split into single strings - keywordList = keyword.split (QRegExp ("\\s+")); - + keyword = this->keywords (1); // get whole string with all keywords + keywordList = keyword.split (QRegExp ("\\s+")); // split into single strings lexer_api = new QsciAPIs (this); if (lexer_api) { - for (int i = 0; i < keywordList.size (); i++) - { - // add single strings to the API - lexer_api->add (keywordList.at (i)); - } - // prepare API info ... this may take some time - lexer_api->prepare (); + for (int i = 0; i < keywordList.size (); i++) // add all keywords to API + lexer_api->add (keywordList.at (i)); + lexer_api->prepare (); // prepare API info ... this may take some time } + + // get the settings from the settings file + QSettings *settings = resource_manager::get_settings (); } lexer_octave_gui::~lexer_octave_gui() @@ -69,111 +63,14 @@ delete lexer_api; } -const char *lexer_octave_gui::language() const -{ - return "Octave"; // return the name of the language -} - -const char *lexer_octave_gui::lexer() const -{ - return "octave"; // return the name of the lexer -} - -// ----------------------------------------------------- -// The colors for syntax highlighting -// ----------------------------------------------------- -QColor lexer_octave_gui::defaultColor(int style) const -{ - switch (style) - { - case Default: // black - return QColor(0x00,0x00,0x00); - case Operator: // red - return QColor(0xef,0x00,0x00); - case Comment: // gray - return QColor(0x7f,0x7f,0x7f); - case Command: // blue-green - return QColor(0x00,0x7f,0x7f); - case Number: // orange - return QColor(0x7f,0x7f,0x00); - case Keyword: // blue - return QColor(0x00,0x00,0xbf); - case SingleQuotedString: // green - return QColor(0x00,0x7f,0x00); - case DoubleQuotedString: // green-yellow - return QColor(0x4f,0x7f,0x00); - } - return QsciLexer::defaultColor(style); -} - - -// ----------------------------------------------------- -// The font decorations for highlighting -// ----------------------------------------------------- -QFont lexer_octave_gui::defaultFont(int style) const -{ - QFont f; - - switch (style) - { - case Comment: // default but italic - f = QsciLexer::defaultFont(style); - f.setItalic(true); - break; - case Keyword: // default - f = QsciLexer::defaultFont(style); - break; - case Operator: // default - f = QsciLexer::defaultFont(style); - break; - default: // default - f = QsciLexer::defaultFont(style); - break; - } - return f; // return the selected font -} - - -// ----------------------------------------------------- -// Style names -// ----------------------------------------------------- -QString lexer_octave_gui::description(int style) const -{ - switch (style) - { - case Default: - return tr("Default"); - case Comment: - return tr("Comment"); - case Command: - return tr("Command"); - case Number: - return tr("Number"); - case Keyword: - return tr("Keyword"); - case SingleQuotedString: - return tr("Single-quoted string"); - case Operator: - return tr("Operator"); - case Identifier: - return tr("Identifier"); - case DoubleQuotedString: - return tr("Double-quoted string"); - } - return QString(); -} - - // ----------------------------------------------------- // The set of keywords for highlighting -// TODO: How to define a second set? // ----------------------------------------------------- const char *lexer_octave_gui::keywords(int set) const { if (set == 1) - { return resource_manager::octave_keywords (); - } + return 0; }
--- a/libgui/src/m-editor/lexer-octave-gui.h Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/m-editor/lexer-octave-gui.h Sun Mar 31 23:56:11 2013 +0200 @@ -26,36 +26,18 @@ #include "resource-manager.h" #include <QObject> #include <Qsci/qsciglobal.h> -#include <Qsci/qscilexer.h> +#include <Qsci/qscilexeroctave.h> #include <Qsci/qsciapis.h> -class lexer_octave_gui : public QsciLexer +class lexer_octave_gui : public QsciLexerOctave { Q_OBJECT - public: - // the used styles - enum - { - Default = 0, - Comment = 1, - Command = 2, - Number = 3, - Keyword = 4, - SingleQuotedString = 5, - Operator = 6, - Identifier = 7, - DoubleQuotedString = 8 - }; +public: lexer_octave_gui (QObject *parent = 0); ~lexer_octave_gui (); - const char *language () const; - const char *lexer () const; - QColor defaultColor (int style) const; - QFont defaultFont (int style) const; - const char *keywords (int set) const; - QString description (int style) const; + virtual const char *keywords (int set) const; private: lexer_octave_gui (const lexer_octave_gui &);
--- a/libgui/src/module.mk Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/module.mk Sun Mar 31 23:56:11 2013 +0200 @@ -74,6 +74,7 @@ src/moc-octave-qt-event-listener.cc \ src/moc-settings-dialog.cc \ src/moc-terminal-dockwidget.cc \ + src/moc-color-picker.cc \ src/moc-welcome-wizard.cc \ src/moc-workspace-model.cc \ src/moc-workspace-view.cc \ @@ -114,6 +115,7 @@ src/settings-dialog.h \ src/symbol-information.h \ src/terminal-dockwidget.h \ + src/color-picker.h \ src/welcome-wizard.h \ src/workspace-model.h \ src/workspace-view.h @@ -137,6 +139,7 @@ src/settings-dialog.cc \ src/symbol-information.cc \ src/terminal-dockwidget.cc \ + src/color-picker.cc \ src/welcome-wizard.cc \ src/workspace-model.cc \ src/workspace-view.cc
--- a/libgui/src/settings-dialog.cc Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/settings-dialog.cc Sun Mar 31 23:56:11 2013 +0200 @@ -31,6 +31,16 @@ #include <QDir> #include <QFileInfo> +#ifdef HAVE_QSCINTILLA +#include <QScrollArea> +#include "color-picker.h" +#include <Qsci/qscilexercpp.h> +#include <Qsci/qscilexerbash.h> +#include <Qsci/qscilexerperl.h> +#include <Qsci/qscilexerbatch.h> +#include <Qsci/qscilexerdiff.h> +#endif + settings_dialog::settings_dialog (QWidget *p): QDialog (p), ui (new Ui::settings_dialog) { @@ -71,8 +81,6 @@ ui->editor_showLineNumbers->setChecked (settings->value ("editor/showLineNumbers",true).toBool () ); ui->editor_highlightCurrentLine->setChecked (settings->value ("editor/highlightCurrentLine",true).toBool () ); ui->editor_codeCompletion->setChecked (settings->value ("editor/codeCompletion",true).toBool () ); - ui->editor_fontName->setCurrentFont (QFont (settings->value ("editor/fontName","Courier New").toString()) ); - ui->editor_fontSize->setValue (settings->value ("editor/fontSize",10).toInt ()); ui->editor_longWindowTitle->setChecked (settings->value ("editor/longWindowTitle",false).toBool ()); ui->editor_restoreSession->setChecked (settings->value ("editor/restoreSession",true).toBool ()); ui->terminal_fontName->setCurrentFont (QFont (settings->value ("terminal/fontName","Courier New").toString()) ); @@ -114,6 +122,29 @@ ui->proxyPort->setText (settings->value ("proxyPort").toString ()); ui->proxyUserName->setText (settings->value ("proxyUserName").toString ()); ui->proxyPassword->setText (settings->value ("proxyPassword").toString ()); + +#ifdef HAVE_QSCINTILLA + // editor styles: create lexer, read settings, and create dialog elements + QsciLexer *lexer; + lexer = new lexer_octave_gui (); + read_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerCPP (); + read_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerPerl (); + read_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerBatch (); + read_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerDiff (); + read_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerBash (); + read_lexer_settings (lexer,settings); + delete lexer; +#endif } settings_dialog::~settings_dialog () @@ -121,6 +152,80 @@ delete ui; } + +#ifdef HAVE_QSCINTILLA +void +settings_dialog::read_lexer_settings (QsciLexer *lexer, QSettings *settings) +{ + lexer->readSettings (*settings); + int styles = 0; + while (lexer->description(styles) != "") + styles++; + QGridLayout *style_grid = new QGridLayout (); + QLabel *description[styles]; + QFontComboBox *select_font[styles]; + QSpinBox *font_size[styles]; + QCheckBox *attrib_font[3][styles]; + color_picker *color[styles]; + int default_size = 10; + QFont default_font = QFont (); + for (int i = 0; i < styles; i++) // create dialog elements for all styles + { + QString actual_name = lexer->description (i); + QFont actual_font = lexer->font (i); + description[i] = new QLabel (actual_name); + select_font[i] = new QFontComboBox (); + select_font[i]->setObjectName (actual_name+"_font"); + font_size[i] = new QSpinBox (); + font_size[i]->setObjectName (actual_name+"_size"); + if (i == 0) // the default + { + select_font[i]->setCurrentFont (actual_font); + default_font = actual_font; + font_size[i]->setRange (6,24); + default_size = actual_font.pointSize (); + font_size[i]->setValue (default_size); + } + else // other styles + { + select_font[i]->setCurrentFont (actual_font); + if (actual_font.family () == default_font.family ()) + select_font[i]->setEditText (lexer->description (0)); + font_size[i]->setRange (-4,4); + font_size[i]->setValue (actual_font.pointSize ()-default_size); + font_size[i]->setToolTip ("Difference to the defalt size"); + } + attrib_font[0][i] = new QCheckBox (tr("b")); + attrib_font[1][i] = new QCheckBox (tr("i")); + attrib_font[2][i] = new QCheckBox (tr("u")); + attrib_font[0][i]->setChecked(Qt::Checked && actual_font.bold ()); + attrib_font[0][i]->setObjectName (actual_name+"_bold"); + attrib_font[1][i]->setChecked(Qt::Checked && actual_font.italic ()); + attrib_font[1][i]->setObjectName (actual_name+"_italic"); + attrib_font[2][i]->setChecked(Qt::Checked && actual_font.underline ()); + attrib_font[2][i]->setObjectName (actual_name+"_underline"); + color[i] = new color_picker (lexer->color (i)); + color[i]->setObjectName (actual_name+"_color"); + int column = 1; + style_grid->addWidget (description[i], i,column++); + style_grid->addWidget (select_font[i], i,column++); + style_grid->addWidget (font_size[i], i,column++); + style_grid->addWidget (attrib_font[0][i],i,column++); + style_grid->addWidget (attrib_font[1][i],i,column++); + style_grid->addWidget (attrib_font[2][i],i,column++); + style_grid->addWidget (color[i], i,column++); + } + // place grid with elements into the tab + QScrollArea *scroll_area = new QScrollArea (); + QWidget *scroll_area_contents = new QWidget (); + scroll_area_contents->setObjectName (QString (lexer->language ())+"_styles"); + scroll_area_contents->setLayout (style_grid); + scroll_area->setWidget (scroll_area_contents); + ui->tabs_editor_styles->addTab (scroll_area,lexer->language ()); +} +#endif + + void settings_dialog::write_changed_settings () { @@ -147,8 +252,6 @@ settings->setValue ("editor/showLineNumbers", ui->editor_showLineNumbers->isChecked ()); settings->setValue ("editor/highlightCurrentLine", ui->editor_highlightCurrentLine->isChecked ()); settings->setValue ("editor/codeCompletion", ui->editor_codeCompletion->isChecked ()); - settings->setValue ("editor/fontName", ui->editor_fontName->currentFont().family()); - settings->setValue ("editor/fontSize", ui->editor_fontSize->value()); settings->setValue ("editor/longWindowTitle", ui->editor_longWindowTitle->isChecked()); settings->setValue ("editor/restoreSession", ui->editor_restoreSession->isChecked ()); settings->setValue ("terminal/fontSize", ui->terminal_fontSize->value()); @@ -177,4 +280,87 @@ } settings->setValue ("terminal/cursorType", cursorType); settings->sync (); + +#ifdef HAVE_QSCINTILLA + // editor styles: create lexer, get dialog contents, and write settings + QsciLexer *lexer; + lexer = new lexer_octave_gui (); + write_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerCPP (); + write_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerPerl (); + write_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerBatch (); + write_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerDiff (); + write_lexer_settings (lexer,settings); + delete lexer; + lexer = new QsciLexerBash (); + write_lexer_settings (lexer,settings); + delete lexer; +#endif } + +#ifdef HAVE_QSCINTILLA +void +settings_dialog::write_lexer_settings (QsciLexer *lexer, QSettings *settings) +{ + QWidget *tab = ui->tabs_editor_styles-> + findChild <QWidget *>(QString (lexer->language ())+"_styles"); + int styles = 0; + while (lexer->description(styles) != "") + styles++; + QFontComboBox *select_font; + QSpinBox *font_size; + QCheckBox *attrib_font[3]; + color_picker *color; + int default_size = 10; + QFont default_font = QFont ("Courier New",10,-1,0); + for (int i = 0; i < styles; i++) // get dialog elements and their contents + { + QString actual_name = lexer->description (i); + select_font = tab->findChild <QFontComboBox *>(actual_name+"_font"); + font_size = tab->findChild <QSpinBox *>(actual_name+"_size"); + attrib_font[0] = tab->findChild <QCheckBox *>(actual_name+"_bold"); + attrib_font[1] = tab->findChild <QCheckBox *>(actual_name+"_italic"); + attrib_font[2] = tab->findChild <QCheckBox *>(actual_name+"_underline"); + color = tab->findChild <color_picker *>(actual_name+"_color"); + QFont new_font = default_font; + if (select_font) + { + new_font = select_font->currentFont (); + if (i == 0) + default_font = new_font; + else + if (select_font->currentText () == lexer->description (0)) + new_font = default_font; + } + if (font_size) + { + if (i == 0) + { + default_size = font_size->value (); + new_font.setPointSize (font_size->value ()); + } + else + new_font.setPointSize (font_size->value ()+default_size); + } + if (attrib_font[0]) + new_font.setBold (attrib_font[0]->isChecked ()); + if (attrib_font[1]) + new_font.setItalic (attrib_font[1]->isChecked ()); + if (attrib_font[2]) + new_font.setUnderline (attrib_font[2]->isChecked ()); + lexer->setFont (new_font,i); + if (i == 0) + lexer->setDefaultFont (new_font); + if (color) + lexer->setColor (color->color (),i); + } + lexer->writeSettings (*settings); +} +#endif
--- a/libgui/src/settings-dialog.h Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/settings-dialog.h Sun Mar 31 23:56:11 2013 +0200 @@ -24,6 +24,9 @@ #define SETTINGSDIALOG_H #include <QDialog> +#ifdef HAVE_QSCINTILLA +#include "lexer-octave-gui.h" +#endif namespace Ui { @@ -39,6 +42,10 @@ private: Ui::settings_dialog * ui; +#ifdef HAVE_QSCINTILLA + void read_lexer_settings (QsciLexer *lexer, QSettings *settings); + void write_lexer_settings (QsciLexer *lexer, QSettings *settings); +#endif }; #endif // SETTINGSDIALOG_H
--- a/libgui/src/settings-dialog.ui Sun Mar 31 14:45:28 2013 -0400 +++ b/libgui/src/settings-dialog.ui Sun Mar 31 23:56:11 2013 +0200 @@ -9,20 +9,20 @@ <rect> <x>0</x> <y>0</y> - <width>600</width> - <height>400</height> + <width>700</width> + <height>480</height> </rect> </property> <property name="minimumSize"> <size> - <width>600</width> - <height>400</height> + <width>700</width> + <height>480</height> </size> </property> <property name="maximumSize"> <size> - <width>600</width> - <height>400</height> + <width>700</width> + <height>480</height> </size> </property> <property name="windowTitle"> @@ -157,58 +157,7 @@ <item> <layout class="QVBoxLayout" name="verticalLayout_5"> <item> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QLabel" name="label_8"> - <property name="text"> - <string>Font</string> - </property> - </widget> - </item> - <item> - <widget class="QFontComboBox" name="editor_fontName"> - <property name="editable"> - <bool>false</bool> - </property> - <property name="fontFilters"> - <set>QFontComboBox::MonospacedFonts</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_9"> - <property name="text"> - <string>Font Size</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="editor_fontSize"> - <property name="minimum"> - <number>2</number> - </property> - <property name="maximum"> - <number>96</number> - </property> - <property name="value"> - <number>10</number> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> + <layout class="QHBoxLayout" name="horizontalLayout_4"/> </item> <item> <widget class="QCheckBox" name="editor_showLineNumbers"> @@ -298,6 +247,21 @@ </item> </layout> </widget> + <widget class="QWidget" name="tab_6"> + <attribute name="title"> + <string>Editor Styles</string> + </attribute> + <widget class="QTabWidget" name="tabs_editor_styles"> + <property name="geometry"> + <rect> + <x>2</x> + <y>9</y> + <width>671</width> + <height>381</height> + </rect> + </property> + </widget> + </widget> <widget class="QWidget" name="tab_5"> <attribute name="title"> <string>Terminal</string>