Changeset 1c61936


Ignore:
Timestamp:
02/12/14 03:12:36 (10 months ago)
Author:
yurkis <yurkis@…>
Branches:
master, releng/10.0.1, releng/10.0.2, releng/10.0.3, releng/10.1
Children:
7588e04
Parents:
ffbf59c
Message:

Control panel - separate button for launch DE related config application

Location:
src-qt4/pc-controlpanel
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-controlpanel/controlpanel.qrc

    rd2b761b r1c61936  
    11<RCC> 
    2   <qresource prefix="/images"> 
    3     <file>images/cinnamon.png</file> 
    4     <file>images/mate.png</file> 
    5     <file>icon.png</file> 
    6     <file>images/refresh.png</file> 
    7     <file>images/e16.png</file> 
    8     <file>images/gnome.png</file> 
    9     <file>images/kde.png</file> 
    10     <file>images/lxde.png</file> 
    11     <file>images/xfce.png</file> 
    12     <file>images/all_desktops.png</file> 
    13     <file>images/unsupported_de.png</file> 
    14     <file>images/security-medium.png</file> 
    15     <file>images/object-locked.png</file> 
    16   </qresource> 
     2    <qresource prefix="/images"> 
     3        <file>images/cinnamon.png</file> 
     4        <file>images/mate.png</file> 
     5        <file>icon.png</file> 
     6        <file>images/refresh.png</file> 
     7        <file>images/e16.png</file> 
     8        <file>images/gnome.png</file> 
     9        <file>images/kde.png</file> 
     10        <file>images/lxde.png</file> 
     11        <file>images/xfce.png</file> 
     12        <file>images/all_desktops.png</file> 
     13        <file>images/unsupported_de.png</file> 
     14        <file>images/security-medium.png</file> 
     15        <file>images/object-locked.png</file> 
     16        <file>images/config.png</file> 
     17    </qresource> 
    1718</RCC> 
  • src-qt4/pc-controlpanel/deinfo.cpp

    rffbf59c r1c61936  
    11/************************************************************************** 
    2 *   Copyright (C) 2011 by Yuri Momotyuk                                   * 
    3 *   yurkis@gmail.com                                                      * 
     2*   Copyright (C) 2011-2014 by Yuri Momotyuk                              * 
     3*   yurkis@pcbsd.org                                                      * 
    44*                                                                         * 
    55*   Permission is hereby granted, free of charge, to any person obtaining * 
     
    2424 
    2525#include "deinfo.h" 
    26  
    27 /////////////////////////////////////////////////////////////////////////////// 
    28 #define TRY_GET_VALUE_STR(val_name, field)\ 
    29 if (Str.contains(val_name)){\ 
    30                             Entry.field = Str.replace(val_name,"").trimmed();\ 
    31                                           continue;}\ 
    32  
    33 #define TRY_GET_VALUE_BOOL(val_name, field, true_val)\ 
    34 if (Str.contains(val_name)){\ 
    35                             Entry.field = Str.replace(val_name,"").trimmed().toLower() == QString(true_val).toLower();\ 
    36                                           continue;}\ 
    3726 
    3827/////////////////////////////////////////////////////////////////////////////// 
  • src-qt4/pc-controlpanel/deinfo.h

    rffbf59c r1c61936  
    11/************************************************************************** 
    2 *   Copyright (C) 2011 by Yuri Momotyuk                                   * 
    3 *   yurkis@gmail.com                                                      * 
     2*   Copyright (C) 2011-2014 by Yuri Momotyuk                              * 
     3*   yurkis@pcbsd.org                                                      * 
    44*                                                                         * 
    55*   Permission is hereby granted, free of charge, to any person obtaining * 
  • src-qt4/pc-controlpanel/mainwnd.cpp

    rffbf59c r1c61936  
    2525#include <QDebug> 
    2626#include <QToolTip> 
     27#include <QPainter> 
     28 
    2729#include "mainwnd.h" 
    2830#include "ui_mainwnd.h" 
     
    4547#define PBI_INSTALLED_DIRECTORY "/var/db/pbi/installed" 
    4648 
     49#define DE_CONFIG_APP_MARK ":/images/images/config.png" 
     50 
    4751static QString DETEXT; 
    4852 
     
    7175    setupDEChooser(); 
    7276    fillGroups(); 
     77 
     78    refreshDEConfigureApp(); 
    7379 
    7480    QPalette tP; 
     
    100106void MainWnd::setupGroups() 
    101107{ 
    102  
    103     //qDebug() << "Running setup groups"; 
    104108    setupGroup(&SoftwareList, ui->SoftwareGBox); 
    105109    setupGroup(&SystemList, ui->SystemGBox); 
     
    117121        layout->addWidget(*List); 
    118122        Parrent->setLayout(layout);  
    119         //qDebug() << "SetupGroup"; 
    120123    QObject::connect(*List, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(on_itemActivated(QListWidgetItem*))); 
    121124} 
     
    124127void MainWnd::fillGroups() 
    125128{ 
    126         //qDebug() << "Running fillGroups"; 
    127129    mRefreshMutex.lock(); 
    128130 
     
    178180          DEList->update(); 
    179181          NetworkingList->update(); 
    180           //qDebug() << NetworkingList->sizeHintForRow(0); 
    181           //qDebug() << NetworkingList->sizeHintForColumn(0); 
    182182    } 
    183183 
     
    280280#undef SETUP_ACTION 
    281281 
    282         if (!InstalledDEList.active()) 
     282    if (!InstalledDEList.active()) 
    283283        { 
    284                 qDebug() << "Unsupported DE"; 
    285284                ui->actionUnsupported->setText(Unsupported + Current); 
    286285                ui->DEChooserButton->setIcon(ui->actionUnsupported->icon()); 
    287286                ui->actionUnsupported->setVisible(true); 
    288         }else{ 
    289                 qDebug() << "Supported DE"; 
    290                 ui->actionUnsupported->setVisible(false); 
     287    }else{ 
     288        ui->actionUnsupported->setVisible(false); 
    291289        } 
    292290 
    293         ui->DEChooserButton->setVisible(InstalledDEList.size()>1); 
     291    ui->DEChooserButton->setVisible(InstalledDEList.size()>1); 
    294292 
    295293} 
     
    328326    misDisplayDEName = false; 
    329327 
     328 
    330329    //refresh 
    331330    on_toolButton_2_clicked(); 
     
    447446        misDisplayDEName = false; 
    448447        //refresh 
    449         on_toolButton_2_clicked(); 
     448        on_toolButton_2_clicked();     
    450449} 
    451450 
     
    499498   return false; 
    500499} 
     500 
     501/////////////////////////////////////////////////////////////////////////////// 
     502void MainWnd::refreshDEConfigureApp() 
     503{ 
     504    //ui->deLaunchConfigApp->setIcon( ui->DEChooserButton->icon() ); 
     505    if (mvEnabledDE.size() != 1) 
     506    { 
     507        ui->deLaunchConfigApp->setVisible(false); 
     508        return; 
     509    } 
     510 
     511    pcbsd::DesktopEnvironmentInfo* de = InstalledDEList.byName(mvEnabledDE[0]); 
     512    if (!de) 
     513    { 
     514        ui->deLaunchConfigApp->setVisible(false); 
     515        return; 
     516    } 
     517 
     518 
     519 
     520    if (!de->ConfigurationApplication.length()) 
     521    { 
     522        ui->deLaunchConfigApp->setVisible(false); 
     523        return; 
     524    } 
     525 
     526    //make icon 
     527    QPixmap orig(ui->deLaunchConfigApp->iconSize()); 
     528 
     529    int sx = ui->deLaunchConfigApp->iconSize().width(); 
     530    int sy = ui->deLaunchConfigApp->iconSize().height(); 
     531 
     532    QPixmap pix; 
     533    orig.fill(Qt::transparent); 
     534    QPainter painter(&orig); 
     535    painter.drawPixmap(0, 0, sx, sy, ui->DEChooserButton->icon().pixmap(sx, sy)); 
     536    pix.load(DE_CONFIG_APP_MARK); 
     537    painter.drawPixmap(orig.width() - pix.width(), orig.height() - pix.height() , pix); 
     538    ui->deLaunchConfigApp->setIcon(QIcon(orig)); 
     539 
     540    ui->deLaunchConfigApp->setVisible(true); 
     541} 
     542 
     543/////////////////////////////////////////////////////////////////////////////// 
     544void MainWnd::on_DEChooserButton_triggered(QAction *arg1) 
     545{ 
     546    Q_UNUSED(arg1); 
     547    refreshDEConfigureApp(); 
     548} 
     549 
     550/////////////////////////////////////////////////////////////////////////////// 
     551void MainWnd::on_deLaunchConfigApp_clicked() 
     552{ 
     553    if (mvEnabledDE.size() != 1) 
     554    { 
     555        ui->deLaunchConfigApp->setVisible(false); 
     556        return; 
     557    } 
     558 
     559    pcbsd::DesktopEnvironmentInfo* de = InstalledDEList.byName(mvEnabledDE[0]); 
     560    if (!de) 
     561    { 
     562        return; 
     563    } 
     564 
     565    if (!de->ConfigurationApplication.length()) 
     566    { 
     567        return; 
     568    } 
     569 
     570    QProcess process; 
     571 
     572    //TODO: smarter args parsing (including quotes) 
     573    QStringList proc_args = de->ConfigurationApplication.split(" ",QString::SkipEmptyParts); 
     574 
     575    QString proc = proc_args[0]; 
     576    proc_args.pop_front(); 
     577    process.startDetached(proc, proc_args); 
     578} 
  • src-qt4/pc-controlpanel/mainwnd.h

    rffbf59c r1c61936  
    6565        void setupGroup(QGroupList** List, QWidget* Parrent); 
    6666        void fillGroups(); 
    67         void setupDEChooser(); 
     67    void setupDEChooser(); 
    6868 
    69         bool checkUserGroup(QString groupName); 
     69    bool checkUserGroup(QString groupName); 
     70 
     71    void refreshDEConfigureApp(); 
    7072 
    7173        //CDEList mDEList; 
    72         QMenu* DEChoiseMenu; 
     74    QMenu* DEChoiseMenu; 
    7375 
    74         QVector<QString> mvEnabledDE; 
    75         pcbsd::DesktopEnvironmentInfo   mCurrentDE; 
    76         bool             misDisplayDEName; 
     76    QVector<QString> mvEnabledDE; 
     77    pcbsd::DesktopEnvironmentInfo   mCurrentDE; 
     78    bool             misDisplayDEName; 
    7779 
    78         bool             misWheelGroup; 
    79         bool             misOperatorGroup; 
     80    bool             misWheelGroup; 
     81    bool             misOperatorGroup; 
    8082 
    81         QMutex          mRefreshMutex; 
     83    QMutex          mRefreshMutex; 
    8284 
    8385private slots: 
     
    9698 
    9799        void onDirectoryChanged(const QString & path); 
    98     }; 
     100        void on_DEChooserButton_triggered(QAction *arg1); 
     101        void on_deLaunchConfigApp_clicked(); 
     102}; 
    99103 
    100104#endif // MAINWND_H 
  • src-qt4/pc-controlpanel/mainwnd.ui

    rffbf59c r1c61936  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>599</width> 
    10     <height>432</height> 
     9    <width>597</width> 
     10    <height>430</height> 
    1111   </rect> 
    1212  </property> 
     
    7575        <property name="text"> 
    7676         <string/> 
     77        </property> 
     78        <property name="iconSize"> 
     79         <size> 
     80          <width>24</width> 
     81          <height>24</height> 
     82         </size> 
     83        </property> 
     84        <property name="autoRaise"> 
     85         <bool>true</bool> 
    7786        </property> 
    7887       </widget> 
     
    116125         <x>0</x> 
    117126         <y>0</y> 
    118          <width>583</width> 
    119          <height>336</height> 
     127         <width>581</width> 
     128         <height>334</height> 
    120129        </rect> 
    121130       </property> 
     
    273282     <x>0</x> 
    274283     <y>0</y> 
    275      <width>599</width> 
     284     <width>597</width> 
    276285     <height>21</height> 
    277286    </rect> 
Note: See TracChangeset for help on using the changeset viewer.