aboutsummaryrefslogtreecommitdiff
path: root/libLumina
diff options
context:
space:
mode:
Diffstat (limited to 'libLumina')
-rw-r--r--libLumina/LuminaOS-Linux.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/libLumina/LuminaOS-Linux.cpp b/libLumina/LuminaOS-Linux.cpp
index af8c740f..bdd16fac 100644
--- a/libLumina/LuminaOS-Linux.cpp
+++ b/libLumina/LuminaOS-Linux.cpp
@@ -26,9 +26,25 @@ QString LOS::QtConfigShortcut(){ return "/usr/bin/qtconfig-qt4"; } //qtconfig bi
QStringList LOS::ExternalDevicePaths(){
//Returns: QStringList[<type>::::<filesystem>::::<path>]
//Note: <type> = [USB, HDRIVE, DVD, SDCARD, UNKNOWN]
-
- //Not implemented yet for Linux
- return QStringList();
+ QStringList devs = LUtils::getCmdOutput("mount");
+ //Now check the output
+ for(int i=0; i<devs.length(); i++){
+ if(devs[i].startsWith("/dev/")){
+ QString type = devs[i].section(" on ",0,0);
+ type.remove("/dev/");
+ //Determine the type of hardware device based on the dev node
+ if(type.startsWith("sd")){ type = "HDRIVE"; }
+ else if(type.startsWith("sr")){ type="DVD"; }
+ else{ type = "UNKNOWN"; }
+ //Now put the device in the proper output format
+ devs[i] = type+"::::"+devs[i].section("(",1,1).section(",",0,0)+"::::"+devs[i].section(" on ",1,50).section("(",0,0).simplified();
+ }else{
+ //invalid device - remove it from the list
+ devs.removeAt(i);
+ i--;
+ }
+ }
+ return devs;
}
//Read screen brightness information
bgstack15