Changeset ffbf59c


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

Reworked pc controlpanel for using libpcbsd-utils for DE detection

Location:
src-qt4/pc-controlpanel
Files:
7 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    } 
  • src-qt4/pc-controlpanel/deinfo.h

    r11d9290 rffbf59c  
    2929#include <QVector> 
    3030#include <QDebug> 
    31  
    32 //! Class that holds info about DE 
    33 struct CDEInfo 
    34 { 
    35 public: 
    36     QString mName;          ///< De name 'Gnome', 'KDE', etc 
    37     QString mSudoCommand;   ///< native sudo command 'gtksu %s' for example 
    38     bool    misInstalled;   ///< True if DE installed 
    39     bool    misActive;      ///< True if DE is active now 
    40     bool    misXDG;         ///< True if DE is XDG compatible 
    41  
    42     CDEInfo(){ 
    43         misInstalled=false; 
    44         misActive=false; 
    45         misXDG=false; 
    46     } 
    47 }; 
     31#include "pcbsd-utils.h" 
    4832 
    4933//! Class that holds list of desktop environments 
     
    5741                     it fills by installed DEs 
    5842    */ 
    59     int refresh(bool isAll=false); 
     43    int refresh(/*bool isAll=false*/); 
    6044 
    6145    /** 
     
    6751        } 
    6852 
    69     CDEInfo& operator[](int idx) 
     53    pcbsd::DesktopEnvironmentInfo& operator[](int idx) 
    7054        { 
    7155            return mvDE[idx]; 
     
    7761      @return Pointer to description of active DE or NULL if active DE unknown 
    7862    */ 
    79     CDEInfo* active(); 
     63    pcbsd::DesktopEnvironmentInfo* active(); 
    8064 
    8165    /** 
     
    8670      @return Pointer to DE description. NULL if not found 
    8771    */ 
    88     CDEInfo* byName(QString Name); 
     72    pcbsd::DesktopEnvironmentInfo* byName(QString Name); 
    8973 
    9074protected: 
    91     QVector <CDEInfo> mvDE; 
     75    QVector <pcbsd::DesktopEnvironmentInfo> mvDE; 
    9276}; 
    9377 
  • src-qt4/pc-controlpanel/item.cpp

    r5e46078 rffbf59c  
    6969    misUseXDG = false; 
    7070    if (InstalledDEList.active()) 
    71         misUseXDG = InstalledDEList.active()->misXDG; 
     71        misUseXDG = InstalledDEList.active()->isXDG; 
    7272 
    7373    misXDGLaunch = false; 
  • src-qt4/pc-controlpanel/mainwnd.cpp

    re845994 rffbf59c  
    6363    { 
    6464        mCurrentDE = *InstalledDEList.active(); 
    65         mvEnabledDE.push_back(mCurrentDE.mName); 
    66         qDebug() << "Current DE: " << mCurrentDE.mName; 
     65        mvEnabledDE.push_back(mCurrentDE.Name); 
    6766    }     
    6867 
     
    238237{ 
    239238        fillGroups(); 
     239    //InstalledDEList.active()-> 
    240240        on_lineEdit_textChanged(ui->lineEdit->text()); 
    241241} 
     
    263263    {\ 
    264264        ui->action_name->setVisible(true);\ 
    265         if (InstalledDEList.byName(DEName)->misActive){\ 
     265        if (InstalledDEList.byName(DEName)->isActive){\ 
    266266            ui->action_name->setText(QString(DEName) + Current);\ 
    267267            ui->DEChooserButton->setIcon(ui->action_name->icon());}\ 
     
    270270        }else{ui->action_name->setVisible(false);} 
    271271 
    272 SETUP_ACTION( actionKDE, "KDE" ); 
    273 SETUP_ACTION( actionGnome, "Gnome" ); 
    274 SETUP_ACTION( actionXFCE, "XFCE" ); 
    275 SETUP_ACTION( actionLXDE, "LXDE" ); 
    276 SETUP_ACTION( actionEnlightenment, "Enlightenment" ); 
    277 SETUP_ACTION( actionMate, "Mate" ); 
    278 SETUP_ACTION( actionCinnamon, "Cinnamon" ); 
     272    SETUP_ACTION( actionKDE, "KDE" ); 
     273    SETUP_ACTION( actionGnome, "Gnome" ); 
     274    SETUP_ACTION( actionXFCE, "XFCE" ); 
     275    SETUP_ACTION( actionLXDE, "LXDE" ); 
     276    SETUP_ACTION( actionEnlightenment, "Enlightenment" ); 
     277    SETUP_ACTION( actionMate, "Mate" ); 
     278    SETUP_ACTION( actionCinnamon, "Cinnamon" ); 
    279279 
    280280#undef SETUP_ACTION 
     
    303303    for (int i=0; i<InstalledDEList.size(); i++) 
    304304    { 
    305         mvEnabledDE.push_back(InstalledDEList[i].mName); 
     305        mvEnabledDE.push_back(InstalledDEList[i].Name); 
    306306    } 
    307307 
     
    318318{ 
    319319    ui->DEChooserButton->setIcon(ui->actionKDE->icon()); 
    320     if (mCurrentDE.mName.trimmed().compare("KDE", Qt::CaseInsensitive)) 
     320    if (mCurrentDE.Name.trimmed().compare("KDE", Qt::CaseInsensitive)) 
    321321        ui->DEGBox->setTitle(DETEXT + " " + tr ("(KDE)")); 
    322322    else 
     
    336336{ 
    337337    ui->DEChooserButton->setIcon(ui->actionLXDE->icon()); 
    338     if (mCurrentDE.mName.trimmed().compare("LXDE", Qt::CaseInsensitive)) 
     338    if (mCurrentDE.Name.trimmed().compare("LXDE", Qt::CaseInsensitive)) 
    339339        ui->DEGBox->setTitle(DETEXT + " " + tr ("(LXDE)")); 
    340340    else 
     
    354354{ 
    355355    ui->DEChooserButton->setIcon(ui->actionGnome->icon()); 
    356     if (mCurrentDE.mName.trimmed().compare("gnome", Qt::CaseInsensitive)) 
     356    if (mCurrentDE.Name.trimmed().compare("gnome", Qt::CaseInsensitive)) 
    357357        ui->DEGBox->setTitle(DETEXT + " " + tr ("(Gnome)")); 
    358358    else 
     
    372372{ 
    373373    ui->DEChooserButton->setIcon(ui->actionEnlightenment->icon()); 
    374     if (mCurrentDE.mName.trimmed().compare("Enlightenment", Qt::CaseInsensitive)) 
     374    if (mCurrentDE.Name.trimmed().compare("Enlightenment", Qt::CaseInsensitive)) 
    375375        ui->DEGBox->setTitle(DETEXT + " " + tr ("(Enlightenment)")); 
    376376    else 
     
    391391{ 
    392392    ui->DEChooserButton->setIcon(ui->actionMate->icon()); 
    393     if (mCurrentDE.mName.trimmed().compare("Mate", Qt::CaseInsensitive)) 
     393    if (mCurrentDE.Name.trimmed().compare("Mate", Qt::CaseInsensitive)) 
    394394        ui->DEGBox->setTitle(DETEXT + " " + tr ("(Mate)")); 
    395395    else 
     
    409409{ 
    410410    ui->DEChooserButton->setIcon(ui->actionCinnamon->icon()); 
    411     if (mCurrentDE.mName.trimmed().compare("Cinnamon", Qt::CaseInsensitive)) 
     411    if (mCurrentDE.Name.trimmed().compare("Cinnamon", Qt::CaseInsensitive)) 
    412412        ui->DEGBox->setTitle(DETEXT + " " + tr ("(Cinnamon)")); 
    413413    else 
     
    427427{ 
    428428    ui->DEChooserButton->setIcon(ui->actionXFCE->icon()); 
    429     if (mCurrentDE.mName.trimmed().compare("XFCE", Qt::CaseInsensitive)) 
     429    if (mCurrentDE.Name.trimmed().compare("XFCE", Qt::CaseInsensitive)) 
    430430        ui->DEGBox->setTitle(DETEXT + " " + tr ("(XFCE)")); 
    431431    else 
  • src-qt4/pc-controlpanel/mainwnd.h

    r9ad5c1d rffbf59c  
    7373 
    7474        QVector<QString> mvEnabledDE; 
    75         CDEInfo          mCurrentDE; 
     75        pcbsd::DesktopEnvironmentInfo   mCurrentDE; 
    7676        bool             misDisplayDEName; 
    7777 
  • src-qt4/pc-controlpanel/mainwnd.ui

    rd2b761b rffbf59c  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>601</width> 
    10     <height>434</height> 
     9    <width>599</width> 
     10    <height>432</height> 
    1111   </rect> 
    1212  </property> 
     
    6868        <property name="arrowType"> 
    6969         <enum>Qt::NoArrow</enum> 
     70        </property> 
     71       </widget> 
     72      </item> 
     73      <item> 
     74       <widget class="QToolButton" name="deLaunchConfigApp"> 
     75        <property name="text"> 
     76         <string/> 
    7077        </property> 
    7178       </widget> 
     
    109116         <x>0</x> 
    110117         <y>0</y> 
    111          <width>585</width> 
     118         <width>583</width> 
    112119         <height>336</height> 
    113120        </rect> 
     
    266273     <x>0</x> 
    267274     <y>0</y> 
    268      <width>601</width> 
    269      <height>22</height> 
     275     <width>599</width> 
     276     <height>21</height> 
    270277    </rect> 
    271278   </property> 
  • src-qt4/pc-controlpanel/pc-controlpanel.pro

    r1b89eeb rffbf59c  
    66 
    77QT       += core gui 
    8 LIBS     += -lQtSolutions_SingleApplication-head 
     8LIBS     += -L../libpcbsd -L/usr/local/lib -lpcbsd-ui -lpcbsd-utils -lQtSolutions_SingleApplication-head 
     9INCLUDEPATH     += ../libpcbsd/utils ../libpcbsd/ui /usr/local/include 
    910 
    1011TARGET = pc-controlpanel 
Note: See TracChangeset for help on using the changeset viewer.