#include <KDirModel>
#include <KIconLoader>
#include <KIO/NetAccess>
-#include <kmodelindexproxymapper.h>
#include <KLocale>
// Local
QString mSrcBaseName;
KUrl mSrcBaseUrl;
KUrl mSrcUrl;
- KModelIndexProxyMapper* mSrcUrlModelProxyMapper;
RecursiveDirModel* mRecursiveDirModel;
QAbstractItemModel* mFinalModel;
void setupSrcUrlWidgets()
{
- mSrcUrlModelProxyMapper = 0;
- QObject::connect(mSrcUrlButton, SIGNAL(clicked()), q, SLOT(setupSrcUrlTreeView()));
- QObject::connect(mSrcUrlButton, SIGNAL(clicked()), q, SLOT(toggleSrcUrlTreeView()));
- mSrcUrlTreeView->hide();
- KAcceleratorManager::setNoAccel(mSrcUrlButton);
+ KAcceleratorManager::setNoAccel(mSrcUrlLabel);
}
void setupDstUrlRequester()
path.replace("/", QString::fromUtf8(" › "));
text = QString::fromUtf8("%1 › %2").arg(d->mSrcBaseName).arg(path);
}
- d->mSrcUrlButton->setText(text);
+ d->mSrcUrlLabel->setText(text);
d->mRecursiveDirModel->setUrl(url);
}
QString mName;
};
-void ThumbnailPage::setupSrcUrlTreeView()
-{
- if (d->mSrcUrlTreeView->model()) {
- // Already initialized
- return;
- }
- KDirModel* dirModel = new KDirModel(this);
- dirModel->dirLister()->setDirOnlyMode(true);
- dirModel->dirLister()->openUrl(d->mSrcBaseUrl.upUrl());
-
- OnlyBaseUrlProxyModel* onlyBaseUrlModel = new OnlyBaseUrlProxyModel(d->mSrcBaseUrl, d->mSrcBaseIcon, d->mSrcBaseName, this);
- onlyBaseUrlModel->setSourceModel(dirModel);
-
- QSortFilterProxyModel* sortModel = new QSortFilterProxyModel(this);
- sortModel->setDynamicSortFilter(true);
- sortModel->setSourceModel(onlyBaseUrlModel);
- sortModel->sort(0);
-
- d->mSrcUrlModelProxyMapper = new KModelIndexProxyMapper(dirModel, sortModel, this);
-
- d->mSrcUrlTreeView->setModel(sortModel);
- for(int i = 1; i < dirModel->columnCount(); ++i) {
- d->mSrcUrlTreeView->hideColumn(i);
- }
- connect(d->mSrcUrlTreeView, SIGNAL(activated(QModelIndex)), SLOT(openUrlFromIndex(QModelIndex)));
- connect(d->mSrcUrlTreeView, SIGNAL(clicked(QModelIndex)), SLOT(openUrlFromIndex(QModelIndex)));
-
- dirModel->expandToUrl(d->mSrcUrl);
- connect(dirModel, SIGNAL(expand(QModelIndex)), SLOT(slotSrcUrlModelExpand(QModelIndex)));
-}
-
-void ThumbnailPage::slotSrcUrlModelExpand(const QModelIndex& index)
-{
- QModelIndex viewIndex = d->mSrcUrlModelProxyMapper->mapLeftToRight(index);
- d->mSrcUrlTreeView->expand(viewIndex);
- KFileItem item = itemForIndex(index);
- if (item.url() == d->mSrcUrl) {
- d->mSrcUrlTreeView->selectionModel()->select(viewIndex, QItemSelectionModel::ClearAndSelect);
- }
-}
-
-void ThumbnailPage::toggleSrcUrlTreeView()
-{
- d->mSrcUrlTreeView->setVisible(!d->mSrcUrlTreeView->isVisible());
-}
-
-void ThumbnailPage::openUrlFromIndex(const QModelIndex& index)
-{
- KFileItem item = itemForIndex(index);
- if (item.isNull()) {
- return;
- }
- KUrl url = item.url();
- d->rememberUrl(url);
- openUrl(url);
-}
-
} // namespace
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <widget class="QTreeView" name="mSrcUrlTreeView">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>1</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="headerHidden">
- <bool>true</bool>
- </property>
- </widget>
<widget class="Gwenview::ThumbnailView" name="mThumbnailView">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<string>Listing content of:</string>
</property>
<property name="buddy">
- <cstring>mSrcUrlButton</cstring>
+ <cstring>mSrcUrlLabel</cstring>
</property>
</widget>
</item>
<item>
- <widget class="KPushButton" name="mSrcUrlButton"/>
+ <widget class="QLabel" name="mSrcUrlLabel"/>
</item>
<item>
<spacer name="horizontalSpacer_2">
</customwidgets>
<tabstops>
<tabstop>mSrcUrlButton</tabstop>
- <tabstop>mSrcUrlTreeView</tabstop>
<tabstop>mThumbnailView</tabstop>
<tabstop>mDstUrlRequester</tabstop>
<tabstop>mConfigureButton</tabstop>