Fix (hopefully) library dependency resolution.

Installing libs is now enabled, hardcoded.
Enable -Wall for all builds.
Fix many warnings and latent bugs.
This commit is contained in:
Petr Mrázek
2013-12-01 16:34:51 +01:00
parent a3fbf05c7b
commit f56eff04ef
29 changed files with 246 additions and 262 deletions

View File

@ -58,18 +58,6 @@ struct KCategorizedView::Private::Item
struct KCategorizedView::Private::Block
{
Block()
: topLeft ( QPoint() )
, height ( -1 )
, firstIndex ( QModelIndex() )
, quarantineStart ( QModelIndex() )
, items ( QList<Item>() )
, outOfQuarantine ( false )
, alternate ( false )
, collapsed ( false )
{
}
bool operator!= ( const Block &rhs ) const
{
return firstIndex != rhs.firstIndex;
@ -83,7 +71,7 @@ struct KCategorizedView::Private::Block
}
QPoint topLeft;
int height;
int height = -1;
QPersistentModelIndex firstIndex;
// if we have n elements on this block, and we inserted an element at position i. The quarantine
// will start at index (i, column, parent). This means that for all elements j where i <= j <= n, the
@ -97,25 +85,16 @@ struct KCategorizedView::Private::Block
// this affects the whole block, not items separately. items contain the topLeft point relative
// to the block. Because of insertions or removals a whole block can be moved, so the whole block
// will enter in quarantine, what is faster than moving all items in absolute terms.
bool outOfQuarantine;
bool outOfQuarantine = false;
// should we alternate its color ? is just a hint, could not be used
bool alternate;
bool collapsed;
bool alternate = false;
bool collapsed = false;
};
KCategorizedView::Private::Private ( KCategorizedView *q )
: q ( q )
, proxyModel ( 0 )
, categoryDrawer ( 0 )
, categorySpacing ( 5 )
, alternatingBlockColors ( false )
, collapsibleBlocks ( false )
, hoveredBlock ( new Block() )
, hoveredIndex ( QModelIndex() )
, pressedPosition ( QPoint() )
, rubberBandRect ( QRect() )
, constantItemWidth( 0 )
{
}

View File

@ -137,14 +137,15 @@ public:
*/
void _k_slotCollapseOrExpandClicked(QModelIndex);
KCategorizedView *q;
KCategorizedSortFilterProxyModel *proxyModel;
KCategoryDrawer *categoryDrawer;
int categorySpacing;
bool alternatingBlockColors;
bool collapsibleBlocks;
bool constantItemWidth;
KCategorizedView *q = nullptr;
KCategorizedSortFilterProxyModel *proxyModel = nullptr;
KCategoryDrawer *categoryDrawer = nullptr;
int categorySpacing = 5;
bool alternatingBlockColors = false;
bool collapsibleBlocks = false;
bool constantItemWidth = false;
// FIXME: this is some really weird logic. Investigate.
Block *hoveredBlock;
QString hoveredCategory;
QModelIndex hoveredIndex;

View File

@ -42,9 +42,9 @@ public:
~Private()
{
}
KCategorizedView *view;
int leftMargin;
int rightMargin;
KCategorizedView *view;
};
KCategoryDrawer::KCategoryDrawer(KCategorizedView *view)