aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <ken@pcbsd.org>2015-04-14 11:34:37 -0400
committerKen Moore <ken@pcbsd.org>2015-04-14 11:34:37 -0400
commit877648a7f8bd32da6e17b47400972e4d834dddad (patch)
treeaa149ce54c2ad403ba15f0b5558f58d9803a9952
parentUpdate the lumina-fm.desktop file to use the "%F" field code instead of "%U" ... (diff)
downloadlumina-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.cpp15
-rw-r--r--lumina-open/LFileDialog.h2
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);
bgstack15