diff options
author | Ken Moore <ken@pcbsd.org> | 2015-04-14 11:34:37 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2015-04-14 11:34:37 -0400 |
commit | 877648a7f8bd32da6e17b47400972e4d834dddad (patch) | |
tree | aa149ce54c2ad403ba15f0b5558f58d9803a9952 | |
parent | Update the lumina-fm.desktop file to use the "%F" field code instead of "%U" ... (diff) | |
download | lumina-877648a7f8bd32da6e17b47400972e4d834dddad.tar.gz lumina-877648a7f8bd32da6e17b47400972e4d834dddad.tar.bz2 lumina-877648a7f8bd32da6e17b47400972e4d834dddad.zip |
Add the ability for lumina-open to be able to offer recommendations on web browsers and email applications if no default is set. It does this by scanning all the applications within the "network" and "utility" categories, and adds it to the recommendations if the app takes URL's as inputs.
-rw-r--r-- | lumina-open/LFileDialog.cpp | 15 | ||||
-rw-r--r-- | lumina-open/LFileDialog.h | 2 |
2 files changed, 12 insertions, 5 deletions
diff --git a/lumina-open/LFileDialog.cpp b/lumina-open/LFileDialog.cpp index 361cd99f..4010dc74 100644 --- a/lumina-open/LFileDialog.cpp +++ b/lumina-open/LFileDialog.cpp @@ -34,12 +34,13 @@ LFileDialog::~LFileDialog(){ void LFileDialog::setFileInfo(QString filename, QString extension, bool isFile){ //Set the labels for the file ui->label_file->setText( this->fontMetrics().elidedText( filename, Qt::ElideMiddle, 300 ) ); + bool shownetwork = false; if(isFile){ ui->label_extension->setText( "("+extension+")"); } - else if(extension=="email"){ ui->label_extension->setText( QString(tr("(Email Link)")) ); } - else if(extension=="webbrowser"){ ui->label_extension->setText( QString(tr("(Internet URL)")) ); } + else if(extension=="email"){ ui->label_extension->setText( QString(tr("(Email Link)")) ); shownetwork = true; } + else if(extension=="webbrowser"){ ui->label_extension->setText( QString(tr("(Internet URL)")) ); shownetwork = true; } else{ui->label_extension->setText("("+extension+" link)"); } fileEXT = extension; //NOTE: this is the mime-type for the file now, not the extension - generateAppList(); + generateAppList(shownetwork); } //static functions @@ -160,7 +161,7 @@ void LFileDialog::updateUI(){ ui->tool_ok->setEnabled(good); } -void LFileDialog::generateAppList(){ +void LFileDialog::generateAppList(bool shownetwork){ //Now load the preferred applications PREFAPPS = getPreferredApplications(); ui->combo_rec->clear(); @@ -175,6 +176,12 @@ void LFileDialog::generateAppList(){ QList<XDGDesktop> app = hash[cat[c]]; QTreeWidgetItem *ci = new QTreeWidgetItem(ui->tree_apps, QStringList() << translateCat(cat[c])); for(int a=0; a<app.length(); a++){ + if(shownetwork && (cat[c].toLower()=="network" || cat[c].toLower()=="utility") ){ + //Need to show preferred internet applications - look for ones that handle URL's + if(app[a].exec.contains("%u") || app[a].exec.contains("%U")){ + PREFAPPS << app[a].filePath; + } + } QTreeWidgetItem *ti = new QTreeWidgetItem(ci, QStringList() << app[a].name); ti->setWhatsThis(0, app[a].filePath); ti->setIcon(0, LXDG::findIcon(app[a].icon, "application-x-desktop")); diff --git a/lumina-open/LFileDialog.h b/lumina-open/LFileDialog.h index eaed3625..96016cf2 100644 --- a/lumina-open/LFileDialog.h +++ b/lumina-open/LFileDialog.h @@ -61,7 +61,7 @@ private: private slots: void updateUI(); - void generateAppList(); + void generateAppList(bool shownetwork = false); //Internal UI slots void radioChanged(); //void on_group_binary_toggled(bool checked); |