diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-09-24 08:38:28 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-09-24 08:38:28 (GMT) |
commit | d216657a2297bfa085a8baeda3fda5d7cee432fe (patch) | |
tree | f111f842d0c2ae6d60cc41a6a7fbd1712f52e246 /mainwin.cc | |
parent | 529f35af7c3893e92036b83d67c185b2b71d10fa (diff) |
Stefan Farthofer:
Using QFileInfo and QDir for directory changes
git-svn-id: http://svn.clifford.at/openscad/trunk@92 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'mainwin.cc')
-rw-r--r-- | mainwin.cc | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -32,6 +32,7 @@ #include <QHBoxLayout> #include <QVBoxLayout> #include <QLabel> +#include <QFileInfo> //for chdir #include <unistd.h> @@ -40,7 +41,7 @@ QPointer<MainWindow> current_win; MainWindow::MainWindow(const char *filename) { - root_ctx.functions_p = &builtin_functions; + root_ctx.functions_p = &builtin_functions; root_ctx.modules_p = &builtin_modules; root_ctx.set_variable("$fn", Value(0.0)); root_ctx.set_variable("$fs", Value(1.0)); @@ -269,15 +270,9 @@ void MainWindow::maybe_change_dir() if (filename.isEmpty()) return; - int dir_end_index = filename.lastIndexOf("/"); - if (dir_end_index < 0) - return; - - QString dirname = filename.mid(0, dir_end_index); - if (chdir(dirname.toAscii().data()) < 0) - return; - - filename = filename.mid(dir_end_index+1); + QFileInfo fileInfo(filename); + QDir::setCurrent(fileInfo.dir().absolutePath()); + filename = fileInfo.fileName(); } void MainWindow::find_root_tag(AbstractNode *n) |