Ignore:
Timestamp:
02/12/14 02:28:55 (10 months ago)
Author:
yurkis <yurkis@…>
Branches:
master, releng/10.0.1, releng/10.0.2, releng/10.0.3, releng/10.1
Children:
1c61936
Parents:
dec6f67
Message:

Reworked pc controlpanel for using libpcbsd-utils for DE detection

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-controlpanel/deinfo.cpp

    r11d9290 rffbf59c  
    2424 
    2525#include "deinfo.h" 
    26 #include <QProcess> 
    27 #include <QStringList> 
    28  
    29 static const char* const DE_NAME = "DE name:"; 
    30 static const char* const DE_ACTIVE = "Current DE:"; 
    31 static const char* const DE_XDG = "XDG compatible:"; 
    32 static const char* const DE_INSTALLED = "Installed:"; 
    33 static const char* const DE_SUDO = "Sudo command:"; 
    3426 
    3527/////////////////////////////////////////////////////////////////////////////// 
     
    4436                                          continue;}\ 
    4537 
    46 int CDEList::refresh(bool isAll) 
     38/////////////////////////////////////////////////////////////////////////////// 
     39int CDEList::refresh(/*bool isAll*/) 
    4740{ 
    4841    mvDE.clear(); 
    4942 
    50     QStringList flags; 
    51     if (isAll) 
    52         flags<<"-a"; 
    53     else 
    54         flags<<"-i"; 
    55  
    56     QProcess* deinfo = new QProcess(); 
    57     deinfo->setProcessChannelMode(QProcess::MergedChannels); 
    58     deinfo->start(QString("/usr/local/bin/de-info"), flags); 
    59     deinfo->waitForFinished(-1); 
    60     CDEInfo Entry; 
    61     QString Str; 
    62  
    63     while ( deinfo->canReadLine() ) 
    64     { 
    65         Str = deinfo->readLine().simplified(); 
    66         //qDebug() << "de-info line:" << Str; 
    67         if (Str.contains(DE_NAME)) 
    68         { 
    69             if (Entry.mName.length()) 
    70             { 
    71                 mvDE.push_back(Entry); 
    72                 Entry = CDEInfo(); 
    73             } 
    74             Entry.mName = Str.replace(DE_NAME,"").trimmed(); 
    75             continue; 
    76         }//if found 'DE name' 
    77  
    78         TRY_GET_VALUE_BOOL(DE_ACTIVE, misActive, "yes"); 
    79         TRY_GET_VALUE_BOOL(DE_INSTALLED, misInstalled, "yes"); 
    80         TRY_GET_VALUE_STR(DE_SUDO, mSudoCommand); 
    81     }//while process output reading 
    82  
    83     if (Entry.mName.length()) 
    84         mvDE.push_back(Entry); 
     43    mvDE = pcbsd::Utils::installedDesktops(); 
    8544 
    8645    return mvDE.size(); 
     
    8847 
    8948/////////////////////////////////////////////////////////////////////////////// 
    90 CDEInfo* CDEList::active() 
     49pcbsd::DesktopEnvironmentInfo* CDEList::active() 
    9150{ 
    9251    for(int i =0; i<mvDE.size(); i++) 
    9352    { 
    94         if (mvDE[i].misActive) 
     53        if (mvDE[i].isActive) 
    9554            return &mvDE[i]; 
    9655    } 
     
    9958 
    10059/////////////////////////////////////////////////////////////////////////////// 
    101 CDEInfo* CDEList::byName(QString Name) 
     60pcbsd::DesktopEnvironmentInfo* CDEList::byName(QString Name) 
    10261{ 
    10362    for (int i =0; i<mvDE.size(); i++) 
    10463    { 
    105         if (!mvDE[i].mName.compare(Name.trimmed(), Qt::CaseInsensitive)) 
     64        if (!mvDE[i].Name.compare(Name.trimmed(), Qt::CaseInsensitive)) 
    10665            return &mvDE[i]; 
    10766    } 
Note: See TracChangeset for help on using the changeset viewer.