[haiku-commits] haiku: hrev52506 - src/kits/tracker

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 5 Nov 2018 16:21:30 -0500 (EST)

hrev52506 adds 2 changesets to branch 'master'
old head: f2d9de457702bf1a2159868a922e946866c39719
new head: a55e9f5235abb5837de1b25d9d34fba117db0e54
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=a55e9f5235ab+%5Ef2d9de457702

----------------------------------------------------------------------------

fa584266d577: Tracker: Simplified test; fColumnList cannot be NULL

a55e9f5235ab: Tracker: NavMenu icons scale with font size
  
  * Moved icon size computation into separate utility function.

                                   [ Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

5 files changed, 24 insertions(+), 18 deletions(-)
src/kits/tracker/IconMenuItem.cpp | 15 ++++++++-------
src/kits/tracker/PoseView.cpp     | 13 ++++---------
src/kits/tracker/PoseView.h       |  3 +--
src/kits/tracker/Utilities.cpp    |  9 +++++++++
src/kits/tracker/Utilities.h      |  2 ++

############################################################################

Commit:      fa584266d57751280ae4bb3219883da4afe67fc6
URL:         https://git.haiku-os.org/haiku/commit/?id=fa584266d577
Author:      Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
Date:        Mon Nov  5 18:02:29 2018 UTC

Tracker: Simplified test; fColumnList cannot be NULL

----------------------------------------------------------------------------

diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp
index e66d55f970..4e148435bd 100644
--- a/src/kits/tracker/PoseView.cpp
+++ b/src/kits/tracker/PoseView.cpp
@@ -10457,10 +10457,8 @@ BPoseView::ExcludeTrashFromSelection()
 void
 BPoseView::_ResetStartOffset()
 {
-       if (fColumnList == NULL || fColumnList->IsEmpty()
-                       || fColumnList->ItemAt(0) == NULL)
-               return;
-       fColumnList->ItemAt(0)->SetOffset(StartOffset());
+       if (!fColumnList->IsEmpty())
+               fColumnList->ItemAt(0)->SetOffset(StartOffset());
 }
 
 

############################################################################

Revision:    hrev52506
Commit:      a55e9f5235abb5837de1b25d9d34fba117db0e54
URL:         https://git.haiku-os.org/haiku/commit/?id=a55e9f5235ab
Author:      Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
Date:        Mon Nov  5 22:20:07 2018 UTC

Tracker: NavMenu icons scale with font size

* Moved icon size computation into separate utility function.

----------------------------------------------------------------------------

diff --git a/src/kits/tracker/IconMenuItem.cpp 
b/src/kits/tracker/IconMenuItem.cpp
index 03dcee79dc..3c95a305d2 100644
--- a/src/kits/tracker/IconMenuItem.cpp
+++ b/src/kits/tracker/IconMenuItem.cpp
@@ -126,7 +126,7 @@ ModelMenuItem::DrawContent()
 {
        if (fDrawText) {
                BPoint drawPoint(ContentLocation());
-               drawPoint.x += 20 + (fExtraPad ? 6 : 0);
+               drawPoint.x += ListIconSize() + (fExtraPad ? 10 : 4);
                if (fHeightDelta > 0)
                        drawPoint.y += ceil(fHeightDelta / 2);
                Menu()->MovePenTo(drawPoint);
@@ -164,12 +164,12 @@ ModelMenuItem::DrawIcon()
        // draw small icon, synchronously
        if (IsEnabled()) {
                IconCache::sIconCache->Draw(fModel.ResolveIfLink(), Menu(), 
where,
-                       kNormalIcon, B_MINI_ICON);
+                       kNormalIcon, (icon_size)ListIconSize());
        } else {
                // dimmed, for now use a special blitter; icon cache should
                // know how to blit one eventually
                IconCache::sIconCache->SyncDraw(fModel.ResolveIfLink(), Menu(), 
where,
-                       kNormalIcon, B_MINI_ICON, DimmedIconBlitter);
+                       kNormalIcon, (icon_size)ListIconSize(), 
DimmedIconBlitter);
        }
 
        Menu()->PopState();
@@ -180,10 +180,11 @@ void
 ModelMenuItem::GetContentSize(float* width, float* height)
 {
        _inherited::GetContentSize(width, height);
-       fHeightDelta = 16 - *height;
-       if (*height < 16)
-               *height = 16;
-       *width = *width + 20 + (fExtraPad ? 18 : 0);
+       float iconSize = ListIconSize();
+       fHeightDelta = iconSize - *height;
+       if (*height < iconSize)
+               *height = iconSize;
+       *width = *width + 4 + iconSize + (fExtraPad ? 18 : 0);
 }
 
 
diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp
index 4e148435bd..7aa0f65e11 100644
--- a/src/kits/tracker/PoseView.cpp
+++ b/src/kits/tracker/PoseView.cpp
@@ -235,7 +235,6 @@ BPoseView::BPoseView(Model* model, uint32 viewMode)
        fCountView(NULL),
        fListElemHeight(0.0f),
        fIconPoseHeight(0.0f),
-       fListIconSize(0.0f),
        fDropTarget(NULL),
        fAlreadySelectedDropTarget(NULL),
        fSelectionHandler(be_app),
@@ -278,9 +277,7 @@ BPoseView::BPoseView(Model* model, uint32 viewMode)
        fDeskbarFrame(0, 0, -1, -1),
        fTextWidgetToCheck(NULL)
 {
-       fListIconSize = std::max((float)B_MINI_ICON,
-               B_MINI_ICON * be_plain_font->Size() / 12);
-       fListElemHeight = std::max(fListIconSize,
+       fListElemHeight = std::fmax(ListIconSize(),
                ceilf(sFontHeight) < 20 ? 20 : ceilf(sFontHeight * 1.1f));
 
        fViewState->SetViewMode(viewMode);
@@ -1032,7 +1029,7 @@ BPoseView::SetIconPoseHeight()
                case kListMode:
                default:
                {
-                       fViewState->SetIconSize(fListIconSize);
+                       fViewState->SetIconSize(ListIconSize());
                        fIconPoseHeight = fListElemHeight;
                        break;
                }
diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h
index e936c44082..82a3ff5053 100644
--- a/src/kits/tracker/PoseView.h
+++ b/src/kits/tracker/PoseView.h
@@ -724,7 +724,6 @@ protected:
        BCountView* fCountView;
        float fListElemHeight;
        float fIconPoseHeight;
-       float fListIconSize;
        BPose* fDropTarget;
        BPose* fAlreadySelectedDropTarget;
        BLooper* fSelectionHandler;
@@ -1065,7 +1064,7 @@ BPoseView::CountColumns() const
 inline float
 BPoseView::StartOffset() const
 {
-       return kListOffset + fListIconSize + kMiniIconSeparator + 1;
+       return kListOffset + ListIconSize() + kMiniIconSeparator + 1;
 }
 
 
diff --git a/src/kits/tracker/Utilities.cpp b/src/kits/tracker/Utilities.cpp
index faa5299fbb..7df1e80c09 100644
--- a/src/kits/tracker/Utilities.cpp
+++ b/src/kits/tracker/Utilities.cpp
@@ -1257,6 +1257,15 @@ StringToScalar(const char* text)
 }
 
 
+int32
+ListIconSize()
+{
+       static int32 sIconSize = std::max((int32)B_MINI_ICON,
+               (int32)ceilf(B_MINI_ICON * be_plain_font->Size() / 12));
+       return sIconSize;
+}
+
+
 static BRect
 LineBounds(BPoint where, float length, bool vertical)
 {
diff --git a/src/kits/tracker/Utilities.h b/src/kits/tracker/Utilities.h
index ab0d708142..687366abd7 100644
--- a/src/kits/tracker/Utilities.h
+++ b/src/kits/tracker/Utilities.h
@@ -417,6 +417,8 @@ const BMenuItem* EachMenuItem(const BMenu* menu, bool 
recursive,
 int64 StringToScalar(const char* text);
        // string to num, understands kB, MB, etc.
 
+int32 ListIconSize();
+
 // misc calls
 void EmbedUniqueVolumeInfo(BMessage* message, const BVolume* volume);
 status_t MatchArchivedVolume(BVolume* volume, const BMessage* message,


Other related posts:

  • » [haiku-commits] haiku: hrev52506 - src/kits/tracker - axeld