summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2012-06-04 15:29:58 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2012-06-04 15:48:06 -0300
commitdeb0c472023043669d1daf9cf8d4a0a0b7123462 (patch)
treee6521bdd236405321f71bc6a01f82c2bc393b6c2
parent2db3d4152043aab4fa06d182520efec9c546050d (diff)
downloadsnowshoe-deb0c472023043669d1daf9cf8d4a0a0b7123462.tar.gz
Added a thumbnail field to the BookmarksModel.
At the moment it only returns a placeholder image, since we can't get web page thumbnails yet. Also changed the usage of "screenshot" in TabsModel to the more specific "thumbnail" term. Reviewed-by: Hugo Parente Lima
-rw-r--r--src/core/BookmarkModel.cpp25
-rw-r--r--src/core/TabsModel.cpp10
-rw-r--r--src/mobile/qml/TabsPanel.qml2
-rw-r--r--src/mobile/qml/TopSitesPanel.qml2
4 files changed, 20 insertions, 19 deletions
diff --git a/src/core/BookmarkModel.cpp b/src/core/BookmarkModel.cpp
index efa2867..79ab1da 100644
--- a/src/core/BookmarkModel.cpp
+++ b/src/core/BookmarkModel.cpp
@@ -38,11 +38,8 @@ void BookmarkModel::generateRoleNames()
QString BookmarkModel::tableCreateQuery() const
{
- const QLatin1String bookmarkQuery("CREATE TABLE IF NOT EXISTS bookmarks (id INTEGER PRIMARY KEY AUTOINCREMENT,"
- "name VARCHAR, url VARCHAR, dateAdded DATE);");
-
- return bookmarkQuery;
-
+ return QStringLiteral("CREATE TABLE IF NOT EXISTS bookmarks (id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name VARCHAR, url VARCHAR, dateAdded DATE, thumbnail BLOB DEFAULT NULL);");
}
void BookmarkModel::setFilter(const QString& filter)
@@ -121,13 +118,17 @@ bool BookmarkModel::contains(const QString& url)
QVariant BookmarkModel::data(const QModelIndex& index, int role) const
{
- QVariant value;
if (role < Qt::UserRole)
- value = QSqlQueryModel::data(index, role);
- else {
- const int columnId = role - Qt::UserRole;
- const QModelIndex modelIndex = createIndex(index.row(), columnId);
- value = QSqlTableModel::data(modelIndex, Qt::DisplayRole);
+ return QSqlQueryModel::data(index, role);
+
+ const int columnId = role - Qt::UserRole;
+
+ // FIXME: placeholder waiting for the time we can get some webpage thumbnails.
+ if (columnId == fieldIndex("thumbnail")) {
+ static QString defaultThumbnail = QStringLiteral("qrc:///mobile/grid/thumb_mysites_placeholder");
+ return QVariant::fromValue(defaultThumbnail);
}
- return value;
+
+ const QModelIndex modelIndex = createIndex(index.row(), columnId);
+ return QSqlTableModel::data(modelIndex, Qt::DisplayRole);
}
diff --git a/src/core/TabsModel.cpp b/src/core/TabsModel.cpp
index ba73b8e..5c6c1a6 100644
--- a/src/core/TabsModel.cpp
+++ b/src/core/TabsModel.cpp
@@ -18,7 +18,7 @@
enum TabModelRole {
UrlRole = Qt::UserRole + 1,
- ScreenshotRole
+ ThumbnailRole
};
TabsModel::TabsModel(QObject* parent)
@@ -42,9 +42,9 @@ QVariant TabsModel::data(const QModelIndex& index, int role) const
if (data)
return data->property("url");
break;
- case ScreenshotRole:
- static QString defaultScreenShot = QLatin1String("qrc:///mobile/grid/thumb_tabs_placeholder");
- return QVariant::fromValue(defaultScreenShot);
+ case ThumbnailRole:
+ static QString defaultThumbnail = QStringLiteral("qrc:///mobile/grid/thumb_tabs_placeholder");
+ return QVariant::fromValue(defaultThumbnail);
}
return QVariant();
}
@@ -101,7 +101,7 @@ void TabsModel::generateRolenames()
{
QHash<int, QByteArray> roles;
roles[UrlRole] = QByteArray("url");
- roles[ScreenshotRole] = QByteArray("screenshot");
+ roles[ThumbnailRole] = QByteArray("thumbnail");
setRoleNames(roles);
}
diff --git a/src/mobile/qml/TabsPanel.qml b/src/mobile/qml/TabsPanel.qml
index 4881479..e52b8b2 100644
--- a/src/mobile/qml/TabsPanel.qml
+++ b/src/mobile/qml/TabsPanel.qml
@@ -38,7 +38,7 @@ Item {
Image {
property string url: model.url
property bool fadeUrl: false
- source: model.screenshot
+ source: model.thumbnail
height: UiConstants.PagedGridSizeTable[1]
fillMode: Image.Pad
verticalAlignment: Image.AlignBottom
diff --git a/src/mobile/qml/TopSitesPanel.qml b/src/mobile/qml/TopSitesPanel.qml
index 404916c..2d12928 100644
--- a/src/mobile/qml/TopSitesPanel.qml
+++ b/src/mobile/qml/TopSitesPanel.qml
@@ -40,7 +40,7 @@ Item {
Image {
property string url: model.url
property bool fadeUrl: false
- source: "qrc:///mobile/grid/thumb_mysites_placeholder"
+ source: model.thumbnail
height: UiConstants.PagedGridSizeTable[1]
fillMode: Image.Pad
verticalAlignment: Image.AlignBottom