summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-12-24 21:02:37 (GMT)
committerMarius Kintel <marius@kintel.net>2011-12-24 21:02:37 (GMT)
commit0ab51d2d23045021aed225dec8d3c3003316a124 (patch)
tree56550f802d302e9ab4664e591581a273013c0934 /src
parentdc4bc159251e8300fa51554f50008d8c59a50a02 (diff)
Extracted librarydir initialization to separate function
Diffstat (limited to 'src')
-rw-r--r--src/highlighter.cc2
-rw-r--r--src/lexer.l2
-rw-r--r--src/mainwin.cc1
-rw-r--r--src/openscad.cc21
-rw-r--r--src/openscad.h2
-rw-r--r--src/parsersettings.cc25
-rw-r--r--src/parsersettings.h11
7 files changed, 41 insertions, 23 deletions
diff --git a/src/highlighter.cc b/src/highlighter.cc
index 759826c..64ea980 100644
--- a/src/highlighter.cc
+++ b/src/highlighter.cc
@@ -25,7 +25,7 @@
*/
#include "highlighter.h"
-#include "openscad.h" // extern int parser_error_pos;
+#include "parsersettings.h" // extern int parser_error_pos;
#ifdef _QCODE_EDIT_
Highlighter::Highlighter(QDocument *parent)
diff --git a/src/lexer.l b/src/lexer.l
index c799028..2102642 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -27,8 +27,8 @@
%{
#include "handle_dep.h"
-#include "openscad.h" // librarydir
#include "printutils.h"
+#include "parsersettings.h"
#include "parser_yacc.h"
#include <QStack>
#include <QFileInfo>
diff --git a/src/mainwin.cc b/src/mainwin.cc
index 3243847..6ef7777 100644
--- a/src/mainwin.cc
+++ b/src/mainwin.cc
@@ -27,6 +27,7 @@
#include "PolySetCache.h"
#include "MainWindow.h"
#include "openscad.h" // examplesdir
+#include "parsersettings.h"
#include "Preferences.h"
#include "printutils.h"
#include "node.h"
diff --git a/src/openscad.cc b/src/openscad.cc
index 0d5b25e..8b81f48 100644
--- a/src/openscad.cc
+++ b/src/openscad.cc
@@ -35,6 +35,7 @@
#include "nodedumper.h"
#include "printutils.h"
#include "handle_dep.h"
+#include "parsersettings.h"
#include <string>
#include <vector>
@@ -85,7 +86,6 @@ static void version()
std::string commandline_commands;
QString currentdir;
QString examplesdir;
-QString librarydir;
using std::string;
using std::vector;
@@ -221,24 +221,7 @@ int main(int argc, char **argv)
examplesdir = exdir.path();
}
- QDir libdir(QApplication::instance()->applicationDirPath());
-#ifdef Q_WS_MAC
- libdir.cd("../Resources"); // Libraries can be bundled
- if (!libdir.exists("libraries")) libdir.cd("../../..");
-#elif defined(Q_OS_UNIX)
- if (libdir.cd("../share/openscad/libraries")) {
- librarydir = libdir.path();
- } else
- if (libdir.cd("../../share/openscad/libraries")) {
- librarydir = libdir.path();
- } else
- if (libdir.cd("../../libraries")) {
- librarydir = libdir.path();
- } else
-#endif
- if (libdir.cd("libraries")) {
- librarydir = libdir.path();
- }
+ parser_init();
// Initialize global visitors
NodeCache nodecache;
diff --git a/src/openscad.h b/src/openscad.h
index 61aec0e..23ae4da 100644
--- a/src/openscad.h
+++ b/src/openscad.h
@@ -32,7 +32,6 @@ extern int get_fragments_from_r(double r, double fn, double fs, double fa);
#include <string>
extern std::string commandline_commands;
-extern int parser_error_pos;
#include <QString>
// The CWD when application started. We shouldn't change CWD, but until we stop
@@ -40,7 +39,6 @@ extern int parser_error_pos;
extern QString currentdir;
extern QString examplesdir;
-extern QString librarydir;
#endif
diff --git a/src/parsersettings.cc b/src/parsersettings.cc
new file mode 100644
index 0000000..bdd5eeb
--- /dev/null
+++ b/src/parsersettings.cc
@@ -0,0 +1,25 @@
+#include "parsersettings.h"
+#include <QApplication>
+#include <QDir>
+
+QString librarydir;
+
+void parser_init()
+{
+ QDir libdir(QApplication::instance()->applicationDirPath());
+#ifdef Q_WS_MAC
+ libdir.cd("../Resources"); // Libraries can be bundled
+ if (!libdir.exists("libraries")) libdir.cd("../../..");
+#elif defined(Q_OS_UNIX)
+ if (libdir.cd("../share/openscad/libraries")) {
+ librarydir = libdir.path();
+ } else if (libdir.cd("../../share/openscad/libraries")) {
+ librarydir = libdir.path();
+ } else if (libdir.cd("../../libraries")) {
+ librarydir = libdir.path();
+ } else
+#endif
+ if (libdir.cd("libraries")) {
+ librarydir = libdir.path();
+ }
+}
diff --git a/src/parsersettings.h b/src/parsersettings.h
new file mode 100644
index 0000000..7089df9
--- /dev/null
+++ b/src/parsersettings.h
@@ -0,0 +1,11 @@
+#ifndef PARSERSETTINGS_H_
+#define PARSERSETTINGS_H_
+
+#include <QString>
+
+extern QString librarydir;
+extern int parser_error_pos;
+
+void parser_init();
+
+#endif
contact: Jan Huwald // Impressum