diff options
author | Marius Kintel <marius@kintel.net> | 2011-12-24 21:02:37 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-12-24 21:02:37 (GMT) |
commit | 0ab51d2d23045021aed225dec8d3c3003316a124 (patch) | |
tree | 56550f802d302e9ab4664e591581a273013c0934 /src | |
parent | dc4bc159251e8300fa51554f50008d8c59a50a02 (diff) |
Extracted librarydir initialization to separate function
Diffstat (limited to 'src')
-rw-r--r-- | src/highlighter.cc | 2 | ||||
-rw-r--r-- | src/lexer.l | 2 | ||||
-rw-r--r-- | src/mainwin.cc | 1 | ||||
-rw-r--r-- | src/openscad.cc | 21 | ||||
-rw-r--r-- | src/openscad.h | 2 | ||||
-rw-r--r-- | src/parsersettings.cc | 25 | ||||
-rw-r--r-- | src/parsersettings.h | 11 |
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 |