// add a border
painter.setPen(palette.color(QPalette::Text));
- painter.setBrush(Qt::NoBrush);
painter.drawRect(0, 0, width, height);
painter.drawRect(1, 1, width - 2, height - 2);
-
- // dim image frame by 12.5 %
- painter.setPen(QColor(0, 0, 0, 32));
- painter.drawRect(frame, frame, width - doubleFrame, height - doubleFrame);
+
+ painter.setCompositionMode(QPainter::CompositionMode_Plus);
+ QColor blendColor = palette.color(QPalette::Normal, QPalette::Base);
+
+ blendColor.setAlpha(255 - 32);
+ painter.setPen(blendColor);
+ painter.drawRect(0, 0, width, height);
+
+ blendColor.setAlpha(255 - 64);
+ painter.setPen(blendColor);
+ painter.drawRect(1, 1, width - 2, height - 2);
painter.end();
icon = framedIcon;
- // provide an alpha channel for the border
- QPixmap alphaChannel(icon.size());
- alphaChannel.fill();
-
- QPainter alphaPainter(&alphaChannel);
- alphaPainter.setBrush(Qt::NoBrush);
- alphaPainter.setPen(QColor(32, 32, 32));
- alphaPainter.drawRect(0, 0, width, height);
- alphaPainter.setPen(QColor(64, 64, 64));
- alphaPainter.drawRect(1, 1, width - 2, height - 2);
-
- icon.setAlphaChannel(alphaChannel);
return true;
}
// check whether the item is part of the item list 'items'
int index = -1;
for (int i = 0; i < itemCount; ++i) {
- if (items[i].url() == url) {
+ if (items.at(i).url() == url) {
index = i;
break;
}
// Algorithm 2: The number of items is <= 10 % of the row count. In this case iterate
// all items and receive the corresponding row from the item.
for (int i = 0; i < itemCount; ++i) {
- const QModelIndex dirIndex = m_dirModel->indexForItem(items[i]); // O(n) (n = number of rows)
+ const QModelIndex dirIndex = m_dirModel->indexForItem(items.at(i)); // O(n) (n = number of rows)
const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
const QRect itemRect = m_view->visualRect(proxyIndex);
// The current item is (at least partly) visible. Move it
// to the front of the list, so that the preview is
// generated earlier.
- items.insert(insertPos, items[i]);
+ items.insert(insertPos, items.at(i));
items.removeAt(i + 1);
++insertPos;
++m_pendingVisiblePreviews;