summaryrefslogtreecommitdiffstats
path: root/src/sq_dir.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2025-02-10 15:10:13 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2025-02-13 11:44:42 +0900
commit8f8f84410cc591c85c5e83e0b3efdcda5fdbe42e (patch)
treef273a932ce048ef22ea9d9888b77ea8a2b8f3e33 /src/sq_dir.cpp
parent424635023ee423826de12514b2fec7834b8deb7b (diff)
downloadksquirrel-8f8f8441.tar.gz
ksquirrel-8f8f8441.zip
Rename 'ksquirrel' folder to 'src'
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 203fcb8d90752b546c672c625927a136b959fcfb)
Diffstat (limited to 'src/sq_dir.cpp')
-rw-r--r--src/sq_dir.cpp92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/sq_dir.cpp b/src/sq_dir.cpp
new file mode 100644
index 0000000..a4dbd0c
--- /dev/null
+++ b/src/sq_dir.cpp
@@ -0,0 +1,92 @@
+/***************************************************************************
+ sq_dir.cpp - description
+ -------------------
+ begin : ??? ??? 20 2004
+ copyright : (C) 2004 by Baryshev Dmitry
+ email : ksquirrel.iv@gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <tqstringlist.h>
+#include <tqfile.h>
+#include <tqdatetime.h>
+#include <tqfileinfo.h>
+
+#include <kurl.h>
+
+#include "sq_dir.h"
+#include "sq_thumbnailinfo.h"
+
+SQ_Dir::SQ_Dir() : TQDir()
+{}
+
+SQ_Dir::SQ_Dir(Prefix p) : TQDir()
+{
+ switch(p)
+ {
+ case SQ_Dir::DirectoryBasket:
+ setRoot("directorybasket");
+ break;
+ case SQ_Dir::Basket:
+ setRoot("basket");
+ break;
+ case SQ_Dir::Categories:
+ setRoot("categories");
+ break;
+ }
+}
+
+SQ_Dir::~SQ_Dir()
+{}
+
+/*
+ * Create relative directory in storage.
+ *
+ * For example, if prefix == Thumbnails,
+ * mkdir("/mnt/win_c") will create
+ * ~/.ksquirrel/thumbnails/mnt/win_c.
+ */
+bool SQ_Dir::mkdir(const TQString &relpath)
+{
+ TQStringList paths = TQStringList::split('/', TQDir::cleanDirPath(relpath));
+
+ cd(m_root);
+
+ // recursively create directories
+ for(TQStringList::iterator it = paths.begin();it != paths.end();++it)
+ {
+ if(!exists(*it, false))
+ if(!TQDir::mkdir(*it))
+ return false;
+
+ cd(*it);
+ }
+
+ return true;
+}
+
+void SQ_Dir::setRoot(const TQString &name)
+{
+ m_root = TQDir::cleanDirPath(homeDirPath() + TQDir::separator() + TQString::fromLatin1(".ksquirrel"));
+ TQDir::mkdir(m_root);
+
+ m_root = TQDir::cleanDirPath(m_root + TQDir::separator() + name);
+ TQDir::mkdir(m_root);
+}
+
+TQString SQ_Dir::absPath(const KURL &relurl)
+{
+ return m_root + TQDir::separator() + relurl.path();
+}