From 5e8a46147472fda0cc667fd66d39255a1b668d06 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Mon, 9 Jan 2012 09:52:38 +0100 Subject: [PATCH] fixed ratio and added space between list elements --- src/customWidgets/UBWidgetList.cpp | 7 ++++++- src/customWidgets/UBWidgetList.h | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/customWidgets/UBWidgetList.cpp b/src/customWidgets/UBWidgetList.cpp index c0d98f9d..7115b14f 100644 --- a/src/customWidgets/UBWidgetList.cpp +++ b/src/customWidgets/UBWidgetList.cpp @@ -5,6 +5,7 @@ UBWidgetList::UBWidgetList(QWidget* parent, eWidgetListOrientation orientation, , mpLayout(NULL) , mpContainer(NULL) , mMargin(5) + , mListElementsSpacing(10) , mpEmptyLabel(NULL) { setObjectName(name); @@ -75,7 +76,8 @@ void UBWidgetList::removeWidget(QWidget *widget) int UBWidgetList::scaleWidgets(QSize pSize) { - int result = 0; + // to remove the first spacing that shouldn't be there. + int result = -mListElementsSpacing; int count = 0; foreach(QWidget* eachWidget, mWidgetInfo.keys()){ qreal scaleFactor = 0; @@ -85,6 +87,7 @@ int UBWidgetList::scaleWidgets(QSize pSize) scaleFactor = (float)mWidgetInfo[eachWidget].width() / (float)pSize.width(); newWidgetHeight = mWidgetInfo[eachWidget].height()/scaleFactor; result += newWidgetHeight; + eachWidget->setMinimumHeight(newWidgetHeight); } else{ scaleFactor = (float)mWidgetInfo[eachWidget].height() / (float)pSize.height(); @@ -99,6 +102,8 @@ int UBWidgetList::scaleWidgets(QSize pSize) qDebug() << __PRETTY_FUNCTION__ << "scale factor " << scaleFactor; qDebug() << __PRETTY_FUNCTION__ << "new height " << result; #endif + //Adding a vertical/horizontal space between each element of the list + result += mListElementsSpacing; } return result; } diff --git a/src/customWidgets/UBWidgetList.h b/src/customWidgets/UBWidgetList.h index 2dd0895f..6cdfef66 100644 --- a/src/customWidgets/UBWidgetList.h +++ b/src/customWidgets/UBWidgetList.h @@ -29,6 +29,8 @@ public: void setEmptyText(const QString& text); int margin(); bool empty(); + void setListElementSpacing(int margin) { mListElementsSpacing = margin; } + int listElementsSpacing() {return mListElementsSpacing; } protected: void resizeEvent(QResizeEvent* ev); @@ -41,6 +43,7 @@ private: QWidget* mpContainer; eWidgetListOrientation mOrientation; int mMargin; + int mListElementsSpacing; QMap mWidgetInfo; QLabel* mpEmptyLabel; };