[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/plasma/shells/mobile/containments/mobilelauncher
From: Marco Martin <notmart () gmail ! com>
Date: 2010-11-30 23:23:21
Message-ID: 20101130232321.8872DAC8A3 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1202460 by mart:
paged navigation lmost work
M +1 -0 models/krunnermodel.cpp
M +4 -0 models/krunnermodel.h
M +3 -3 models/pagedproxymodel.cpp
M +22 -22 qml/view.qml
--- trunk/playground/base/plasma/shells/mobile/containments/mobilelauncher/models/krunnermodel.cpp \
#1202459:1202460 @@ -181,6 +181,7 @@
}
sort(0, Qt::DescendingOrder);
+ emit rowCountChanged();
}
Qt::ItemFlags KRunnerModel::flags(const QModelIndex &index) const
--- trunk/playground/base/plasma/shells/mobile/containments/mobilelauncher/models/krunnermodel.h \
#1202459:1202460 @@ -42,6 +42,7 @@
{
Q_OBJECT
Q_PROPERTY(QString defaultQuery READ defaultQuery WRITE setDefaultQuery)
+ Q_PROPERTY(int rowCount READ rowCount NOTIFY rowCountChanged)
public:
KRunnerModel(QObject *parent);
@@ -54,6 +55,7 @@
virtual QMimeData *mimeData(const QModelIndexList &indexes) const;
static Plasma::RunnerManager *runnerManager();
+ int rowCount() const {return QStandardItemModel::rowCount();}
private:
void timerEvent(QTimerEvent * event);
@@ -66,11 +68,13 @@
Q_SIGNALS:
void resultsAvailable();
+ void rowCountChanged();
private:
class Private;
Private * const d;
QString m_defaultQuery;
+ int m_totalItems;
};
#endif // KRUNNERMODEL_H
--- trunk/playground/base/plasma/shells/mobile/containments/mobilelauncher/models/pagedproxymodel.cpp \
#1202459:1202460 @@ -23,7 +23,7 @@
PagedProxyModel::PagedProxyModel(QObject *parent)
: QProxyModel(parent),
- m_pageSize(10),
+ m_pageSize(16),
m_currentPage(0)
{
}
@@ -73,11 +73,11 @@
void PagedProxyModel::setSourceModel(QObject *source)
{
- kWarning()<<"AAAA"<<source;
QAbstractItemModel *model = qobject_cast<QAbstractItemModel *>(source);
if (!model) {
return;
}
+ setRoleNames(model->roleNames());
setModel(model);
}
@@ -89,7 +89,7 @@
int PagedProxyModel::rowCount(const QModelIndex &parent) const
{
- return QProxyModel::rowCount(parent)/m_pageSize;
+ return qMin(m_pageSize, \
(QProxyModel::rowCount(parent)-m_currentPage*m_pageSize)); }
QVariant PagedProxyModel::data(const QModelIndex &index, int role) const
--- trunk/playground/base/plasma/shells/mobile/containments/mobilelauncher/qml/view.qml \
#1202459:1202460 @@ -1,6 +1,7 @@
import Qt 4.7
import org.kde.plasma.graphicswidgets 0.1 as PlasmaWidgets
import org.kde.plasma.core 0.1 as PlasmaCore
+import MobileLauncher 1.0
Rectangle {
id: main
@@ -70,41 +71,37 @@
}
}
}
- GridView {
+ ListView {
id: appsView
objectName: "appsView"
width: mainFlickable.width
height: mainFlickable.height
- model: myModel
- flow: GridView.TopToBottom
- snapMode: GridView.SnapOneRow
- cellWidth: width/6
- cellHeight: 64+32
+ model: Math.ceil(myModel.rowCount/18.0)
+ orientation: ListView.Horizontal
+ snapMode: ListView.SnapOneItem
+
clip: true
signal clicked
- onWidthChanged : {
- if (width > 600) {
- cellWidth = width/6
- } else {
- cellWidth = width/4
- }
- }
- /*onHeightChanged : {
- if (height > 600) {
- cellHeight = height/6
- } else {
- cellHeight = height/3
+ delegate: Item {
+ width: appsView.width
+ height: appsView.height
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ rows: 3
+ Repeater {
+ model: PagedProxyModel {
+ sourceModel: myModel
+ currentPage: index
+ pageSize: 18
}
- }*/
-
delegate: Component {
Item {
id: wrapper
- width: wrapper.GridView.view.cellWidth
- height: wrapper.GridView.view.cellHeight
+ width: 100
+ height: 100
property string urlText: url
PlasmaWidgets.IconWidget {
@@ -138,3 +135,6 @@
}
}
}
+ }
+ }
+}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic