More style cleanup patches from John Scipione as part of #7052.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40847 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Fredrik Holmqvist 2011-03-06 15:57:48 +00:00
parent e0728fa558
commit 1ad8c760ed
10 changed files with 224 additions and 212 deletions

View File

@ -35,8 +35,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
// Controls
fMenuRecentDocuments = new BCheckBox(B_TRANSLATE("Recent documents:"),
new BMessage(kUpdateRecentCounts));
fMenuRecentApplications = new BCheckBox(
B_TRANSLATE("Recent applications:"),
fMenuRecentApplications = new BCheckBox(B_TRANSLATE("Recent applications:"),
new BMessage(kUpdateRecentCounts));
fMenuRecentFolders = new BCheckBox(B_TRANSLATE("Recent folders:"),
new BMessage(kUpdateRecentCounts));
@ -52,8 +51,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
new BMessage(kSortRunningApps));
fAppsSortTrackerFirst = new BCheckBox(B_TRANSLATE("Tracker always first"),
new BMessage(kTrackerFirst));
fAppsShowExpanders = new BCheckBox(
B_TRANSLATE("Show application expander"),
fAppsShowExpanders = new BCheckBox(B_TRANSLATE("Show application expander"),
new BMessage(kSuperExpando));
fAppsExpandNew = new BCheckBox(B_TRANSLATE("Expand new applications"),
new BMessage(kExpandNewTeams));
@ -83,7 +81,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
// Values
TBarApp* barApp = static_cast<TBarApp*>(be_app);
desk_settings* appSettings = barApp->Settings();;
desk_settings* appSettings = barApp->Settings();
fAppsSort->SetValue(appSettings->sortRunningApps);
fAppsSortTrackerFirst->SetValue(appSettings->trackerAlwaysFirst);

View File

@ -28,8 +28,8 @@ public:
PreferencesWindow(BRect frame);
~PreferencesWindow();
virtual void MessageReceived(BMessage* message);
virtual void WindowActivated(bool active);
virtual void MessageReceived(BMessage* message);
virtual void WindowActivated(bool active);
private:
void _UpdateRecentCounts();

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
@ -70,78 +71,78 @@ namespace TResourcePrivate {
: fDeleteOK(false)
{
}
virtual ~TypeObject()
{
if (!fDeleteOK)
debugger("deleting object owned by BResourceSet");
}
void Delete()
{
fDeleteOK = true;
}
private:
TypeObject(const TypeObject &);
TypeObject &operator=(const TypeObject &);
bool operator==(const TypeObject &);
bool operator!=(const TypeObject &);
bool fDeleteOK;
};
class BitmapTypeItem : public BBitmap, public TypeObject {
public:
BitmapTypeItem(BRect bounds, uint32 flags, color_space depth,
int32 bytesPerRow=B_ANY_BYTES_PER_ROW, screen_id screenID
int32 bytesPerRow = B_ANY_BYTES_PER_ROW, screen_id screenID
= B_MAIN_SCREEN_ID)
: BBitmap(bounds, flags, depth, bytesPerRow, screenID)
{
}
BitmapTypeItem(const BBitmap* source, bool accepts_views = false,
bool need_contiguous = false)
: BBitmap(source, accepts_views, need_contiguous)
{
}
BitmapTypeItem(BMessage* data)
: BBitmap(data)
{
}
virtual ~BitmapTypeItem()
{
}
};
class StringBlockTypeItem : public TStringBlock, public TypeObject {
public:
StringBlockTypeItem(BDataIO* data)
: TStringBlock(data)
{
}
StringBlockTypeItem(const void* block, size_t size)
: TStringBlock(block, size)
{
}
virtual ~StringBlockTypeItem()
{
}
};
class TypeItem {
public:
TypeItem(int32 id, const char* name, const void* data, size_t size)
: fID(id), fName(name),
fData(const_cast<void*>(data)), fSize(size), fObject(0),
fOwnData(false), fSourceIsFile(false)
: fID(id), fName(name),
fData(const_cast<void*>(data)), fSize(size), fObject(0),
fOwnData(false), fSourceIsFile(false)
{
}
TypeItem(int32 id, const char* name, BFile* file)
: fID(id),
fName(name),
@ -162,7 +163,7 @@ namespace TResourcePrivate {
}
}
}
virtual ~TypeItem()
{
if (fOwnData) {
@ -172,19 +173,27 @@ namespace TResourcePrivate {
}
SetObject(NULL);
}
int32 ID() const
{ return fID; }
{
return fID;
}
const char* Name() const
{ return fName.String(); }
{
return fName.String();
}
const void* Data() const
{ return fData; }
{
return fData;
}
size_t Size() const
{ return fSize; }
{
return fSize;
}
void SetObject(TypeObject* object)
{
if (object == fObject)
@ -195,14 +204,20 @@ namespace TResourcePrivate {
}
TypeObject* Object() const
{ return fObject; }
{
return fObject;
}
void SetSourceIsFile(bool state)
{ fSourceIsFile = state; }
{
fSourceIsFile = state;
}
bool SourceIsFile() const
{ return fSourceIsFile; }
{
return fSourceIsFile;
}
private:
int32 fID;
BString fName;
@ -212,7 +227,7 @@ namespace TResourcePrivate {
bool fOwnData;
bool fSourceIsFile;
};
static bool FreeTypeItemFunc(void* item)
{
delete reinterpret_cast<TypeItem*>(item);
@ -225,16 +240,18 @@ namespace TResourcePrivate {
: fType(type)
{
}
virtual ~TypeList()
{
fItems.DoForEach(FreeTypeItemFunc);
fItems.MakeEmpty();
}
type_code Type() const
{ return fType; }
{
return fType;
}
TypeItem* FindItemByID(int32 id)
{
for (int32 i = 0; i < fItems.CountItems(); i++ ) {
@ -254,17 +271,16 @@ namespace TResourcePrivate {
}
return NULL;
}
void AddItem(TypeItem* item)
{
fItems.AddItem(item);
}
private:
type_code fType;
BList fItems;
};
}
using namespace TResourcePrivate;
@ -282,13 +298,13 @@ TStringBlock::TStringBlock(BDataIO* data)
fStrings = (char*)malloc(1024);
size_t pos = 0;
ssize_t amount;
while ((amount=data->Read(fStrings + pos, 1024)) == 1024) {
while ((amount = data->Read(fStrings + pos, 1024)) == 1024) {
pos += amount;
fStrings = (char*)realloc(fStrings, pos + 1024);
}
if (amount > 0)
pos += amount;
fNumEntries = PreIndex(fStrings, amount);
fIndex = (size_t*)malloc(sizeof(size_t) * fNumEntries);
MakeIndex(fStrings, amount, fNumEntries, fIndex);
@ -304,7 +320,7 @@ TStringBlock::TStringBlock(const void* block, size_t size)
{
fIndex = (size_t*)const_cast<void*>(block);
fStrings = (char*)const_cast<void*>(block);
// Figure out how many entries there are.
size_t last_off = 0;
while (fIndex[fNumEntries] > last_off && fIndex[fNumEntries] < size ) {
@ -339,12 +355,12 @@ size_t
TStringBlock::PreIndex(char* strings, ssize_t len)
{
size_t count = 0;
char* orig = strings;
char* end = strings + len;
bool in_cr = false;
bool first = true;
bool skipping = false;
while (orig < end) {
if (*orig == '\n' || *orig == '\r' || *orig == 0) {
if (!in_cr && *orig == '\r')
@ -371,30 +387,29 @@ TStringBlock::PreIndex(char* strings, ssize_t len)
case '\\':
*strings = '\\';
break;
case '\n':
*strings = '\n';
break;
case '\r':
*strings = '\r';
break;
case '\t':
*strings = '\t';
break;
default:
*strings = *orig;
break;
}
} else
} else
*strings = *orig;
orig++;
strings++;
}
return count;
}
@ -405,7 +420,7 @@ TStringBlock::MakeIndex(const char* strings, ssize_t len,
{
*resultingIndex++ = 0;
indexLength--;
ssize_t pos = 0;
while (pos < len && indexLength > 0) {
if (strings[pos] == 0 ) {
@ -475,7 +490,7 @@ TResourceSet::AddResources(BResources* RESOURCES_ONLY(resources))
#if USE_RESOURCES
if (!resources)
return B_BAD_VALUE;
BAutolock lock(&fLock);
status_t err = fResources.AddItem(resources) ? B_OK : B_ERROR;
if (err != B_OK)
@ -499,7 +514,7 @@ TResourceSet::AddDirectory(const char* fullPath)
delete path;
return err;
}
BAutolock lock(&fLock);
err = fDirectories.AddItem(path) ? B_OK : B_ERROR;
if (err != B_OK)
@ -514,13 +529,13 @@ TResourceSet::AddEnvDirectory(const char* in, const char* defaultValue)
{
BString buf;
status_t err = ExpandString(&buf, in);
if (err != B_OK) {
if (defaultValue)
return AddDirectory(defaultValue);
return err;
}
return AddDirectory(buf.String());
}
@ -529,11 +544,12 @@ status_t
TResourceSet::ExpandString(BString* out, const char* in)
{
const char* start = in;
while (*in) {
if (*in == '$') {
if (start < in)
out->Append(start, (int32)(in - start));
out->Append(start, (int32)(in - start));
in++;
char variableName[1024];
size_t i = 0;
@ -545,25 +561,25 @@ TResourceSet::ExpandString(BString* out, const char* in)
if (*in)
in++;
} else
while ((isalnum(*in) || *in == '_') && i
< sizeof(variableName) - 1)
} else {
while ((isalnum(*in) || *in == '_')
&& i < sizeof(variableName) - 1)
variableName[i++] = *in++;
}
start = in;
variableName[i] = '\0';
const char* val = getenv(variableName);
if (!val) {
PRINT(("Error: env var %s not found.\n", &variableName[0]));
return B_NAME_NOT_FOUND;
}
status_t err = ExpandString(out, val);
if (err != B_OK)
return err;
} else if (*in == '\\') {
if (start < in)
out->Append(start, (int32)(in - start));
@ -576,7 +592,7 @@ TResourceSet::ExpandString(BString* out, const char* in)
if (start < in)
out->Append(start, (int32)(in - start));
return B_OK;
}
@ -585,7 +601,7 @@ const void*
TResourceSet::FindResource(type_code type, int32 id, size_t* outSize)
{
TypeItem* item = FindItemID(type, id);
if (outSize)
*outSize = item ? item->Size() : 0;
@ -597,7 +613,7 @@ const void*
TResourceSet::FindResource(type_code type, const char* name, size_t* outSize)
{
TypeItem* item = FindItemName(type, name);
if (outSize)
*outSize = item ? item->Size() : 0;
@ -632,11 +648,12 @@ TResourceSet::FindStringBlock(type_code type, const char* name)
return ReturnStringBlockItem(FindItemName(type, name));
}
const char*
TResourceSet::FindString(type_code type, int32 id, uint32 index)
{
const TStringBlock* stringBlock = FindStringBlock(type, id);
if (!stringBlock)
return NULL;
@ -648,25 +665,26 @@ const char*
TResourceSet::FindString(type_code type, const char* name, uint32 index)
{
const TStringBlock* stringBlock = FindStringBlock(type, name);
if (!stringBlock)
return NULL;
return stringBlock->String(index);
}
TypeList*
TResourceSet::FindTypeList(type_code type)
{
BAutolock lock(&fLock);
int32 count = fTypes.CountItems();
for (int32 i = 0; i < count; i++ ) {
TypeList* list = (TypeList*)fTypes.ItemAt(i);
if (list && list->Type() == type)
return list;
}
return NULL;
}
@ -676,12 +694,13 @@ TResourceSet::FindItemID(type_code type, int32 id)
{
TypeList* list = FindTypeList(type);
TypeItem* item = NULL;
if (list) item = list->FindItemByID(id);
if (list)
item = list->FindItemByID(id);
if (!item)
item = LoadResource(type, id, 0, &list);
return item;
}
@ -691,13 +710,13 @@ TResourceSet::FindItemName(type_code type, const char* name)
{
TypeList* list = FindTypeList(type);
TypeItem* item = NULL;
if (list)
item = list->FindItemByName(name);
if (!item)
item = LoadResource(type, -1, name, &list);
return item;
}
@ -707,10 +726,10 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
TypeList** inOutList)
{
TypeItem* item = NULL;
if (name) {
BEntry entry;
// If a named resource, first look in directories.
fLock.Lock();
int32 count = fDirectories.CountItems();
@ -731,7 +750,7 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
}
fLock.Unlock();
}
#if USE_RESOURCES
if (!item) {
// Look through resource objects for data.
@ -746,7 +765,7 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
data = resource->LoadResource(type, id, &size);
else if (name != NULL)
data = resource->LoadResource(type, name, &size);
if (data && size) {
item = new TypeItem(id, name, data, size);
item->SetSourceIsFile(false);
@ -787,7 +806,7 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
{
if (!from)
return NULL;
TypeObject* obj = from->Object();
BitmapTypeItem* bitmap = dynamic_cast<BitmapTypeItem*>(obj);
if (bitmap)
@ -803,10 +822,11 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
// Try to read as an archived bitmap.
stream.Seek(0, SEEK_SET);
BMessage archive;
if (archive.Unflatten(&stream) == B_OK ) {
if (archive.Unflatten(&stream) == B_OK) {
bitmap = new BitmapTypeItem(&archive);
if (bitmap && bitmap->InitCheck() != B_OK) {
bitmap->Delete(); // allows us to delete this bitmap...
bitmap->Delete();
// allows us to delete this bitmap...
delete bitmap;
bitmap = NULL;
}
@ -815,11 +835,11 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
if (bitmap) {
BAutolock lock(&fLock);
if (from->Object() != NULL) {
// Whoops! Someone snuck in under us.
// Whoops! Someone snuck in under us.
bitmap->Delete();
delete bitmap;
bitmap = dynamic_cast<BitmapTypeItem*>(from->Object());
} else
} else
from->SetObject(bitmap);
}
@ -832,33 +852,33 @@ TResourceSet::ReturnStringBlockItem(TypeItem* from)
{
if (!from)
return NULL;
TypeObject* obj = from->Object();
StringBlockTypeItem* stringBlock = dynamic_cast<StringBlockTypeItem*>(obj);
if (stringBlock)
return stringBlock;
// Can't change an existing object.
if (obj)
return NULL;
// Don't have a string block in the item -- we'll create one.
if (from->SourceIsFile() ) {
BMemoryIO stream(from->Data(), from->Size());
stringBlock = new StringBlockTypeItem(&stream);
} else
stringBlock = new StringBlockTypeItem(from->Data(), from->Size());
if (stringBlock) {
BAutolock lock(&fLock);
if (from->Object() != NULL) {
// Whoops! Someone snuck in under us.
// Whoops! Someone snuck in under us.
delete stringBlock;
stringBlock = dynamic_cast<StringBlockTypeItem*>(from->Object());
} else
from->SetObject(stringBlock);
}
return stringBlock;
}
@ -867,10 +887,8 @@ TResourceSet::ReturnStringBlockItem(TypeItem* from)
namespace TResourcePrivate {
TResourceSet* gResources = NULL;
BLocker gResourceLocker;
}
@ -880,7 +898,7 @@ AppResSet()
// If already have it, return immediately.
if (gResources)
return gResources;
// Don't have 'em, lock access to make 'em.
if (!gResourceLocker.Lock())
return NULL;
@ -889,7 +907,7 @@ AppResSet()
gResourceLocker.Unlock();
return gResources;
}
// Make 'em.
gResources = new TResourceSet;
gResources->AddResources(BApplication::AppResources());

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
#ifndef _T_RESOURCE_SET_H
@ -57,14 +58,14 @@ public:
TStringBlock(BDataIO* data);
TStringBlock(const void* block, size_t size);
virtual ~TStringBlock();
const char* String(size_t index) const;
private:
size_t PreIndex(char* strings, ssize_t len);
void MakeIndex(const char* strings, ssize_t len,
size_t indexLen, size_t* outIndex);
void MakeIndex(const char* strings, ssize_t len, size_t indexLen,
size_t* outIndex);
size_t fNumEntries;
size_t* fIndex;
char* fStrings;
@ -80,34 +81,32 @@ public:
status_t AddDirectory(const char* fullPath);
status_t AddEnvDirectory(const char* envPath,
const char* defaultValue = NULL);
const void* FindResource(type_code type, int32 id,
size_t* outSize);
const void* FindResource(type_code type, const char* name,
size_t* outSize);
const void* FindResource(type_code type, int32 id, size_t* outSize);
const void* FindResource(type_code type, const char* name, size_t* outSize);
const BBitmap* FindBitmap(type_code type, int32 id);
const BBitmap* FindBitmap(type_code type, const char* name);
const TStringBlock* FindStringBlock(type_code type, int32 id);
const TStringBlock* FindStringBlock(type_code type, const char* name);
const char* FindString(type_code type, int32 id, uint32 index);
const char* FindString(type_code type, const char* name, uint32 index);
private:
status_t ExpandString(BString* out, const char* in);
TypeList* FindTypeList(type_code type);
TypeItem* FindItemID(type_code type, int32 id);
TypeItem* FindItemName(type_code type, const char* name);
TypeItem* LoadResource(type_code type, int32 id, const char* name,
TypeList** inoutList = NULL);
BBitmap* ReturnBitmapItem(type_code type, TypeItem* from);
TStringBlock* ReturnStringBlockItem(TypeItem* from);
BLocker fLock; // access control.
BList fResources; // containing BResources objects.
BList fDirectories; // containing BPath objects.

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
@ -43,20 +44,20 @@ All rights reserved.
class TShowHideMenuItem : public BMenuItem {
public:
TShowHideMenuItem(const char* title,
TShowHideMenuItem(const char* title,
const BList* teams,
uint32 action);
static status_t TeamShowHideCommon(int32 action,
const BList* teamList,
BRect zoomRect = BRect(0, 0, 0, 0),
static status_t TeamShowHideCommon(int32 action,
const BList* teamList,
BRect zoomRect = BRect(0, 0, 0, 0),
bool doZoom = false);
protected:
virtual void GetContentSize(float* width, float* height);
virtual void DrawContent();
virtual status_t Invoke(BMessage* message = NULL);
private:
private:
const BList* fTeams;
uint32 fAction;
float fTitleWidth;

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
@ -74,19 +75,19 @@ All rights reserved.
using std::max;
#ifdef DB_ADDONS
// Add-on support
// Add-on support
//
// Item - internal item list (node, eref, etc)
// Icon - physical replicant handed to the DeskbarClass class
// AddOn - attribute based add-on
// Item - internal item list (node, eref, etc)
// Icon - physical replicant handed to the DeskbarClass class
// AddOn - attribute based add-on
const char* const kInstantiateItemCFunctionName = "instantiate_deskbar_item";
const char* const kInstantiateEntryCFunctionName = "instantiate_deskbar_entry";
const char* const kDeskbarSecurityCodeFile = "Deskbar_security_code";
const char* const kDeskbarSecurityCodeAttr = "be:deskbar_security_code";
const char* const kStatusPredicate = "be:deskbar_item_status";
const char* const kEnabledPredicate = "be:deskbar_item_status=enabled";
const char* const kDisabledPredicate = "be:deskbar_item_status=disabled";
const char* const kEnabledPredicate = "be:deskbar_item_status = enabled";
const char* const kDisabledPredicate = "be:deskbar_item_status = disabled";
float sMinimumWindowWidth = kGutter + kMinimumTrayWidth + kDragRegionWidth;
@ -240,8 +241,7 @@ TReplicantTray::DealWithClock(bool showClock)
}
/*!
Width is set to a minimum of kMinimumReplicantCount by kMaxReplicantWidth
/*! Width is set to a minimum of kMinimumReplicantCount by kMaxReplicantWidth
if not in multirowmode and greater than kMinimumReplicantCount
the width should be calculated based on the actual
replicant widths
@ -255,17 +255,15 @@ TReplicantTray::GetPreferredSize(float* preferredWidth, float* preferredHeight)
if (fShelf->CountReplicants() > 0)
height = fRightBottomReplicant.bottom;
// the height will be uniform for the number of rows
// necessary to show all the reps + any gutters
// necessary for spacing
// the height will be uniform for the number of rows necessary to show
// all the reps + any gutters necessary for spacing
int32 rowCount = (int32)(height / kMaxReplicantHeight);
height = kGutter + (rowCount * kMaxReplicantHeight)
+ ((rowCount - 1) * kIconGap) + kGutter;
height = max(kMinimumTrayHeight, height);
width = fMinimumTrayWidth;
} else {
// if last replicant overruns clock then
// resize to accomodate
// if last replicant overruns clock then resize to accomodate
if (fShelf->CountReplicants() > 0) {
if (fBarView->ShowingClock()
&& fRightBottomReplicant.right + 6 >= fClock->Frame().left) {
@ -274,12 +272,13 @@ TReplicantTray::GetPreferredSize(float* preferredWidth, float* preferredHeight)
} else
width = fRightBottomReplicant.right + 3;
}
// this view has a fixed minimum width
width = max(fMinimumTrayWidth, width);
}
*preferredWidth = width;
// add 2 for the border
// add 1 for the border
*preferredHeight = height + 1;
}
@ -350,8 +349,7 @@ TReplicantTray::ShowReplicantMenu(BPoint point)
BPopUpMenu* menu = new BPopUpMenu("", false, false);
menu->SetFont(be_plain_font);
// If the clock is visible, show the extended menu
// otheriwse, show "Show Time".
// If clock is visible show the extended menu, otherwise show "Show Time"
if (fBarView->ShowingClock())
fClock->ShowClockOptions(ConvertToScreen(point));
@ -375,7 +373,7 @@ TReplicantTray::MouseDown(BPoint where)
DumpList(fItemList);
#endif
uint32 buttons;
uint32 buttons;
Window()->CurrentMessage()->FindInt32("buttons", (int32*)&buttons);
if (buttons == B_SECONDARY_MOUSE_BUTTON) {
@ -412,15 +410,15 @@ TReplicantTray::InitAddOnSupport()
{
// list to maintain refs to each rep added/deleted
fItemList = new BList();
bool haveKey = false;
BPath path;
BPath path;
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path, true) == B_OK) {
path.Append(kDeskbarSecurityCodeFile);
BFile file(path.Path(),B_READ_ONLY);
BFile file(path.Path(), B_READ_ONLY);
if (file.InitCheck() == B_OK
&& file.Read(&fDeskbarSecurityCode, sizeof(fDeskbarSecurityCode))
&& file.Read(&fDeskbarSecurityCode, sizeof(fDeskbarSecurityCode))
== sizeof(fDeskbarSecurityCode))
haveKey = true;
}
@ -443,8 +441,7 @@ TReplicantTray::InitAddOnSupport()
}
}
// for each volume currently mounted
// index the volume with our indices
// for each volume currently mounted index the volume with our indices
BVolumeRoster roster;
BVolume volume;
while (roster.GetNextVolume(&volume) == B_OK) {
@ -488,8 +485,7 @@ TReplicantTray::RunAddOnQuery(BVolume* volume, const char* predicate)
|| fs_stat_index(volume->Device(), kStatusPredicate, &info) != 0)
return;
// run a new query on a specific volume
// make it live
// run a new query on a specific volume and make it live
BQuery query;
query.SetVolume(volume);
query.SetPredicate(predicate);
@ -557,7 +553,7 @@ TReplicantTray::NodeExists(node_ref& nodeRef)
}
/*! This handles B_NODE_MONITOR & B_QUERY_UPDATE messages received
/*! This handles B_NODE_MONITOR & B_QUERY_UPDATE messages received
for the registered add-ons.
*/
void
@ -697,8 +693,7 @@ TReplicantTray::HandleEntryUpdate(BMessage* message)
}
/*!
The add-ons must support the exported C function API
/*! The add-ons must support the exported C function API
if they do, they will be loaded and added to deskbar
primary function is the Instantiate function
*/
@ -883,7 +878,7 @@ TReplicantTray::MoveItem(entry_ref* ref, ino_t toDirectory)
}
}
#endif // add-on support
#endif // add-on support
// external add-on API routines
// called using the new BDeskbar class
@ -989,7 +984,7 @@ TReplicantTray::IconCount() const
}
/*! Message must contain an archivable view for later rehydration.
/*! Message must contain an archivable view for later rehydration.
This function takes over ownership of the provided message on success
only.
Returns the current replicant ID.
@ -1008,6 +1003,7 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
ref = *addOn;
} else {
const char* signature;
status_t status = archive->FindString("add_on", &signature);
if (status == B_OK) {
BRoster roster;
@ -1028,10 +1024,9 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
return status;
BEntry entry(&ref, true);
// ToDo: this resolves an eventual link for the item
// being added - this is okay for now, but in multi-user
// environments, one might want to have links that
// carry the be:deskbar_item_status attribute
// TODO: this resolves an eventual link for the item being added - this
// is okay for now, but in multi-user environments, one might want to
// have links that carry the be:deskbar_item_status attribute
status = entry.InitCheck();
if (status != B_OK)
return status;
@ -1041,10 +1036,10 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
archive->what = 0;
BRect originalBounds = archive->FindRect("_frame");
// this is a work-around for buggy replicants that change their
// size in AttachedToWindow() (such as "SVM")
// this is a work-around for buggy replicants that change their size in
// AttachedToWindow() (such as "SVM")
// !! check for name collisions?
// TODO: check for name collisions?
status = fShelf->AddReplicant(archive, BPoint(1, 1));
if (status != B_OK)
return status;
@ -1070,7 +1065,7 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
// add the item to the add-on list
AddItem(*id, nodeRef, entry, addOn != NULL);
return B_OK;
return B_OK;
}
@ -1129,8 +1124,7 @@ TReplicantTray::RealReplicantAdjustment(int32 startIndex)
float width, height;
GetPreferredSize(&width, &height);
if (oldWidth != width || oldHeight != height) {
// resize view to accomodate the replicants
// redraw as necessary
// resize view to accomodate the replicants, redraw as necessary
AdjustPlacement();
}
}
@ -1154,7 +1148,7 @@ TReplicantTray::ViewAt(int32* index, int32* id, int32 target, bool byIndex)
}
}
} else {
int32 count = fShelf->CountReplicants()-1;
int32 count = fShelf->CountReplicants() - 1;
int32 localid;
for (int32 repIndex = count ; repIndex >= 0 ; repIndex--) {
fShelf->ReplicantAt(repIndex, &view, (uint32*)&localid);
@ -1165,7 +1159,6 @@ TReplicantTray::ViewAt(int32* index, int32* id, int32 target, bool byIndex)
}
}
}
return NULL;
}
@ -1189,7 +1182,6 @@ TReplicantTray::ViewAt(int32* index, int32* id, const char* name)
return view;
}
}
return NULL;
}
@ -1353,7 +1345,7 @@ TReplicantTray::SetMultiRow(bool state)
// #pragma mark -
/*! Draggable region that is asynchronous so that dragging does not block
/*! Draggable region that is asynchronous so that dragging does not block
other activities.
*/
TDragRegion::TDragRegion(TBarView* parent, BView* child)
@ -1583,16 +1575,16 @@ bool
TDragRegion::SwitchModeForRect(BPoint mouse, BRect rect,
bool newVertical, bool newLeft, bool newTop, int32 newState)
{
if (!rect.Contains(mouse))
if (!rect.Contains(mouse)) {
// not our rect
return false;
}
if (newVertical == fBarView->Vertical()
&& newLeft == fBarView->Left()
&& newTop == fBarView->Top()
&& newState == fBarView->State())
if (newVertical == fBarView->Vertical() && newLeft == fBarView->Left()
&& newTop == fBarView->Top() && newState == fBarView->State()) {
// already in the correct mode
return true;
}
fBarView->ChangeState(newState, newVertical, newLeft, newTop);
return true;

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
@ -51,12 +52,11 @@ const int32 kIconGap = 2;
const int32 kGutter = 1;
const int32 kDragRegionWidth = 6;
// 1 pixel left gutter
// space for replicant tray (6 items)
// 6 pixel drag region
const float kMinimumTrayWidth = kIconGap
+ (kMinimumReplicantCount * kIconGap)
+ (kMinimumReplicantCount * kMaxReplicantWidth) + kGutter;
// 1 pixel left gutter
// space for replicant tray (6 items)
// 6 pixel drag region
const float kMinimumTrayWidth = kIconGap + (kMinimumReplicantCount * kIconGap)
+ (kMinimumReplicantCount * kMaxReplicantWidth) + kGutter;
const float kMinimumTrayHeight = kGutter + kMaxReplicantHeight + kGutter;
extern float sMinimumWindowWidth;
@ -104,7 +104,7 @@ public:
void RemoveIcon(int32 target, bool byIndex = false);
void RemoveIcon(const char* name);
BRect IconFrame(int32 target, bool byIndex=false);
BRect IconFrame(int32 target, bool byIndex = false);
BRect IconFrame(const char* name);
bool AcceptAddon(BRect frame, BMessage* message);

View File

@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
@ -68,15 +69,16 @@ TReplicantShelf::MessageReceived(BMessage* message)
// since we can't use ReplicantDeleted
// catch the message and find the id or name specifier
// then delete the rep vi the api,
//
// this will fix the problem of realigning the reps
// after a remove when done through scripting
//
// note: if specified by index its the index not the id!
while (message->FindMessage("specifiers", index++, &repspec)
== B_OK) {
const char* str;
if (repspec.FindString("property", &str) == B_OK) {
if (strcmp(str, "Replicant") == 0) {
int32 index;
@ -103,7 +105,7 @@ TReplicantShelf::MessageReceived(BMessage* message)
}
bool
bool
TReplicantShelf::CanAcceptReplicantView(BRect frame, BView* view,
BMessage* message) const
{

View File

@ -26,14 +26,15 @@ Except as contained in this notice, the name of Be Incorporated shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from Be Incorporated.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
trademarks of Be Incorporated in the United States and other countries. Other
brand product names are registered trademarks or trademarks of their respective
holders.
All rights reserved.
*/
// overrides BShelf; rejects draggers that won't fit into the shelf
// alligns received draggers into a grid
// overrides BShelf; rejects draggers that won't fit into the shelf
// alligns received draggers into a grid
#ifndef __STATUS_VIEW_SHELF__
#define __STATUS_VIEW_SHELF__
@ -45,12 +46,12 @@ class TReplicantShelf : public BShelf {
public:
TReplicantShelf(TReplicantTray* view);
~TReplicantShelf();
void MessageReceived(BMessage*);
protected:
bool CanAcceptReplicantView(BRect, BView*, BMessage*) const;
BPoint AdjustReplicantBy(BRect, BMessage*) const;
BPoint AdjustReplicantBy(BRect, BMessage*) const;
void ReplicantDeleted(int32, const BMessage*, const BView*);
private: