mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 06:28:55 +02:00
75 lines
2.2 KiB
Plaintext
75 lines
2.2 KiB
Plaintext
From 1cbd0da01555e012f24662c986f918e4a910b708 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
|
Date: Sat, 26 Jul 2014 19:45:13 +0200
|
|
Subject: [PATCH] Fix paths for writable directories (logs, downloads, shared)
|
|
|
|
BeShare had the bad habit of putting everything inside
|
|
it's own folder...
|
|
|
|
Now we should have:
|
|
~/config/var/log/BeShare/
|
|
~/BeShare downloads/
|
|
~/BeShare shared/
|
|
---
|
|
source/ChatWindow.cpp | 31 +++++++++++++++++++++----------
|
|
1 file changed, 21 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/source/ChatWindow.cpp b/source/ChatWindow.cpp
|
|
index 54a4e33..0722bb7 100644
|
|
--- a/source/ChatWindow.cpp
|
|
+++ b/source/ChatWindow.cpp
|
|
@@ -7,6 +7,7 @@
|
|
#include <Beep.h>
|
|
|
|
#include <Application.h>
|
|
+#include <FindDirectory.h>
|
|
#include <Roster.h>
|
|
#include <MessageFilter.h>
|
|
#include <StringView.h>
|
|
@@ -1170,22 +1171,32 @@ ChatWindow::AddBorderView(BView * v)
|
|
status_t
|
|
ChatWindow::GetAppSubdir(const char * subDirName, BDirectory & subDir, bool createIfNecessary) const
|
|
{
|
|
- app_info appInfo;
|
|
- be_app->GetAppInfo(&appInfo);
|
|
- BEntry appEntry(&appInfo.ref);
|
|
- appEntry.GetParent(&appEntry); // get the directory it's in
|
|
- BPath path(&appEntry);
|
|
- BPath subPath(&appEntry);
|
|
- subPath.Append(subDirName);
|
|
+ directory_which which = B_USER_DIRECTORY;
|
|
+ if (!strcmp(subDirName, "logs"))
|
|
+ which = B_USER_LOG_DIRECTORY;
|
|
+ BPath path;
|
|
+ status_t err;
|
|
+
|
|
+ err = find_directory(which, &path, true);
|
|
+ if (err != B_OK)
|
|
+ return err;
|
|
+
|
|
+ BDirectory baseDir(path.Path());
|
|
+ err = baseDir.InitCheck();
|
|
+ if (err != B_OK)
|
|
+ return err;
|
|
+
|
|
+ BString leaf("BeShare");
|
|
+ if (strcmp(subDirName, "logs"))
|
|
+ leaf << " " << subDirName;
|
|
|
|
// If the directory is already there, use it
|
|
- if (subDir.SetTo(subPath.Path()) == B_NO_ERROR) return B_NO_ERROR;
|
|
+ if (subDir.SetTo(&baseDir, leaf.String()) == B_NO_ERROR) return B_NO_ERROR;
|
|
|
|
// Directory not there? Shall we create it then?
|
|
if (createIfNecessary)
|
|
{
|
|
- BDirectory appDir(path.Path());
|
|
- if ((appDir.InitCheck() == B_NO_ERROR)&&(appDir.CreateDirectory(subDirName, &subDir) == B_NO_ERROR)) return B_NO_ERROR;
|
|
+ if (baseDir.CreateDirectory(leaf.String(), &subDir) == B_NO_ERROR) return B_NO_ERROR;
|
|
}
|
|
return B_ERROR; // oops, couldn't get it
|
|
}
|
|
--
|
|
1.8.3.4
|
|
|