changeset 15160: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 960aa8863476
children 973296940c89
files gui/Makefile.am gui/default-qt-settings gui/default-settings gui/src/Makefile.am gui/src/resource-manager.cc run-octave.in
diffstat 5 files changed, 34 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -1,1 +1,3 @@
 SUBDIRS = src
+
+octetc_DATA = default-qt-settings
rename from gui/default-settings
rename to gui/default-qt-settings
--- a/gui/src/Makefile.am
+++ b/gui/src/Makefile.am
@@ -92,7 +92,10 @@
   -I$(srcdir)/../../libcruft/misc \
   -I../../liboctave \
   -I$(srcdir)/../../liboctave \
+  -I../../src \
   -I../../src/interp-core \
+  -I../../src/interpfcn \
+  -I../../src/parse-tree \
   -I$(srcdir)/../../src \
   -I$(srcdir)/../../src/interp-core \
   -I$(srcdir)/../../src/interpfcn \
--- 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
--- a/run-octave.in
+++ b/run-octave.in
@@ -73,6 +73,7 @@
 fi
 
 OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \
+OCTAVE_DEFAULT_QT_SETTINGS="$top_srcdir/gui/default-qt-settings" \
   exec $builddir/libtool --mode=execute $driver \
     "$octave_executable" --no-init-path --path="$LOADPATH" \
     --image-path="$IMAGEPATH" --doc-cache-file="$DOCFILE" \