aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop
diff options
context:
space:
mode:
authorKen Moore <ken@pcbsd.org>2015-03-27 16:48:31 -0400
committerKen Moore <ken@pcbsd.org>2015-03-27 16:48:31 -0400
commitdf64525b92c1220c0b3950e57d73d6dc729d3388 (patch)
treea4b0b97e94f43304c8ad1122b5204a2d43d73e43 /lumina-desktop
parentUpdate the system tray to use the QScreen->grabWindow() routine instead of th... (diff)
downloadlumina-df64525b92c1220c0b3950e57d73d6dc729d3388.tar.gz
lumina-df64525b92c1220c0b3950e57d73d6dc729d3388.tar.bz2
lumina-df64525b92c1220c0b3950e57d73d6dc729d3388.zip
Add thumbnail support for image files in the desktopview plugin.
Also update the port makefile for FreeBSD so that has the proper gstreamer plugins installed for audio support.
Diffstat (limited to 'lumina-desktop')
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp8
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h14
2 files changed, 9 insertions, 13 deletions
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
index 0aa4a3de..273f1958 100644
--- a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
@@ -4,6 +4,7 @@
#include <QDir>
#include <QClipboard>
#include <QMimeData>
+#include <QImageReader>
#include <LuminaXDG.h>
#include "LSession.h"
@@ -126,6 +127,10 @@ void DesktopViewPlugin::decreaseIconSize(){
void DesktopViewPlugin::updateContents(){
list->clear();
+ if(imgExtensions.isEmpty()){
+ QList<QByteArray> fmt = QImageReader::supportedImageFormats();
+ for(int i=0; i<fmt.length(); i++){ imgExtensions << QString::fromLocal8Bit(fmt[i]); }
+ }
int icosize = settings->value("IconSize",64).toInt();
list->setGridSize(QSize(icosize+8,icosize+4+this->fontMetrics().height()));
QDir dir(QDir::homePath()+"/Desktop");
@@ -151,6 +156,9 @@ void DesktopViewPlugin::updateContents(){
it->setIcon( LXDG::findMimeIcon(files[i].fileName()) );
it->setText( files[i].fileName() );
}
+ }else if(imgExtensions.contains(files[i].suffix().toLower()) ){
+ it->setIcon( QIcon( QPixmap(files[i].absoluteFilePath()).scaled(icosize,icosize,Qt::IgnoreAspectRatio, Qt::SmoothTransformation) ) );
+ it->setText( files[i].fileName() );
}else{
it->setIcon( LXDG::findMimeIcon( files[i].fileName() ) );
it->setText( files[i].fileName() );
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
index 61e1caf9..09cb7bcf 100644
--- a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
@@ -27,6 +27,7 @@ private:
QListWidget *list;
QFileSystemWatcher *watcher;
QMenu *menu;
+ QStringList imgExtensions;
private slots:
void runItems();
@@ -46,19 +47,6 @@ public slots:
void ThemeChange(){
QTimer::singleShot(0,this, SLOT(updateContents()));
}
-
-/*protected:
- void mousePressEvent(QMouseEvent *ev){
- if(ev->button()==Qt::RightButton){
- qDebug() << " - got mouse event";
- //Only show the context menu if an item is under the mouse (don't block the desktop menu)
- if(list->itemAt( ev->globalPos()) !=0){
- ev->accept();
- showMenu(ev->globalPos());
- }
- }
- }
- */
};
#endif
bgstack15