Mercurial > hg > octave-nkf
diff gui/src/resource-manager.cc @ 15159:098546e95a5e gui
allow location of default settings file to be configurable
* gui/default-qt-settings: Rename from default-settings.
* gui/Makefile.am (octetc_DATA): New variable.
* resource-manager.cc (default_qt_settings_file): New function.
(resource_manager::reload_settings): Call default_qt_settings_file to
find default settings file.
* run-octave.in: Set OCTAVE_DEFAULT_QT_SETTINGS in the environment for
running octave.
* gui/src/Makefile.am (liboctgui_la_CPPFLAGS): Include -I../../src,
-I../../src/interpfcn, and -I../../src/parse-tree in the list.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 11 Aug 2012 17:58:12 -0400 |
parents | d02b229ce693 |
children | ad9523348676 |
line wrap: on
line diff
--- a/gui/src/resource-manager.cc +++ b/gui/src/resource-manager.cc @@ -15,11 +15,22 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "resource-manager.h" +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <string> + #include <QFile> #include <QDir> +#include <QNetworkProxy> -#include <QNetworkProxy> +#include "file-ops.h" +#include "oct-env.h" + +#include "defaults.h" + +#include "resource-manager.h" resource_manager resource_manager::_singleton; @@ -47,18 +58,30 @@ return _home_path; } +static std::string +default_qt_settings_file (void) +{ + std::string dsf = octave_env::getenv ("OCTAVE_DEFAULT_QT_SETTINGS"); + + if (dsf.empty ()) + dsf = Voct_etc_dir + file_ops::dir_sep_str () + "default-qt-settings"; + + return dsf; +} + void resource_manager::reload_settings () { QDesktopServices desktopServices; _home_path = desktopServices.storageLocation (QDesktopServices::HomeLocation); - QString settings_path = _home_path + "/.config/octave-gui/"; - QString settings_file = settings_path + "settings"; + QString settings_path = _home_path + "/.config/octave/"; + QString settings_file = settings_path + "qt-settings"; if (!QFile::exists (settings_file)) { QDir("/").mkpath (settings_path); - QFile::copy ("../default-settings", settings_file); + QFile::copy (QString::fromStdString (default_qt_settings_file ()), + settings_file); _first_run = true; } else