summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dxfdim.cc17
-rw-r--r--src/dxflinextrude.cc16
-rw-r--r--src/dxfrotextrude.cc16
3 files changed, 18 insertions, 31 deletions
diff --git a/src/dxfdim.cc b/src/dxfdim.cc
index a45768d..5311209 100644
--- a/src/dxfdim.cc
+++ b/src/dxfdim.cc
@@ -32,10 +32,9 @@
#include "context.h"
#include "mathc99.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
#include <QHash>
+#include <QDatetime>
+#include <QFileInfo>
QHash<QString,Value> dxf_dim_cache;
QHash<QString,Value> dxf_cross_cache;
@@ -62,12 +61,10 @@ Value builtin_dxf_dim(const Context *ctx, const QVector<QString> &argnames, cons
name = args[i].text;
}
- struct stat st;
- memset(&st, 0, sizeof(struct stat));
- stat(filename.toAscii().data(), &st);
+ QFileInfo fileInfo(filename);
QString key = filename + "|" + layername + "|" + name + "|" + QString::number(xorigin) + "|" + QString::number(yorigin) +
- "|" + QString::number(scale) + "|" + QString::number(st.st_mtime) + "|" + QString::number(st.st_size);
+ "|" + QString::number(scale) + "|" + QString::number(fileInfo.lastModified().toTime_t()) + "|" + QString::number(fileInfo.size());
if (dxf_dim_cache.contains(key))
return dxf_dim_cache[key];
@@ -144,12 +141,10 @@ Value builtin_dxf_cross(const Context *ctx, const QVector<QString> &argnames, co
args[i].getnum(scale);
}
- struct stat st;
- memset(&st, 0, sizeof(struct stat));
- stat(filename.toAscii().data(), &st);
+ QFileInfo fileInfo(filename);
QString key = filename + "|" + layername + "|" + QString::number(xorigin) + "|" + QString::number(yorigin) +
- "|" + QString::number(scale) + "|" + QString::number(st.st_mtime) + "|" + QString::number(st.st_size);
+ "|" + QString::number(scale) + "|" + QString::number(fileInfo.lastModified().toTime_t()) + "|" + QString::number(fileInfo.size());
if (dxf_cross_cache.contains(key))
return dxf_cross_cache[key];
diff --git a/src/dxflinextrude.cc b/src/dxflinextrude.cc
index 83c3d9c..df364e5 100644
--- a/src/dxflinextrude.cc
+++ b/src/dxflinextrude.cc
@@ -34,13 +34,11 @@
#include "progress.h"
#include "openscad.h" // get_fragments_from_r()
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
#include <QApplication>
#include <QTime>
#include <QProgressDialog>
+#include <QDateTime>
+#include <QFileInfo>
class DxfLinearExtrudeModule : public AbstractModule
{
@@ -320,14 +318,12 @@ QString DxfLinearExtrudeNode::dump(QString indent) const
{
if (dump_cache.isEmpty()) {
QString text;
- struct stat st;
- memset(&st, 0, sizeof(struct stat));
- stat(filename.toAscii().data(), &st);
+ QFileInfo fileInfo(filename);
text.sprintf("linear_extrude(file = \"%s\", cache = \"%x.%x\", layer = \"%s\", "
"height = %g, origin = [ %g %g ], scale = %g, center = %s, convexity = %d",
- filename.toAscii().data(), (int)st.st_mtime, (int)st.st_size,
- layername.toAscii().data(), height, origin_x, origin_y, scale,
- center ? "true" : "false", convexity);
+ filename.toAscii().data(), (int)fileInfo.lastModified().toTime_t(),
+ (int)fileInfo.size(), layername.toAscii().data(), height, origin_x,
+ origin_y, scale, center ? "true" : "false", convexity);
if (has_twist) {
QString t2;
t2.sprintf(", twist = %g, slices = %d", twist, slices);
diff --git a/src/dxfrotextrude.cc b/src/dxfrotextrude.cc
index ea603f0..6344d2a 100644
--- a/src/dxfrotextrude.cc
+++ b/src/dxfrotextrude.cc
@@ -33,13 +33,11 @@
#include "progress.h"
#include "openscad.h" // get_fragments_from_r()
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
#include <QTime>
#include <QApplication>
#include <QProgressDialog>
+#include <QDateTime>
+#include <QFileInfo>
class DxfRotateExtrudeModule : public AbstractModule
{
@@ -217,15 +215,13 @@ QString DxfRotateExtrudeNode::dump(QString indent) const
{
if (dump_cache.isEmpty()) {
QString text;
- struct stat st;
- memset(&st, 0, sizeof(struct stat));
- stat(filename.toAscii().data(), &st);
+ QFileInfo fileInfo(filename);
text.sprintf("rotate_extrude(file = \"%s\", cache = \"%x.%x\", layer = \"%s\", "
"origin = [ %g %g ], scale = %g, convexity = %d, "
"$fn = %g, $fa = %g, $fs = %g) {\n",
- filename.toAscii().data(), (int)st.st_mtime, (int)st.st_size,
- layername.toAscii().data(), origin_x, origin_y, scale, convexity,
- fn, fa, fs);
+ filename.toAscii().data(), (int)fileInfo.lastModified().toTime_t(),
+ (int)fileInfo.size(),layername.toAscii().data(), origin_x, origin_y,
+ scale, convexity, fn, fa, fs);
foreach (AbstractNode *v, children)
text += v->dump(indent + QString("\t"));
text += indent + "}\n";
contact: Jan Huwald // Impressum