Mercurial > octave
comparison libgui/src/settings-dialog.cc @ 31690:1a1f47f17ed4
eliminate resource_manager class
* gui-settings.cc, gui-settings.h
(gui_settings::get_gui_translation_dir,
gui_settings::config_translators,
gui_settings::get_valid_lexer_styles,
gui_settings::read_lexer_settings, gui_settings::update_settings_key,
gui_settings::update_network_settings, gui_settings::get_codecs,
gui_settings::combo_encoding): Move here from resource_manager class.
* file-editor-tab.cc, find-dialog.cc, main-window.cc,
octave-qobject.h, octave-qobject.cc, qt-interpreter-events.cc,
settings-dialog.cc: Change all uses of resource_manager class to use
gui_settings instead.
* octave-qscintilla.h, octave-qscintilla.cc
(octave_qscintilla::create_tmp_file): Move here from resource_manager
class.
(octave_qscintilla::ctx_menu_run_finished_signal,
octave_qscintilla::ctx_menu_run_finished): Use
QPointer<QTemporaryFile> instead of bare pointer in signal/slot
functions.
* octave-qobject.h, octave-qobject.cc
(octave_base_qobject::m_resource_manager): Delete data member.
(octave_base_qobject::get_resource_manager): Delete.
* resource-manager.h, resource-manager.cc: Delete.
* libgui/src/module.mk: Update.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 27 Dec 2022 14:55:03 -0500 |
parents | deb553ac2c54 |
children | 8fed04d0607c |
comparison
equal
deleted
inserted
replaced
31689:a8a7207a7341 | 31690:1a1f47f17ed4 |
---|---|
62 # include <Qsci/qscilexerbatch.h> | 62 # include <Qsci/qscilexerbatch.h> |
63 # include <Qsci/qscilexerdiff.h> | 63 # include <Qsci/qscilexerdiff.h> |
64 #endif | 64 #endif |
65 | 65 |
66 #include "gui-preferences-all.h" | 66 #include "gui-preferences-all.h" |
67 #include "gui-settings.h" | |
67 #include "octave-qobject.h" | 68 #include "octave-qobject.h" |
68 #include "octave-qtutils.h" | 69 #include "octave-qtutils.h" |
69 #include "settings-dialog.h" | 70 #include "settings-dialog.h" |
70 #include "variable-editor.h" | 71 #include "variable-editor.h" |
71 #include "workspace-model.h" | 72 #include "workspace-model.h" |
79 setupUi (this); | 80 setupUi (this); |
80 | 81 |
81 gui_settings settings; | 82 gui_settings settings; |
82 | 83 |
83 // look for available language files and the actual settings | 84 // look for available language files and the actual settings |
84 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); | 85 QString qm_dir_name = settings.get_gui_translation_dir (); |
85 QString qm_dir_name = rmgr.get_gui_translation_dir (); | |
86 | 86 |
87 QDir qm_dir (qm_dir_name); | 87 QDir qm_dir (qm_dir_name); |
88 QFileInfoList qm_files = qm_dir.entryInfoList (QStringList ("*.qm"), | 88 QFileInfoList qm_files = qm_dir.entryInfoList (QStringList ("*.qm"), |
89 QDir::Files | QDir::Readable, QDir::Name); | 89 QDir::Files | QDir::Readable, QDir::Name); |
90 | 90 |
231 customFileEditor->setText ( | 231 customFileEditor->setText ( |
232 settings.value (global_custom_editor.key, global_custom_editor.def).toString ()); | 232 settings.value (global_custom_editor.key, global_custom_editor.def).toString ()); |
233 editor_showLineNumbers->setChecked (settings.value (ed_show_line_numbers).toBool ()); | 233 editor_showLineNumbers->setChecked (settings.value (ed_show_line_numbers).toBool ()); |
234 editor_linenr_size->setValue (settings.value (ed_line_numbers_size).toInt ()); | 234 editor_linenr_size->setValue (settings.value (ed_line_numbers_size).toInt ()); |
235 | 235 |
236 rmgr.combo_encoding (editor_combo_encoding); | 236 settings.combo_encoding (editor_combo_encoding); |
237 | 237 |
238 editor_highlightCurrentLine->setChecked (settings.value (ed_highlight_current_line).toBool ()); | 238 editor_highlightCurrentLine->setChecked (settings.value (ed_highlight_current_line).toBool ()); |
239 editor_long_line_marker->setChecked (settings.value (ed_long_line_marker).toBool ()); | 239 editor_long_line_marker->setChecked (settings.value (ed_long_line_marker).toBool ()); |
240 bool long_line = | 240 bool long_line = |
241 settings.value (ed_long_line_marker_line).toBool (); | 241 settings.value (ed_long_line_marker_line).toBool (); |
503 setGeometry (QRect (10, 50, 1000, 600)); | 503 setGeometry (QRect (10, 50, 1000, 600)); |
504 } | 504 } |
505 | 505 |
506 void settings_dialog::show_tab (const QString& tab) | 506 void settings_dialog::show_tab (const QString& tab) |
507 { | 507 { |
508 gui_settings settings; | |
509 | |
508 if (tab.isEmpty ()) | 510 if (tab.isEmpty ()) |
509 { | 511 tabWidget->setCurrentIndex (settings.value (sd_last_tab).toInt ()); |
510 gui_settings settings; | |
511 | |
512 tabWidget->setCurrentIndex (settings.value (sd_last_tab).toInt ()); | |
513 } | |
514 else | 512 else |
515 { | 513 { |
516 QHash <QString, QWidget *> tab_hash; | 514 QHash <QString, QWidget *> tab_hash; |
517 tab_hash["editor"] = tab_editor; | 515 tab_hash["editor"] = tab_editor; |
518 tab_hash["editor_styles"] = tab_editor; | 516 tab_hash["editor_styles"] = tab_editor; |
641 | 639 |
642 void settings_dialog::update_editor_lexers (int def) | 640 void settings_dialog::update_editor_lexers (int def) |
643 { | 641 { |
644 #if defined (HAVE_QSCINTILLA) | 642 #if defined (HAVE_QSCINTILLA) |
645 | 643 |
646 gui_settings settings; | |
647 | |
648 QCheckBox *cb_color_mode | 644 QCheckBox *cb_color_mode |
649 = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key); | 645 = group_box_editor_styles->findChild <QCheckBox *> (ed_color_mode.key); |
650 | 646 |
651 int m = 0; | 647 int m = 0; |
652 if (cb_color_mode && cb_color_mode->isChecked ()) | 648 if (cb_color_mode && cb_color_mode->isChecked ()) |
653 m = 1; | 649 m = 1; |
654 | 650 |
655 color_picker *c_picker = findChild <color_picker *> (ed_highlight_current_line_color.key); | 651 color_picker *c_picker = findChild <color_picker *> (ed_highlight_current_line_color.key); |
656 if (c_picker) | 652 if (c_picker) |
657 { | 653 { |
654 gui_settings settings; | |
655 | |
658 if (def != settings_reload_default_colors_flag) | 656 if (def != settings_reload_default_colors_flag) |
659 { | 657 { |
660 // Get current value from settings or the default | 658 // Get current value from settings or the default |
661 c_picker->set_color (settings.color_value (ed_highlight_current_line_color, m)); | 659 c_picker->set_color (settings.color_value (ed_highlight_current_line_color, m)); |
662 } | 660 } |
720 | 718 |
721 void settings_dialog::update_lexer (QsciLexer *lexer, int mode, int def) | 719 void settings_dialog::update_lexer (QsciLexer *lexer, int mode, int def) |
722 { | 720 { |
723 // Get lexer settings and copy from default settings if not yet | 721 // Get lexer settings and copy from default settings if not yet |
724 // available in normal settings file | 722 // available in normal settings file |
725 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); | 723 gui_settings settings; |
726 rmgr.read_lexer_settings (lexer, mode, def); | 724 settings.read_lexer_settings (lexer, mode, def); |
727 | 725 |
728 // When reloading default styles, the style tabs do already exists. | 726 // When reloading default styles, the style tabs do already exists. |
729 // Otherwise, check if they exist or not. | 727 // Otherwise, check if they exist or not. |
730 QString lexer_name = lexer->language (); | 728 QString lexer_name = lexer->language (); |
731 | 729 |
747 return; | 745 return; |
748 } | 746 } |
749 | 747 |
750 // Update the styles elements in all styles | 748 // Update the styles elements in all styles |
751 int styles[ed_max_lexer_styles]; // array for saving valid styles | 749 int styles[ed_max_lexer_styles]; // array for saving valid styles |
752 int max_style = rmgr.get_valid_lexer_styles (lexer, styles); | 750 int max_style = settings.get_valid_lexer_styles (lexer, styles); |
753 QWidget *tab = tabs_editor_lexers->widget (index); | 751 QWidget *tab = tabs_editor_lexers->widget (index); |
754 int default_size = 0; | 752 int default_size = 0; |
755 QString default_family; | 753 QString default_family; |
756 | 754 |
757 for (int i = 0; i < max_style; i++) // create dialog elements for all styles | 755 for (int i = 0; i < max_style; i++) // create dialog elements for all styles |
820 | 818 |
821 } | 819 } |
822 | 820 |
823 void settings_dialog::get_lexer_settings (QsciLexer *lexer) | 821 void settings_dialog::get_lexer_settings (QsciLexer *lexer) |
824 { | 822 { |
825 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); | 823 gui_settings settings; |
826 | 824 |
827 int styles[ed_max_lexer_styles]; // array for saving valid styles | 825 int styles[ed_max_lexer_styles]; // array for saving valid styles |
828 // (enum is not continuous) | 826 // (enum is not continuous) |
829 int max_style = rmgr.get_valid_lexer_styles (lexer, styles); | 827 int max_style = settings.get_valid_lexer_styles (lexer, styles); |
830 QGridLayout *style_grid = new QGridLayout (); | 828 QGridLayout *style_grid = new QGridLayout (); |
831 QVector<QLabel *> description (max_style); | 829 QVector<QLabel *> description (max_style); |
832 QVector<QFontComboBox *> select_font (max_style); | 830 QVector<QFontComboBox *> select_font (max_style); |
833 QVector<QSpinBox *> font_size (max_style); | 831 QVector<QSpinBox *> font_size (max_style); |
834 QVector<QCheckBox *> attrib_font (3 * max_style); | 832 QVector<QCheckBox *> attrib_font (3 * max_style); |
908 scroll_area_contents->setObjectName (QString (lexer->language ()) + "_styles"); | 906 scroll_area_contents->setObjectName (QString (lexer->language ()) + "_styles"); |
909 scroll_area_contents->setLayout (style_grid); | 907 scroll_area_contents->setLayout (style_grid); |
910 scroll_area->setWidget (scroll_area_contents); | 908 scroll_area->setWidget (scroll_area_contents); |
911 tabs_editor_lexers->addTab (scroll_area, lexer->language ()); | 909 tabs_editor_lexers->addTab (scroll_area, lexer->language ()); |
912 | 910 |
913 gui_settings settings; | |
914 | |
915 tabs_editor_lexers->setCurrentIndex (settings.value (sd_last_editor_styles_tab).toInt ()); | 911 tabs_editor_lexers->setCurrentIndex (settings.value (sd_last_editor_styles_tab).toInt ()); |
916 } | 912 } |
917 | 913 |
918 void settings_dialog::write_lexer_settings (QsciLexer *lexer) | 914 void settings_dialog::write_lexer_settings (QsciLexer *lexer) |
919 { | 915 { |
930 QWidget *tab = tabs_editor_lexers-> | 926 QWidget *tab = tabs_editor_lexers-> |
931 findChild <QWidget *> (QString (lexer->language ()) + "_styles"); | 927 findChild <QWidget *> (QString (lexer->language ()) + "_styles"); |
932 int styles[ed_max_lexer_styles]; // array for saving valid styles | 928 int styles[ed_max_lexer_styles]; // array for saving valid styles |
933 // (enum is not continuous) | 929 // (enum is not continuous) |
934 | 930 |
935 resource_manager& rmgr = m_octave_qobj.get_resource_manager (); | 931 int max_style = settings.get_valid_lexer_styles (lexer, styles); |
936 int max_style = rmgr.get_valid_lexer_styles (lexer, styles); | |
937 | 932 |
938 QFontComboBox *select_font; | 933 QFontComboBox *select_font; |
939 QSpinBox *font_size; | 934 QSpinBox *font_size; |
940 QCheckBox *attrib_font[3]; | 935 QCheckBox *attrib_font[3]; |
941 color_picker *color; | 936 color_picker *color; |