Files
Upsilon/apps/home/app_cell.cpp
Émilie Feral f51ae5db12 [kandinsky] Introduce two fonts: small font and large font
Change-Id: I502dfa88d627b09ac5af76155140af63547025cd
2017-01-27 11:14:01 +01:00

47 lines
989 B
C++

#include "app_cell.h"
#include <assert.h>
namespace Home {
AppCell::AppCell() :
TableViewCell(),
m_nameView(PointerTextView(KDText::FontSize::Small)),
m_visible(true)
{
}
int AppCell::numberOfSubviews() const {
return m_visible ? 2 : 0;
}
View * AppCell::subviewAtIndex(int index) {
View * views[] = {&m_iconView, &m_nameView};
return views[index];
}
void AppCell::layoutSubviews() {
m_iconView.setFrame(KDRect(0,0,k_iconSize,k_iconSize));
if (bounds().height() > k_iconSize) {
m_nameView.setFrame(KDRect(0, k_iconSize, bounds().width(), bounds().height()-k_iconSize));
}
}
void AppCell::setApp(::App * app) {
m_iconView.setImage(app->icon());
m_nameView.setText(app->name());
}
void AppCell::setVisible(bool visible) {
if (m_visible != visible) {
m_visible = visible;
markRectAsDirty(bounds());
}
}
void AppCell::reloadCell() {
TableViewCell::reloadCell();
m_nameView.setBackgroundColor(isHighlighted() ? KDColorRed : KDColorWhite);
}
}