view .hgignore @ 31619:ad014fc78bd6

use individual local gui_settings objects Previously, we created a single gui_settings object (derived from QSettings) and accessed it from the resource_manager object. That design is not necessary and is not the way QSettings was designed to be used. Instead of managing a single object, we should be using individual QSettings objects where needed. Each individual QSettings object manages thread-safe access to a single global collection of settings. The Qt docs say that operations on QSettings are not thread safe, but that means that you can't create a QSettings object in one thread and use it in another without some locking. I'm not sure whether we were doing that correctly, but with this change it no longer matters. Each QSettings object does perform locking when reading or writing the underlying global data. * resource-manager.h, resource-manager.cc (resource_manager::m_settings): Delete data member. (resource_manager::get_settings): Delete. * annotation-dialog.cc, QTerminal.cc, QTerminal.h, command-widget.cc, command-widget.h, community-news.cc, dialog.cc, documentation-bookmarks.cc, documentation-bookmarks.h, documentation-dock-widget.cc, documentation-dock-widget.h, documentation.cc, documentation.h, dw-main-window.cc, dw-main-window.h, external-editor-interface.cc, files-dock-widget.cc, files-dock-widget.h, find-files-dialog.cc, history-dock-widget.cc, history-dock-widget.h, file-editor-interface.h, file-editor-tab.cc, file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc, octave-qscintilla.cc, main-window.cc, main-window.h, news-reader.cc, octave-dock-widget.cc, octave-dock-widget.h, qt-interpreter-events.cc, qt-interpreter-events.h, release-notes.cc, resource-manager.cc, resource-manager.h, set-path-dialog.cc, settings-dialog.cc, settings-dialog.h, shortcut-manager.cc, shortcut-manager.h, terminal-dock-widget.cc, terminal-dock-widget.h, variable-editor.cc, variable-editor.h, welcome-wizard.cc, workspace-model.cc, workspace-model.h, workspace-view.cc: Use local gui_settings objects instead of accessing a pointer to a single gui_settings object owned by the resource_manager object.
author John W. Eaton <jwe@octave.org>
date Fri, 02 Dec 2022 14:23:53 -0500
parents 12871ccce2e3
children 16b233ccaeab
line wrap: on
line source

syntax: regexp
## The recurrent (^|/) idiom in the regexps below should be understood
## to mean "at any directory" while the ^ idiom means "from the
## project's top-level directory".

## gnulib related files
(^|/)gnulib$
# This directory gets created by gnulib during the build.
(^|/)libgnu$
# gnulib makes these silly backup files.
.~$

## m4 related files
# This directory mostly contains cruft during build time, but it does
# contain some Octave code, so be more careful about what we ignore here.
^m4/(?!ax_).+\.m4$

## Autoconf, Automake automatically generated files
^aclocal\.m4$
^autom4te\.cache$
^config\.in\.h$
^configure$
(^|/)config.cache$
(^|/)config.h$
(^|/)config.log$
(^|/)config.status$

(^|/)Makefile\.in$
^INSTALL$

## CMake associated files
# Octave doesn't use CMake, but some IDEs use this index file to indicate
# what files are part of a project (e.g., CLion).  Ignore it (bug #55901).
^CMakeLists.txt$

## Emacs associated files
(^|/)TAGS$
(^|/)semantic.cache$

## Scripts associated with building Octave
^build-aux/config\.(guess|rpath|sub)$
(^|/)build-aux/check-subst-vars\.sh$
^build-aux/compile$
^build-aux/depcomp$
^build-aux/install-sh$
^build-aux/ltmain\.sh$
^build-aux/mdate-sh$
^build-aux/missing$
^build-aux/move-if-change$
(^|/)build-aux/subst-config-vals\.sh$
(^|/)build-aux/subst-cross-config-vals\.sh$
(^|/)build-aux/subst-script-vals\.sh$
^build-aux/texinfo\.tex$
^build-aux/ylwrap$

## Mercurial associated files
(^|/)HG-ID$

## Timestamp files used in build process
.*/\.dirstamp$
.*/\.octave-dirstamp$

## Intermediate compilation results for libraries
\.la$
.*/\.libs/
\.Plo$
\.Po$

## DLDFCN associated files
^libinterp/dldfcn/module\.mk$
(^|/)libinterp/dldfcn/PKG_ADD$
(^|/)libinterp/dldfcn/.*\.oct$

## liboctave/ directory associated patterns
# E.g., liboctave/operators/smx-op-inc.mk
^liboctave/operators/\w+-op-\w+\.mk$

## scripts/ directory associated patterns
# Package files
(^|/)scripts/.*/PKG_ADD$
# Java files
(^|/)scripts/java/octave\.jar$
(^|/)scripts/java/org/octave/.*\.class$

## libgui/ directory associated patterns
# Files generated by moc tool
(^|/)libgui/.*/moc-.*\.(cc|h)$
(^|/)libgui/languages/.*\.qm$

## Ignore patterns associated with documentation
# Info generated files
# E.g., doc/faq/OctaveFAQ.info, doc/interpreter/octave.info-4
^doc/\w+/\w+\.info(-\d+)?$

# Texinfo created temporary directories
(^|/)doc/(interpreter|liboctave)/(octave|liboctave)\.t2(d|p)/
# Texinfo created files
(^|/)doc/interpreter/.*\.texi$

# DOCSTRINGS files built in the source tree
(^|/)(libinterp|scripts)/DOCSTRINGS$

# Generated HTML directories
(^|/)doc/interpreter/octave\.html/
(^|/)doc/liboctave/liboctave\.html/

# Miscellaneous auto-generated files
(^|/)doc/interpreter/octave\.dvi$
(^|/)doc/interpreter/octave\.ps$
(^|/)doc/interpreter/doc-cache$
(^|/)doc/interpreter/octave_interpreter\.q(ch|hc)$

# Images and scripts for documentation
^doc/interpreter/images\.mk$
(^|/)doc/interpreter/.*\.eps$
(^|/)doc/interpreter/.*\.pdf$
(^|/)doc/interpreter/.*\.png$
(^|/)doc/interpreter/.*\.txt$

# timestamps for doc directory
^doc/\w+/stamp-(vti|\d+)$
^doc/\w+/version-\w+\.texi$

## Test associated patterns
-tst$

^.build/*