[prev in list] [next in list] [prev in thread] [next in thread]
List: haiku-commits
Subject: [haiku-commits] Change in haiku[master]: tracker/infowindow: display filesystem type
From: Gerrit <review () review ! haiku-os ! org>
Date: 2022-07-27 21:47:59
Message-ID: eed531ec258008594762eb523bd25c57bd99f071-HTML () review ! haiku-os ! org
[Download RAW message or body]
From <jim_l@fastmail.com>:
jim_l@fastmail.com has uploaded this change for review. ( \
https://review.haiku-os.org/c/haiku/+/5507 )
Change subject: tracker/infowindow: display filesystem type
......................................................................
tracker/infowindow: display filesystem type
* If the target is a volume, include a line on the Information tab of
the Get Info window that lists the filesystem name, block size, and
(if applicable) whether the volume is indexed.
* Fixes #16945.
Change-Id: I888ae708a15a2f7729f50806fb59dbb4df506cfa
---
M src/kits/tracker/infowindow/GeneralInfoView.cpp
M src/kits/tracker/infowindow/GeneralInfoView.h
2 files changed, 44 insertions(+), 0 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/07/5507/1
diff --git a/src/kits/tracker/infowindow/GeneralInfoView.cpp \
b/src/kits/tracker/infowindow/GeneralInfoView.cpp index 870d64f..ea762c5 100644
--- a/src/kits/tracker/infowindow/GeneralInfoView.cpp
+++ b/src/kits/tracker/infowindow/GeneralInfoView.cpp
@@ -176,6 +176,7 @@
B_TRANSLATE("Kind:"),
B_TRANSLATE("Link to:"),
B_TRANSLATE("Version:"),
+ B_TRANSLATE("Filesystem:"),
NULL
};
@@ -353,6 +354,26 @@
fDescStr.ReplaceAll('\t', ' ');
} else
fDescStr = "-";
+ } else if (model->IsVolume()) {
+ const node_ref* nr = fModel->NodeRef();
+ fs_info modelInfo;
+ if (fs_stat_dev(nr->device, &modelInfo) == B_OK)
+ {
+ fFilesysStr = modelInfo.fsh_name;
+ fFilesysStr.ToUpper();
+ fFilesysStr << B_TRANSLATE(" (blocksize: ")
+ << modelInfo.block_size;
+ // Print indexed status only if the filesystem is BFS
+ if (strcmp(modelInfo.fsh_name, "bfs") == 0) {
+ fFilesysStr += B_TRANSLATE(", indexed: ");
+ if (modelInfo.flags & B_FS_HAS_QUERY)
+ fFilesysStr += B_TRANSLATE("yes");
+ else
+ fFilesysStr += B_TRANSLATE("no");
+ }
+ fFilesysStr += ")";
+ } else
+ fFilesysStr = B_TRANSLATE("(unknown)");
}
if (mime.SetType(model->MimeType()) == B_OK
@@ -970,6 +991,27 @@
// No link field
fLinkRect = BRect(-1, -1, -1, -1);
+ } else if (fModel->IsVolume()) {
+ //Filesystem
+ MovePenTo(BPoint(fDivider - (StringWidth(B_TRANSLATE("Filesystem:"))),
+ lineBase));
+ SetHighColor(labelColor);
+ DrawString(B_TRANSLATE("Filesystem:"));
+ MovePenTo(BPoint(fDivider + kDrawMargin, lineBase));
+ SetHighColor(attributeColor);
+ // Check for truncation
+ if (StringWidth(fFilesysStr.String()) > (Bounds().Width()
+ - (fDivider + kBorderMargin))) {
+ BString nameString(fFilesysStr.String());
+ TruncateString(&nameString, B_TRUNCATE_MIDDLE,
+ Bounds().Width() - (fDivider + kBorderMargin));
+ DrawString(nameString.String());
+ } else
+ DrawString(fFilesysStr.String());
+
+ // No description field or link field
+ fDescRect = BRect(-1, -1, -1, -1);
+ fLinkRect = BRect(-1, -1, -1, -1);
}
}
diff --git a/src/kits/tracker/infowindow/GeneralInfoView.h \
b/src/kits/tracker/infowindow/GeneralInfoView.h index c1f9bd0..9ec0503 100644
--- a/src/kits/tracker/infowindow/GeneralInfoView.h
+++ b/src/kits/tracker/infowindow/GeneralInfoView.h
@@ -36,6 +36,7 @@
#define GENERALINFOVIEW_H
+#include <fs_info.h>
#include <GroupView.h>
#include <MenuField.h>
#include <Message.h>
@@ -95,6 +96,7 @@
BString fCreatedStr;
BString fKindStr;
BString fDescStr;
+ BString fFilesysStr;
off_t fFreeBytes;
off_t fLastSize;
--
To view, visit https://review.haiku-os.org/c/haiku/+/5507
To unsubscribe, or for help writing mail filters, visit \
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I888ae708a15a2f7729f50806fb59dbb4df506cfa
Gerrit-Change-Number: 5507
Gerrit-PatchSet: 1
Gerrit-Owner: jim_l@fastmail.com
Gerrit-MessageType: newchange
[Attachment #3 (text/html)]
<p>jim_l@fastmail.com has uploaded this change for <strong>review</strong>.</p><p><a \
href="https://review.haiku-os.org/c/haiku/+/5507">View Change</a></p><pre \
style="font-family: monospace,monospace; white-space: pre-wrap;">tracker/infowindow: \
display filesystem type<br><br>* If the target is a volume, include a line on the \
Information tab of<br> the Get Info window that lists the filesystem name, block \
size, and<br> (if applicable) whether the volume is indexed.<br>* Fixes \
#16945.<br><br>Change-Id: I888ae708a15a2f7729f50806fb59dbb4df506cfa<br>---<br>M \
src/kits/tracker/infowindow/GeneralInfoView.cpp<br>M \
src/kits/tracker/infowindow/GeneralInfoView.h<br>2 files changed, 44 insertions(+), 0 \
deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: \
pre-wrap;">git pull ssh://git.haiku-os.org:22/haiku refs/changes/07/5507/1</pre><pre \
style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git \
a/src/kits/tracker/infowindow/GeneralInfoView.cpp \
b/src/kits/tracker/infowindow/GeneralInfoView.cpp</span><br><span>index \
870d64f..ea762c5 100644</span><br><span>--- \
a/src/kits/tracker/infowindow/GeneralInfoView.cpp</span><br><span>+++ \
b/src/kits/tracker/infowindow/GeneralInfoView.cpp</span><br><span>@@ -176,6 +176,7 \
@@</span><br><span> B_TRANSLATE("Kind:"),</span><br><span> \
B_TRANSLATE("Link to:"),</span><br><span> \
B_TRANSLATE("Version:"),</span><br><span style="color: hsl(120, 100%, \
40%);">+ B_TRANSLATE("Filesystem:"),</span><br><span> \
NULL</span><br><span> };</span><br><span> </span><br><span>@@ -353,6 +354,26 \
@@</span><br><span> fDescStr.ReplaceAll('\t', ' \
');</span><br><span> } else</span><br><span> fDescStr = \
"-";</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if \
(model->IsVolume()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ const \
node_ref* nr = fModel->NodeRef();</span><br><span style="color: hsl(120, 100%, \
40%);">+ fs_info modelInfo;</span><br><span style="color: hsl(120, 100%, \
40%);">+ if (fs_stat_dev(nr->device, &modelInfo) == B_OK)</span><br><span \
style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, \
40%);">+ fFilesysStr = modelInfo.fsh_name;</span><br><span style="color: hsl(120, \
100%, 40%);">+ fFilesysStr.ToUpper();</span><br><span style="color: hsl(120, 100%, \
40%);">+ fFilesysStr << B_TRANSLATE(" (blocksize: \
")</span><br><span style="color: hsl(120, 100%, 40%);">+ << \
modelInfo.block_size;</span><br><span style="color: hsl(120, 100%, 40%);">+ // \
Print indexed status only if the filesystem is BFS</span><br><span style="color: \
hsl(120, 100%, 40%);">+ if (strcmp(modelInfo.fsh_name, "bfs") == 0) \
{</span><br><span style="color: hsl(120, 100%, 40%);">+ fFilesysStr += \
B_TRANSLATE(", indexed: ");</span><br><span style="color: hsl(120, 100%, \
40%);">+ if (modelInfo.flags & B_FS_HAS_QUERY)</span><br><span style="color: \
hsl(120, 100%, 40%);">+ fFilesysStr += \
B_TRANSLATE("yes");</span><br><span style="color: hsl(120, 100%, \
40%);">+ else</span><br><span style="color: hsl(120, 100%, \
40%);">+ fFilesysStr += B_TRANSLATE("no");</span><br><span \
style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, \
100%, 40%);">+ fFilesysStr += ")";</span><br><span style="color: hsl(120, \
100%, 40%);">+ } else</span><br><span style="color: hsl(120, 100%, \
40%);">+ fFilesysStr = B_TRANSLATE("(unknown)");</span><br><span> \
}</span><br><span> </span><br><span> if (mime.SetType(model->MimeType()) == \
B_OK</span><br><span>@@ -970,6 +991,27 @@</span><br><span> </span><br><span> // No \
link field</span><br><span> fLinkRect = BRect(-1, -1, -1, -1);</span><br><span \
style="color: hsl(120, 100%, 40%);">+ } else if (fModel->IsVolume()) \
{</span><br><span style="color: hsl(120, 100%, 40%);">+ //Filesystem</span><br><span \
style="color: hsl(120, 100%, 40%);">+ MovePenTo(BPoint(fDivider - \
(StringWidth(B_TRANSLATE("Filesystem:"))),</span><br><span style="color: \
hsl(120, 100%, 40%);">+ lineBase));</span><br><span style="color: hsl(120, 100%, \
40%);">+ SetHighColor(labelColor);</span><br><span style="color: hsl(120, 100%, \
40%);">+ DrawString(B_TRANSLATE("Filesystem:"));</span><br><span \
style="color: hsl(120, 100%, 40%);">+ MovePenTo(BPoint(fDivider + kDrawMargin, \
lineBase));</span><br><span style="color: hsl(120, 100%, \
40%);">+ SetHighColor(attributeColor);</span><br><span style="color: hsl(120, 100%, \
40%);">+ // Check for truncation</span><br><span style="color: hsl(120, 100%, \
40%);">+ if (StringWidth(fFilesysStr.String()) > \
(Bounds().Width()</span><br><span style="color: hsl(120, 100%, 40%);">+ - \
(fDivider + kBorderMargin))) {</span><br><span style="color: hsl(120, 100%, \
40%);">+ BString nameString(fFilesysStr.String());</span><br><span style="color: \
hsl(120, 100%, 40%);">+ TruncateString(&nameString, \
B_TRUNCATE_MIDDLE,</span><br><span style="color: hsl(120, 100%, \
40%);">+ Bounds().Width() - (fDivider + kBorderMargin));</span><br><span \
style="color: hsl(120, 100%, \
40%);">+ DrawString(nameString.String());</span><br><span style="color: hsl(120, \
100%, 40%);">+ } else</span><br><span style="color: hsl(120, 100%, \
40%);">+ DrawString(fFilesysStr.String());</span><br><span style="color: hsl(120, \
100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ // No \
description field or link field</span><br><span style="color: hsl(120, 100%, \
40%);">+ fDescRect = BRect(-1, -1, -1, -1);</span><br><span style="color: hsl(120, \
100%, 40%);">+ fLinkRect = BRect(-1, -1, -1, -1);</span><br><span> \
}</span><br><span> }</span><br><span> </span><br><span>diff --git \
a/src/kits/tracker/infowindow/GeneralInfoView.h \
b/src/kits/tracker/infowindow/GeneralInfoView.h</span><br><span>index \
c1f9bd0..9ec0503 100644</span><br><span>--- \
a/src/kits/tracker/infowindow/GeneralInfoView.h</span><br><span>+++ \
b/src/kits/tracker/infowindow/GeneralInfoView.h</span><br><span>@@ -36,6 +36,7 \
@@</span><br><span> #define GENERALINFOVIEW_H</span><br><span> </span><br><span> \
</span><br><span style="color: hsl(120, 100%, 40%);">+#include \
<fs_info.h></span><br><span> #include <GroupView.h></span><br><span> \
#include <MenuField.h></span><br><span> #include \
<Message.h></span><br><span>@@ -95,6 +96,7 @@</span><br><span> BString \
fCreatedStr;</span><br><span> BString fKindStr;</span><br><span> BString \
fDescStr;</span><br><span style="color: hsl(120, 100%, 40%);">+ BString \
fFilesysStr;</span><br><span> </span><br><span> off_t fFreeBytes;</span><br><span> \
off_t fLastSize;</span><br><span></span><br></pre><p>To view, visit <a \
href="https://review.haiku-os.org/c/haiku/+/5507">change 5507</a>. To unsubscribe, or \
for help writing mail filters, visit <a \
href="https://review.haiku-os.org/settings">settings</a>.</p><div itemscope \
itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" \
itemtype="http://schema.org/ViewAction"><link itemprop="url" \
href="https://review.haiku-os.org/c/haiku/+/5507"/><meta itemprop="name" \
content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: haiku </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: \
I888ae708a15a2f7729f50806fb59dbb4df506cfa </div> <div style="display:none"> \
Gerrit-Change-Number: 5507 </div> <div style="display:none"> Gerrit-PatchSet: 1 \
</div> <div style="display:none"> Gerrit-Owner: jim_l@fastmail.com </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic