diff options
author | Ken Moore <ken@ixsystems.com> | 2017-09-08 16:04:07 -0400 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-09-08 16:04:07 -0400 |
commit | 6507d181b3a6c59dd374aa6890a4a43b9e516d5b (patch) | |
tree | 4778fa553204f175a72f6fe05c7c6c0866a4800c /src-qt5/desktop-utils/lumina-fm | |
parent | Put a failsafe in for overwriting default apps: (diff) | |
parent | Set default tooltip to be translateable in case issues arise (diff) | |
download | lumina-6507d181b3a6c59dd374aa6890a4a43b9e516d5b.tar.gz lumina-6507d181b3a6c59dd374aa6890a4a43b9e516d5b.tar.bz2 lumina-6507d181b3a6c59dd374aa6890a4a43b9e516d5b.zip |
Merge branch 'master' of github.com:trueos/lumina
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm')
-rw-r--r-- | src-qt5/desktop-utils/lumina-fm/MainUI.cpp | 2 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp | 57 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.h | 18 |
3 files changed, 26 insertions, 51 deletions
diff --git a/src-qt5/desktop-utils/lumina-fm/MainUI.cpp b/src-qt5/desktop-utils/lumina-fm/MainUI.cpp index ec425dd9..abb99975 100644 --- a/src-qt5/desktop-utils/lumina-fm/MainUI.cpp +++ b/src-qt5/desktop-utils/lumina-fm/MainUI.cpp @@ -139,7 +139,7 @@ void MainUI::OpenDirs(QStringList dirs){ if(DWLIST[j]->id().section("-",1,1).toInt() >= id){ id = DWLIST[j]->id().section("-",1,1).toInt()+1; } } //Create the new DirWidget - DirWidget *DW = new DirWidget("DW-"+QString::number(id), this); + DirWidget *DW = new DirWidget("DW-"+QString::number(id), settings, this); DW->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); ui->BrowserLayout->addWidget(DW); DWLIST << DW; diff --git a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp index 3790d145..8273d09c 100644 --- a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp +++ b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp @@ -28,7 +28,7 @@ #define DEBUG 0 -DirWidget::DirWidget(QString objID, QWidget *parent) : QWidget(parent), ui(new Ui::DirWidget){ +DirWidget::DirWidget(QString objID, QSettings *settings, QWidget *parent) : QWidget(parent), ui(new Ui::DirWidget){ ui->setupUi(this); //load the designer file ID = objID; //Assemble the toolbar for the widget @@ -54,6 +54,7 @@ DirWidget::DirWidget(QString objID, QWidget *parent) : QWidget(parent), ui(new U toolbar->addAction(ui->actionDualColumn); columnActionGroup->addAction(ui->actionDualColumn); toolbar->addAction(ui->actionMenu); + this->settings = settings; //Add the browser widgets RCBW = 0; //right column browser is unavailable initially BW = new BrowserWidget("", this); @@ -241,6 +242,7 @@ void DirWidget::createShortcuts(){ kPaste= new QShortcut(QKeySequence(QKeySequence::Paste),this); kRename= new QShortcut(QKeySequence(Qt::Key_F2),this); kExtract= new QShortcut(QKeySequence(Qt::CTRL+Qt::Key_E), this); + //kArchive= new QShortcut(QKeySequence(Qt::CTRL+Qt::Key_R), this); kFav= new QShortcut(QKeySequence(Qt::Key_F3),this); kDel= new QShortcut(QKeySequence(QKeySequence::Delete),this); kOpSS= new QShortcut(QKeySequence(Qt::Key_F6),this); @@ -257,6 +259,7 @@ void DirWidget::createShortcuts(){ connect(kPaste, SIGNAL(activated()), this, SLOT(pasteFiles()) ); connect(kRename, SIGNAL(activated()), this, SLOT(renameFiles()) ); connect(kExtract, SIGNAL(activated()), this, SLOT(autoExtractFiles()) ); + //connect(kArchive, SIGNAL(activated()), this, SLOT(autoArchiveFiles()) ); connect(kFav, SIGNAL(activated()), this, SLOT(favoriteFiles()) ); connect(kDel, SIGNAL(activated()), this, SLOT(removeFiles()) ); connect(kOpSS, SIGNAL(activated()), this, SLOT(openInSlideshow()) ); @@ -338,8 +341,7 @@ void DirWidget::on_tool_zoom_in_clicked(){ size += 16; setThumbnailSize(size); //Now Save the size value as the default for next time - QSettings SET("lumina-desktop","lumina-fm"); - SET.setValue("iconsize", size); + settings->setValue("iconsize", size); } void DirWidget::on_tool_zoom_out_clicked(){ @@ -348,8 +350,7 @@ void DirWidget::on_tool_zoom_out_clicked(){ size -= 16; setThumbnailSize(size); //Now Save the size value as the default for next time - QSettings SET("lumina-desktop","lumina-fm"); - SET.setValue("iconsize", size); + settings->setValue("iconsize", size); } // -- Top Snapshot Buttons @@ -552,7 +553,9 @@ void DirWidget::UpdateContextMenu(){ contextMenu->addAction(LXDG::findIcon("edit-cut",""), tr("Cut Selection"), this, SLOT(cutFiles()), kCut->key() )->setEnabled(canmodify); contextMenu->addAction(LXDG::findIcon("edit-copy",""), tr("Copy Selection"), this, SLOT(copyFiles()), kCopy->key() )->setEnabled(canmodify); if(LUtils::isValidBinary("lumina-archiver") && sel.length() ==1){ contextMenu->addAction(LXDG::findIcon("archive",""), tr("Auto-Extract"), this, SLOT(autoExtractFiles()), kExtract->key() )->setEnabled(canmodify); } - } + //if(LUtils::isValidBinary("lumina-archiver") && sel.length() ==1){ contextMenu->addAction(LXDG::findIcon("archive",""), tr("Auto-Archive"), this, SLOT(autoArchiveFiles()), kArchive->key() )->setEnabled(canmodify); } + + } if( QApplication::clipboard()->mimeData()->hasFormat("x-special/lumina-copied-files") ){ contextMenu->addAction(LXDG::findIcon("edit-paste",""), tr("Paste"), this, SLOT(pasteFiles()), QKeySequence(Qt::CTRL+Qt::Key_V) )->setEnabled(canmodify); } @@ -735,36 +738,6 @@ void DirWidget::createNewXDGEntry(){ // - Selected FILE operations -//---------------------------------------------------// -/* -QStringList DirWidget::getPreferredApplications(){ - QStringList out; - //First list all the applications registered for that same mimetype - QString mime = fileEXT; - out << LXDG::findAvailableAppsForMime(mime); - - //Now search the internal settings for that extension and find any applications last used - QStringList keys = settings->allKeys(); - for(int i=0; i<keys.length(); i++){ - if(keys[i].startsWith("default/")){ continue; } //ignore the defaults (they will also be in the main) - if(keys[i].toLower() == fileEXT.toLower()){ - QStringList files = settings->value(keys[i]).toString().split(":::"); - qDebug() << "Found Files:" << keys[i] << files; - bool cleaned = false; - for(int j=0; j<files.length(); j++){ - if(QFile::exists(files[j])){ out << files[j]; } - else{ files.removeAt(j); j--; cleaned=true; } //file no longer available - remove it - } - if(cleaned){ settings->setValue(keys[i], files.join(":::")); } //update the registry - if(!out.isEmpty()){ break; } //already found files - } - } - //Make sure we don't have any duplicates before we return the list - out.removeDuplicates(); - return out; -} - */ - //---------------------------------------------------// void DirWidget::cutFiles(){ QStringList sel = currentBrowser()->currentSelection(); @@ -882,13 +855,15 @@ void DirWidget::autoExtractFiles(){ QStringList files = currentBrowser()->currentSelection(); qDebug() << "Starting auto-extract:" << files; ExternalProcess::launch("lumina-archiver", QStringList() << "--ax" << files); - /*ExternalProcess *pExtract= new ExternalProcess(this); - QString program = "lumina-archiver --ax "; +} + +/* + * void DirWidget::autoArchiveFiles(){ QStringList files = currentBrowser()->currentSelection(); - for(int i=0; i<files.length(); i++){ - QString runline = program + files[i]; - pExtract->start(runline);*/ + qDebug() << "Starting auto-archival:" << files; + ExternalProcess::launch("lumina-archiver", QStringList() << "--aa" << files); } +*/ //==================== // PROTECTED diff --git a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.h b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.h index e1dafaa8..8dd367df 100644 --- a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.h +++ b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.h @@ -32,7 +32,7 @@ class DirWidget : public QWidget{ Q_OBJECT public: enum DETAILTYPES{ NAME, SIZE, TYPE, DATEMOD, DATECREATE}; - DirWidget(QString objID, QWidget *parent = 0); //needs a unique ID (to distinguish from other DirWidgets) + DirWidget(QString objID, QSettings *settings, QWidget *parent = 0); //needs a unique ID (to distinguish from other DirWidgets) ~DirWidget(); void cleanup(); //called before the browser is closed down @@ -75,6 +75,7 @@ private: QString ID, cBID; //unique ID assigned by the parent, and currently active browser widget QString normalbasedir, snapbasedir, snaprelpath; //for maintaining directory context while moving between snapshots QStringList snapshots, needThumbs, tmpSel; + QSettings *settings; bool canmodify; //The Toolbar and associated items @@ -86,7 +87,7 @@ private: //The keyboard shortcuts for context menu items QShortcut *kZoomIn, *kZoomOut, *kNewFile, *kNewDir, *kNewXDG, *kCut, *kCopy, *kPaste, *kRename, \ - *kFav, *kDel, *kOpSS, *kOpMM, *kOpTerm, *kExtract; + *kFav, *kDel, *kOpSS, *kOpMM, *kOpTerm, *kExtract; //, *kArchive; //Functions for internal use void createShortcuts(); //on init only @@ -95,13 +96,11 @@ private: BrowserWidget* currentBrowser(); QStringList currentDirFiles(); //all the "files" available within the current dir/browser - //QProcess *pExtract; - - //OpenWithMenu - QString fileEXT, filePath; - QStringList mimetypes, keys, files; - //QStringList getPreferredApplications(); - + //QProcess *pExtract; + //OpenWithMenu + QString fileEXT, filePath; + QStringList mimetypes, keys, files; + //QStringList getPreferredApplications(); private slots: //UI BUTTONS/Actions @@ -158,6 +157,7 @@ private slots: void runWithFiles(); //void attachToNewEmail(); void autoExtractFiles(); + //void autoArchiveFiles(); // - Context-specific operations void openInSlideshow(); |