┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphincolumnviewcontainer.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-10-09 15:22:49 +0000
committerPeter Penz <[email protected]>2010-10-09 15:22:49 +0000
commit708312d759e8a56d62dd9d6ac2a0d0f12d617817 (patch)
tree471f259389a4f913b6295797f7592c162b5244a6 /src/views/dolphincolumnviewcontainer.cpp
parentabd36cde0c3e41d933bd18a5d7c44e17d0e94ab9 (diff)
Allow the user to resize the columns.
BUG: 190030 BUG: 196717 FIXED-IN: 4.6.0 svn path=/trunk/KDE/kdebase/apps/; revision=1184247
Diffstat (limited to 'src/views/dolphincolumnviewcontainer.cpp')
-rw-r--r--src/views/dolphincolumnviewcontainer.cpp31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/views/dolphincolumnviewcontainer.cpp b/src/views/dolphincolumnviewcontainer.cpp
index 461768bea..c3cab6ded 100644
--- a/src/views/dolphincolumnviewcontainer.cpp
+++ b/src/views/dolphincolumnviewcontainer.cpp
@@ -79,7 +79,6 @@ DolphinColumnViewContainer::DolphinColumnViewContainer(QWidget* parent,
m_emptyViewport->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
updateColumnsBackground(true);
-
}
DolphinColumnViewContainer::~DolphinColumnViewContainer()
@@ -171,7 +170,6 @@ void DolphinColumnViewContainer::showColumn(const KUrl& url)
column->setGeometry(QRect(-1, -1, 1, 1));
column->show();
layoutColumns();
- updateScrollBar();
}
}
@@ -199,7 +197,6 @@ void DolphinColumnViewContainer::resizeEvent(QResizeEvent* event)
{
QScrollArea::resizeEvent(event);
layoutColumns();
- updateScrollBar();
assureVisibleActiveColumn();
}
@@ -249,40 +246,40 @@ void DolphinColumnViewContainer::updateActiveUrl()
void DolphinColumnViewContainer::layoutColumns()
{
- const int gap = 4;
-
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- const int columnWidth = settings->columnWidth();
-
+ // Layout the position of the columns corresponding to their maximum width
QRect emptyViewportRect;
if (isRightToLeft()) {
+ int columnWidth = m_columns[0]->maximumWidth();
int x = viewport()->width() - columnWidth + m_contentX;
foreach (DolphinColumnView* column, m_columns) {
- column->setGeometry(QRect(x, 0, columnWidth - gap, viewport()->height()));
+ columnWidth = column->maximumWidth();
+ column->setGeometry(QRect(x, 0, columnWidth, viewport()->height()));
x -= columnWidth;
}
- emptyViewportRect = QRect(0, 0, x + columnWidth - gap, viewport()->height());
+ emptyViewportRect = QRect(0, 0, x + columnWidth, viewport()->height());
} else {
int x = m_contentX;
foreach (DolphinColumnView* column, m_columns) {
- column->setGeometry(QRect(x, 0, columnWidth - gap, viewport()->height()));
+ const int columnWidth = column->maximumWidth();
+ column->setGeometry(QRect(x, 0, columnWidth, viewport()->height()));
x += columnWidth;
}
- emptyViewportRect = QRect(x, 0, viewport()->width() - x - gap, viewport()->height());
+ emptyViewportRect = QRect(x, 0, viewport()->width() - x, viewport()->height());
}
+ // Show an empty viewport if the columns don't cover the whole viewport
if (emptyViewportRect.isValid()) {
m_emptyViewport->show();
m_emptyViewport->setGeometry(emptyViewportRect);
} else {
m_emptyViewport->hide();
}
-}
-void DolphinColumnViewContainer::updateScrollBar()
-{
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- const int contentWidth = m_columns.count() * settings->columnWidth();
+ // Update the horizontal position indicator
+ int contentWidth = 0;
+ foreach (DolphinColumnView* column, m_columns) {
+ contentWidth += column->maximumWidth();
+ }
horizontalScrollBar()->setPageStep(contentWidth);
horizontalScrollBar()->setRange(0, contentWidth - viewport()->width());