aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp')
-rw-r--r--src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp
index fcbcdbed..51d633e4 100644
--- a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp
+++ b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp
@@ -33,6 +33,7 @@ BrowserWidget::BrowserWidget(QString objID, QWidget *parent) : QWidget(parent){
connect(this, SIGNAL(dirChange(QString, bool)), BROWSER, SLOT(loadDirectory(QString, bool)) );
listWidget = 0;
treeWidget = 0;
+ treeSortColumn = 0;
readDateFormat();
freshload = true; //nothing loaded yet
numItems = 0;
@@ -98,8 +99,10 @@ void BrowserWidget::showDetails(bool show){
connect(treeWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SIGNAL(contextMenuRequested()) );
connect(treeWidget, SIGNAL(DataDropped(QString, QStringList)), this, SIGNAL(DataDropped(QString, QStringList)) );
connect(treeWidget, SIGNAL(GotFocus()), this, SLOT(selectionChanged()) );
+ connect(treeWidget, SIGNAL(sortColumnChanged(int)), this, SIGNAL(treeWidgetSortColumn(int)) );
+ connect(treeWidget, SIGNAL(sortColumnChanged(int)), this, SIGNAL(setTreeWidgetSortColumn(int)) );
retranslate();
- treeWidget->sortItems(0, Qt::AscendingOrder);
+ treeWidget->sortItems(treeSortColumn, Qt::AscendingOrder);
treeWidget->setColumnWidth(0, treeWidget->fontMetrics().width("W")*20);
if(!BROWSER->currentDirectory().isEmpty()){ emit dirChange("", true); }
}else if(!show && listWidget==0){
@@ -191,6 +194,13 @@ void BrowserWidget::setShowActive(bool show){
this->setStyleSheet(base);
}
+void BrowserWidget::setTreeWidgetSortColumn(int col, bool now){
+ treeSortColumn = col;
+ if(now && treeWidget!=0){
+ treeWidget->sortItems(treeSortColumn, Qt::AscendingOrder);
+ }
+}
+
// This function is only called if user changes sessionsettings. By doing so, operations like sorting by date
// are faster because the date format is already stored in DirWidget::date_format static variable
void BrowserWidget::readDateFormat() {
bgstack15