Tracker: style fixes to WidgetAttributeText

This commit is contained in:
John Scipione
2014-06-20 21:30:12 -04:00
parent 69e5768d45
commit 92199e801c
2 changed files with 284 additions and 255 deletions
+61 -31
View File
@@ -240,40 +240,54 @@ WidgetAttributeText::NewWidgetText(const Model* model,
if (strcmp(attrName, kAttrPath) == 0) if (strcmp(attrName, kAttrPath) == 0)
return new PathAttributeText(model, column); return new PathAttributeText(model, column);
if (strcmp(attrName, kAttrMIMEType) == 0) if (strcmp(attrName, kAttrMIMEType) == 0)
return new KindAttributeText(model, column); return new KindAttributeText(model, column);
if (strcmp(attrName, kAttrStatName) == 0) if (strcmp(attrName, kAttrStatName) == 0)
return new NameAttributeText(model, column); return new NameAttributeText(model, column);
if (strcmp(attrName, kAttrRealName) == 0) if (strcmp(attrName, kAttrRealName) == 0)
return new RealNameAttributeText(model, column); return new RealNameAttributeText(model, column);
if (strcmp(attrName, kAttrStatSize) == 0) if (strcmp(attrName, kAttrStatSize) == 0)
return new SizeAttributeText(model, column); return new SizeAttributeText(model, column);
if (strcmp(attrName, kAttrStatModified) == 0) if (strcmp(attrName, kAttrStatModified) == 0)
return new ModificationTimeAttributeText(model, column); return new ModificationTimeAttributeText(model, column);
if (strcmp(attrName, kAttrStatCreated) == 0) if (strcmp(attrName, kAttrStatCreated) == 0)
return new CreationTimeAttributeText(model, column); return new CreationTimeAttributeText(model, column);
#ifdef OWNER_GROUP_ATTRIBUTES #ifdef OWNER_GROUP_ATTRIBUTES
if (strcmp(attrName, kAttrStatOwner) == 0) if (strcmp(attrName, kAttrStatOwner) == 0)
return new OwnerAttributeText(model, column); return new OwnerAttributeText(model, column);
if (strcmp(attrName, kAttrStatGroup) == 0) if (strcmp(attrName, kAttrStatGroup) == 0)
return new GroupAttributeText(model, column); return new GroupAttributeText(model, column);
#endif #endif
if (strcmp(attrName, kAttrStatMode) == 0) if (strcmp(attrName, kAttrStatMode) == 0)
return new ModeAttributeText(model, column); return new ModeAttributeText(model, column);
if (strcmp(attrName, kAttrOpenWithRelation) == 0) if (strcmp(attrName, kAttrOpenWithRelation) == 0)
return new OpenWithRelationAttributeText(model, column, view); return new OpenWithRelationAttributeText(model, column, view);
if (strcmp(attrName, kAttrAppVersion) == 0) if (strcmp(attrName, kAttrAppVersion) == 0)
return new AppShortVersionAttributeText(model, column); return new AppShortVersionAttributeText(model, column);
if (strcmp(attrName, kAttrSystemVersion) == 0) if (strcmp(attrName, kAttrSystemVersion) == 0)
return new SystemShortVersionAttributeText(model, column); return new SystemShortVersionAttributeText(model, column);
if (strcmp(attrName, kAttrOriginalPath) == 0) if (strcmp(attrName, kAttrOriginalPath) == 0)
return new OriginalPathAttributeText(model, column); return new OriginalPathAttributeText(model, column);
if (column->DisplayAs() != NULL) { if (column->DisplayAs() != NULL) {
if (!strncmp(column->DisplayAs(), "checkbox", 8)) if (!strncmp(column->DisplayAs(), "checkbox", 8))
return new CheckboxAttributeText(model, column); return new CheckboxAttributeText(model, column);
if (!strncmp(column->DisplayAs(), "duration", 8)) if (!strncmp(column->DisplayAs(), "duration", 8))
return new DurationAttributeText(model, column); return new DurationAttributeText(model, column);
if (!strncmp(column->DisplayAs(), "rating", 6)) if (!strncmp(column->DisplayAs(), "rating", 6))
return new RatingAttributeText(model, column); return new RatingAttributeText(model, column);
} }
@@ -304,8 +318,9 @@ const char*
WidgetAttributeText::FittingText(const BPoseView* view) WidgetAttributeText::FittingText(const BPoseView* view)
{ {
if (fDirty || fColumn->Width() != fOldWidth || CheckSettingsChanged() if (fDirty || fColumn->Width() != fOldWidth || CheckSettingsChanged()
|| !fValueIsDefined ) || !fValueIsDefined) {
CheckViewChanged(view); CheckViewChanged(view);
}
ASSERT(!fDirty); ASSERT(!fDirty);
return fText.String(); return fText.String();
@@ -469,7 +484,7 @@ WidgetAttributeText::SetDirty(bool value)
} }
// #pragma mark - // #pragma mark - StringAttributeText
StringAttributeText::StringAttributeText(const Model* model, StringAttributeText::StringAttributeText(const Model* model,
@@ -570,7 +585,7 @@ StringAttributeText::CommitEditedText(BTextView* textView)
} }
// #pragma mark - // #pragma mark - ScalarAttributeText
ScalarAttributeText::ScalarAttributeText(const Model* model, ScalarAttributeText::ScalarAttributeText(const Model* model,
@@ -599,7 +614,8 @@ ScalarAttributeText::CheckAttributeChanged()
return false; return false;
fValue = newValue; fValue = newValue;
fDirty = true; // have to redo fitted string fDirty = true;
// have to redo fitted string
return true; return true;
} }
@@ -629,7 +645,7 @@ ScalarAttributeText::Compare(WidgetAttributeText& attr, BPoseView*)
} }
// #pragma mark - // #pragma mark - PathAttributeText
PathAttributeText::PathAttributeText(const Model* model, const BColumn* column) PathAttributeText::PathAttributeText(const Model* model, const BColumn* column)
@@ -651,11 +667,12 @@ PathAttributeText::ReadValue(BString* result)
TruncateLeaf(result); TruncateLeaf(result);
} else } else
*result = "-"; *result = "-";
fValueDirty = false; fValueDirty = false;
} }
// #pragma mark - // #pragma mark - OriginalPathAttributeText
OriginalPathAttributeText::OriginalPathAttributeText(const Model* model, OriginalPathAttributeText::OriginalPathAttributeText(const Model* model,
@@ -677,15 +694,15 @@ OriginalPathAttributeText::ReadValue(BString* result)
*result = path.Path(); *result = path.Path();
else else
*result = "-"; *result = "-";
fValueDirty = false; fValueDirty = false;
} }
// #pragma mark - // #pragma mark - KindAttributeText
KindAttributeText::KindAttributeText(const Model* model, KindAttributeText::KindAttributeText(const Model* model, const BColumn* column)
const BColumn* column)
: :
StringAttributeText(model, column) StringAttributeText(model, column)
{ {
@@ -701,16 +718,17 @@ KindAttributeText::ReadValue(BString* result)
// get the mime type // get the mime type
if (mime.SetType(fModel->MimeType()) != B_OK) if (mime.SetType(fModel->MimeType()) != B_OK)
*result = B_TRANSLATE("Unknown"); *result = B_TRANSLATE("Unknown");
else if (mime.GetShortDescription(desc) == B_OK) {
// get the short mime type description // get the short mime type description
else if (mime.GetShortDescription(desc) == B_OK)
*result = desc; *result = desc;
else } else
*result = fModel->MimeType(); *result = fModel->MimeType();
fValueDirty = false; fValueDirty = false;
} }
// #pragma mark - // #pragma mark - NameAttributeText
NameAttributeText::NameAttributeText(const Model* model, NameAttributeText::NameAttributeText(const Model* model,
@@ -791,9 +809,7 @@ NameAttributeText::CommitEditedTextFlavor(BTextView* textView)
B_TRANSLATE("Replace other file"), B_TRANSLATE("Replace other file"),
B_TRANSLATE("OK"), B_TRANSLATE("OK"),
NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT);
alert->SetShortcut(0, 'r'); alert->SetShortcut(0, 'r');
if (alert->Go()) if (alert->Go())
return false; return false;
@@ -847,7 +863,7 @@ NameAttributeText::IsEditable() const
} }
// #pragma mark - // #pragma mark - RealNameAttributeText
RealNameAttributeText::RealNameAttributeText(const Model* model, RealNameAttributeText::RealNameAttributeText(const Model* model,
@@ -981,8 +997,6 @@ RealNameAttributeText::SetSortFolderNamesFirst(bool enabled)
#ifdef OWNER_GROUP_ATTRIBUTES #ifdef OWNER_GROUP_ATTRIBUTES
OwnerAttributeText::OwnerAttributeText(const Model* model, OwnerAttributeText::OwnerAttributeText(const Model* model,
const BColumn* column) const BColumn* column)
: :
@@ -1035,11 +1049,12 @@ GroupAttributeText::ReadValue(BString* result)
fValueDirty = false; fValueDirty = false;
} }
#endif // OWNER_GROUP_ATTRIBUTES #endif // OWNER_GROUP_ATTRIBUTES
// #pragma mark - ModeAttributeText
ModeAttributeText::ModeAttributeText(const Model* model, ModeAttributeText::ModeAttributeText(const Model* model,
const BColumn* column) const BColumn* column)
: :
@@ -1080,7 +1095,7 @@ ModeAttributeText::ReadValue(BString* result)
} }
// #pragma mark - // #pragma mark - SizeAttributeText
SizeAttributeText::SizeAttributeText(const Model* model, SizeAttributeText::SizeAttributeText(const Model* model,
@@ -1137,7 +1152,7 @@ SizeAttributeText::PreferredWidth(const BPoseView* pose) const
} }
// #pragma mark - time related // #pragma mark - TimeAttributeText
TimeAttributeText::TimeAttributeText(const Model* model, TimeAttributeText::TimeAttributeText(const Model* model,
@@ -1176,6 +1191,9 @@ TimeAttributeText::CheckSettingsChanged(void)
} }
// #pragma mark - CreationTimeAttributeText
CreationTimeAttributeText::CreationTimeAttributeText(const Model* model, CreationTimeAttributeText::CreationTimeAttributeText(const Model* model,
const BColumn* column) const BColumn* column)
: :
@@ -1193,6 +1211,9 @@ CreationTimeAttributeText::ReadValue()
} }
// #pragma mark - ModificationTimeAttributeText
ModificationTimeAttributeText::ModificationTimeAttributeText( ModificationTimeAttributeText::ModificationTimeAttributeText(
const Model* model, const BColumn* column) const Model* model, const BColumn* column)
: :
@@ -1210,7 +1231,7 @@ ModificationTimeAttributeText::ReadValue()
} }
// #pragma mark - // #pragma mark - GenericAttributeText
GenericAttributeText::GenericAttributeText(const Model* model, GenericAttributeText::GenericAttributeText(const Model* model,
@@ -1326,11 +1347,13 @@ GenericAttributeText::ReadValue(BString* result)
default: default:
TRESPASS(); TRESPASS();
break;
} }
} else { } else {
// handle the standard data types // handle the standard data types
switch (info.size) { switch (info.size) {
case sizeof(char): // Takes care of bool too. case sizeof(char):
// Takes care of bool too.
fValueIsDefined = true; fValueIsDefined = true;
fValue.int8t = tmp.int8t; fValue.int8t = tmp.int8t;
break; break;
@@ -1340,18 +1363,21 @@ GenericAttributeText::ReadValue(BString* result)
fValue.int16t = tmp.int16t; fValue.int16t = tmp.int16t;
break; break;
case sizeof(int32): // Takes care of time_t too. case sizeof(int32):
// Takes care of time_t too.
fValueIsDefined = true; fValueIsDefined = true;
fValue.int32t = tmp.int32t; fValue.int32t = tmp.int32t;
break; break;
case sizeof(int64): // Takes care of off_t too. case sizeof(int64):
// Takes care of off_t too.
fValueIsDefined = true; fValueIsDefined = true;
fValue.int64t = tmp.int64t; fValue.int64t = tmp.int64t;
break; break;
default: default:
TRESPASS(); TRESPASS();
break;
} }
} }
} }
@@ -1528,9 +1554,10 @@ GenericAttributeText::Compare(WidgetAttributeText& attr, BPoseView*)
if (compareTo->fValueDirty) if (compareTo->fValueDirty)
compareTo->ReadValue(&compareTo->fFullValueText); compareTo->ReadValue(&compareTo->fFullValueText);
// Sort undefined values last, regardless of the other value: // sort undefined values last, regardless of the other value
if (!fValueIsDefined) if (!fValueIsDefined)
return compareTo->fValueIsDefined ? 1 : 0; return compareTo->fValueIsDefined ? 1 : 0;
if (!compareTo->fValueIsDefined) if (!compareTo->fValueIsDefined)
return -1; return -1;
@@ -1598,6 +1625,7 @@ GenericAttributeText::Compare(WidgetAttributeText& attr, BPoseView*)
return fValue.uint64t >= compareTo->fValue.uint64t ? return fValue.uint64t >= compareTo->fValue.uint64t ?
(fValue.uint64t == compareTo->fValue.uint64t ? 0 : 1) : -1; (fValue.uint64t == compareTo->fValue.uint64t ? 0 : 1) : -1;
} }
return 0; return 0;
} }
@@ -1794,7 +1822,6 @@ GenericAttributeText::CommitEditedTextFlavor(BTextView* textView)
default: default:
TRESPASS(); TRESPASS();
} }
size = fModel->WriteAttr(columnName, type, 0, &tmp, scalarSize); size = fModel->WriteAttr(columnName, type, 0, &tmp, scalarSize);
@@ -1819,7 +1846,7 @@ GenericAttributeText::CommitEditedTextFlavor(BTextView* textView)
} }
// #pragma mark - display as: duration // #pragma mark - DurationAttributeText (display as: duration)
DurationAttributeText::DurationAttributeText(const Model* model, DurationAttributeText::DurationAttributeText(const Model* model,
@@ -1901,7 +1928,7 @@ DurationAttributeText::FitValue(BString* result, const BPoseView* view)
} }
// #pragma mark - display as: checkbox // #pragma mark - CheckboxAttributeText (display as: checkbox)
CheckboxAttributeText::CheckboxAttributeText(const Model* model, CheckboxAttributeText::CheckboxAttributeText(const Model* model,
@@ -1981,7 +2008,7 @@ CheckboxAttributeText::FitValue(BString* result, const BPoseView* view)
} }
// #pragma mark - display as: rating // #pragma mark - RatingAttributeText (display as: rating)
RatingAttributeText::RatingAttributeText(const Model* model, RatingAttributeText::RatingAttributeText(const Model* model,
@@ -2052,7 +2079,7 @@ RatingAttributeText::FitValue(BString* result, const BPoseView* view)
} }
// #pragma mark - // #pragma mark - OpenWithRelationAttributeText
OpenWithRelationAttributeText::OpenWithRelationAttributeText(const Model* model, OpenWithRelationAttributeText::OpenWithRelationAttributeText(const Model* model,
@@ -2110,6 +2137,9 @@ OpenWithRelationAttributeText::FitValue(BString* result, const BPoseView* view)
} }
// #pragma mark - VersionAttributeText
VersionAttributeText::VersionAttributeText(const Model* model, VersionAttributeText::VersionAttributeText(const Model* model,
const BColumn* column, bool app) const BColumn* column, bool app)
: :
+26 -27
View File
@@ -31,8 +31,8 @@ of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders. names are registered trademarks or trademarks of their respective holders.
All rights reserved. All rights reserved.
*/ */
#ifndef __TEXT_WIDGET_ATTRIBUTE__ #ifndef _TEXT_WIDGET_ATTRIBUTE_H
#define __TEXT_WIDGET_ATTRIBUTE__ #define _TEXT_WIDGET_ATTRIBUTE_H
#include <String.h> #include <String.h>
@@ -173,6 +173,7 @@ class StringAttributeText : public WidgetAttributeText {
class ScalarAttributeText : public WidgetAttributeText { class ScalarAttributeText : public WidgetAttributeText {
public: public:
ScalarAttributeText(const Model*, const BColumn*); ScalarAttributeText(const Model*, const BColumn*);
int64 Value(); int64 Value();
virtual bool CheckAttributeChanged(); virtual bool CheckAttributeChanged();
@@ -211,14 +212,12 @@ union GenericValueStruct {
//! Used for displaying mime extra attributes. Supports different formats. //! Used for displaying mime extra attributes. Supports different formats.
class GenericAttributeText : public StringAttributeText { class GenericAttributeText : public StringAttributeText {
public: public:
GenericAttributeText(const Model* model, GenericAttributeText(const Model* model, const BColumn* column);
const BColumn* column);
virtual bool CheckAttributeChanged(); virtual bool CheckAttributeChanged();
virtual float PreferredWidth(const BPoseView* view) const; virtual float PreferredWidth(const BPoseView* view) const;
virtual int Compare(WidgetAttributeText& other, virtual int Compare(WidgetAttributeText& other, BPoseView* view);
BPoseView* view);
virtual void SetUpEditing(BTextView* view); virtual void SetUpEditing(BTextView* view);
virtual bool CommitEditedText(BTextView* view); virtual bool CommitEditedText(BTextView* view);
@@ -228,8 +227,7 @@ public:
protected: protected:
virtual bool CommitEditedTextFlavor(BTextView* view); virtual bool CommitEditedTextFlavor(BTextView* view);
virtual void FitValue(BString* result, virtual void FitValue(BString* result, const BPoseView* view);
const BPoseView* view);
virtual void ReadValue(BString* result); virtual void ReadValue(BString* result);
protected: protected:
@@ -242,26 +240,22 @@ protected:
//! Used for the display-as type "duration" //! Used for the display-as type "duration"
class DurationAttributeText : public GenericAttributeText { class DurationAttributeText : public GenericAttributeText {
public: public:
DurationAttributeText(const Model* model, DurationAttributeText(const Model* model, const BColumn* column);
const BColumn* column);
private: private:
virtual void FitValue(BString* result, virtual void FitValue(BString* result, const BPoseView* view);
const BPoseView* view);
}; };
//! Used for the display-as type "checkbox" //! Used for the display-as type "checkbox"
class CheckboxAttributeText : public GenericAttributeText { class CheckboxAttributeText : public GenericAttributeText {
public: public:
CheckboxAttributeText(const Model* model, CheckboxAttributeText(const Model* model, const BColumn* column);
const BColumn* column);
virtual void SetUpEditing(BTextView* view); virtual void SetUpEditing(BTextView* view);
private: private:
virtual void FitValue(BString* result, virtual void FitValue(BString* result, const BPoseView* view);
const BPoseView* view);
private: private:
BString fOnChar; BString fOnChar;
@@ -272,14 +266,12 @@ private:
//! Used for the display-as type "rating" //! Used for the display-as type "rating"
class RatingAttributeText : public GenericAttributeText { class RatingAttributeText : public GenericAttributeText {
public: public:
RatingAttributeText(const Model* model, RatingAttributeText(const Model* model, const BColumn* column);
const BColumn* column);
virtual void SetUpEditing(BTextView* view); virtual void SetUpEditing(BTextView* view);
private: private:
virtual void FitValue(BString* result, virtual void FitValue(BString* result, const BPoseView* view);
const BPoseView* view);
private: private:
int32 fCount; int32 fCount;
@@ -290,6 +282,7 @@ private:
class TimeAttributeText : public ScalarAttributeText { class TimeAttributeText : public ScalarAttributeText {
public: public:
TimeAttributeText(const Model*, const BColumn*); TimeAttributeText(const Model*, const BColumn*);
protected: protected:
virtual float PreferredWidth(const BPoseView*) const; virtual float PreferredWidth(const BPoseView*) const;
virtual void FitValue(BString* result, const BPoseView*); virtual void FitValue(BString* result, const BPoseView*);
@@ -305,6 +298,7 @@ class TimeAttributeText : public ScalarAttributeText {
class PathAttributeText : public StringAttributeText { class PathAttributeText : public StringAttributeText {
public: public:
PathAttributeText(const Model*, const BColumn*); PathAttributeText(const Model*, const BColumn*);
protected: protected:
virtual void ReadValue(BString* result); virtual void ReadValue(BString* result);
}; };
@@ -313,6 +307,7 @@ class PathAttributeText : public StringAttributeText {
class OriginalPathAttributeText : public StringAttributeText { class OriginalPathAttributeText : public StringAttributeText {
public: public:
OriginalPathAttributeText(const Model*, const BColumn*); OriginalPathAttributeText(const Model*, const BColumn*);
protected: protected:
virtual void ReadValue(BString* result); virtual void ReadValue(BString* result);
}; };
@@ -321,6 +316,7 @@ class OriginalPathAttributeText : public StringAttributeText {
class KindAttributeText : public StringAttributeText { class KindAttributeText : public StringAttributeText {
public: public:
KindAttributeText(const Model*, const BColumn*); KindAttributeText(const Model*, const BColumn*);
protected: protected:
virtual void ReadValue(BString* result); virtual void ReadValue(BString* result);
}; };
@@ -334,6 +330,7 @@ class NameAttributeText : public StringAttributeText {
virtual bool IsEditable() const; virtual bool IsEditable() const;
static void SetSortFolderNamesFirst(bool); static void SetSortFolderNamesFirst(bool);
protected: protected:
virtual bool CommitEditedTextFlavor(BTextView*); virtual bool CommitEditedTextFlavor(BTextView*);
virtual int Compare(WidgetAttributeText&, BPoseView* view); virtual int Compare(WidgetAttributeText&, BPoseView* view);
@@ -345,8 +342,8 @@ class NameAttributeText : public StringAttributeText {
class RealNameAttributeText : public StringAttributeText { class RealNameAttributeText : public StringAttributeText {
public: public:
RealNameAttributeText(const Model*, RealNameAttributeText(const Model*, const BColumn*);
const BColumn*);
virtual void SetUpEditing(BTextView*); virtual void SetUpEditing(BTextView*);
virtual void FitValue(BString* result, const BPoseView*); virtual void FitValue(BString* result, const BPoseView*);
@@ -362,7 +359,6 @@ protected:
#ifdef OWNER_GROUP_ATTRIBUTES #ifdef OWNER_GROUP_ATTRIBUTES
class OwnerAttributeText : public StringAttributeText { class OwnerAttributeText : public StringAttributeText {
public: public:
OwnerAttributeText(const Model*, const BColumn*); OwnerAttributeText(const Model*, const BColumn*);
@@ -379,7 +375,6 @@ class GroupAttributeText : public StringAttributeText {
protected: protected:
virtual void ReadValue(BString* result); virtual void ReadValue(BString* result);
}; };
#endif // OWNER_GROUP_ATTRIBUTES #endif // OWNER_GROUP_ATTRIBUTES
@@ -409,6 +404,7 @@ class SizeAttributeText : public ScalarAttributeText {
class CreationTimeAttributeText : public TimeAttributeText { class CreationTimeAttributeText : public TimeAttributeText {
public: public:
CreationTimeAttributeText(const Model*, const BColumn*); CreationTimeAttributeText(const Model*, const BColumn*);
protected: protected:
virtual int64 ReadValue(); virtual int64 ReadValue();
}; };
@@ -454,7 +450,8 @@ class AppShortVersionAttributeText : public VersionAttributeText {
public: public:
AppShortVersionAttributeText(const Model* model, AppShortVersionAttributeText(const Model* model,
const BColumn* column) const BColumn* column)
: VersionAttributeText(model, column, true) :
VersionAttributeText(model, column, true)
{ {
} }
}; };
@@ -464,7 +461,8 @@ class SystemShortVersionAttributeText : public VersionAttributeText {
public: public:
SystemShortVersionAttributeText(const Model* model, SystemShortVersionAttributeText(const Model* model,
const BColumn* column) const BColumn* column)
: VersionAttributeText(model, column, false) :
VersionAttributeText(model, column, false)
{ {
} }
}; };
@@ -477,4 +475,5 @@ extern status_t TimeFormat(BString &string, int32 index,
using namespace BPrivate; using namespace BPrivate;
#endif // __TEXT_WIDGET_ATTRIBUTE__
#endif // _TEXT_WIDGET_ATTRIBUTE_H