aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fm/BrowserWidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm/BrowserWidget.h')
-rw-r--r--src-qt5/desktop-utils/lumina-fm/BrowserWidget.h101
1 files changed, 48 insertions, 53 deletions
diff --git a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.h b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.h
index a0dc535a..803a036d 100644
--- a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.h
+++ b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.h
@@ -8,21 +8,29 @@
#ifndef _LUMINA_FM_BROWSE_FRONTEND_H
#define _LUMINA_FM_BROWSE_FRONTEND_H
+#include <QString>
+#include <QWidget>
+#include <QThread>
+
#include "Browser.h"
#include "widgets/DDListWidgets.h"
class BrowserWidget : public QWidget{
Q_OBJECT
private:
- Browser *DIR:
- QString ID;
+ Browser *BROWSER;
+ //QThread *bThread; //browserThread
int numItems; //used for checking if all the items have loaded yet
- bool details; //show details or not
+ QString ID, statustip;
+ QStringList date_format, historyList;
+ bool freshload;
//The drag and drop brower widgets
DDListWidget *listWidget;
DDTreeWidget *treeWidget;
+ QString DTtoString(QDateTime dt); //QDateTime to string simplification routine
+
public:
BrowserWidget(QString objID, QWidget *parent = 0);
~BrowserWidget();
@@ -30,68 +38,55 @@ public:
QString id(){ return ID; }
void changeDirectory(QString dir);
+ QString currentDirectory(){ return BROWSER->currentDirectory(); }
void showDetails(bool show);
bool hasDetails();
+ void showHiddenFiles(bool show);
+ bool hasHiddenFiles();
+
+ void setThumbnailSize(int px);
+ int thumbnailSize();
+
+ void setHistory(QStringList);
+ QStringList history();
+
+ void setShowActive(bool show); //used for accenting if the widget is "active"
+
+ QString status(){ return statustip; }
+
+ //Date format for show items
+ void readDateFormat();
+
+ //Return all the items which are currently selected
+ QStringList currentSelection();
+ QStringList currentItems(int type = 0); //type: 0=all, -1=files, +1=dirs
+
public slots:
+ void retranslate();
private slots:
- //Brower connections
+ //Browser connections
void clearItems();
- void itemUpdated(QString);
+ void itemRemoved(QString);
void itemDataAvailable(QIcon, LFileInfo);
void itemsLoading(int total);
+ void selectionChanged();
+
+protected:
+ void resizeEvent(QResizeEvent *ev);
signals:
- //void activated(QString); //current dir path
- void dirChanged(QString); //current dir path
+ //External signals
+ void itemsActivated();
+ void updateDirectoryStatus(QString);
+ void contextMenuRequested();
+ void DataDropped(QString, QStringList);
+ void hasFocus(QString); //ID output
+
+ //Internal signal
+ void dirChange(QString); //current dir path
-};
-
-/*
- * Virtual class for managing the sort of folders/files items. The problem with base class is that it only manages texts fields and
- * we have dates and sizes.
- *
- * On this class, we overwrite the function operator<.
- */
-
-class CQTreeWidgetItem : public QTreeWidgetItem {
-public:
- CQTreeWidgetItem(int type = Type) : QTreeWidgetItem(type) {}
- CQTreeWidgetItem(const QStringList & strings, int type = Type) : QTreeWidgetItem(strings, type) {}
- CQTreeWidgetItem(QTreeWidget * parent, int type = Type) : QTreeWidgetItem(parent, type) {}
- CQTreeWidgetItem(QTreeWidget * parent, const QStringList & strings, int type = Type) : QTreeWidgetItem(parent, strings, type) {}
- CQTreeWidgetItem(QTreeWidget * parent, QTreeWidgetItem * preceding, int type = Type) : QTreeWidgetItem(parent, preceding, type) {}
- CQTreeWidgetItem(QTreeWidgetItem * parent, int type = Type) : QTreeWidgetItem(parent, type) {}
- CQTreeWidgetItem(QTreeWidgetItem * parent, const QStringList & strings, int type = Type) : QTreeWidgetItem(parent, strings, type) {}
- CQTreeWidgetItem(QTreeWidgetItem * parent, QTreeWidgetItem * preceding, int type = Type) : QTreeWidgetItem(parent, preceding, type) {}
- virtual ~CQTreeWidgetItem() {}
- inline virtual bool operator<(const QTreeWidgetItem &tmp) const {
- int column = this->treeWidget()->sortColumn();
- // We are in date text
- if(column == DirWidget::DATEMOD || column == DirWidget::DATECREATE)
- return this->whatsThis(column) < tmp.whatsThis(column);
- // We are in size text
- else if(column == DirWidget::SIZE) {
- QString text = this->text(column);
- QString text_tmp = tmp.text(column);
- double filesize, filesize_tmp;
- // On folders, text is empty so we check for that
- // In case we are in folders, we put -1 for differentiate of regular files with 0 bytes.
- // Doing so, all folders we'll be together instead of mixing with files with 0 bytes.
- if(text.isEmpty())
- filesize = -1;
- else
- filesize = LUtils::DisplaySizeToBytes(text);
- if(text_tmp.isEmpty())
- filesize_tmp = -1;
- else
- filesize_tmp = LUtils::DisplaySizeToBytes(text_tmp);
- return filesize < filesize_tmp;
- }
- // In other cases, we trust base class implementation
- return QTreeWidgetItem::operator<(tmp);
- }
};
#endif
bgstack15