Changeset dcb7f23


Ignore:
Timestamp:
04/17/14 11:01:06 (16 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, enter/10, releng/10.0.2, releng/10.0.3, releng/10.1, releng/10.1.1, releng/10.1.2
Children:
b88775b
Parents:
768b81c
Message:

Update the lumina-config utility to have some basic background functionality.

Location:
lumina/lumina-config
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • lumina/lumina-config/main.cpp

    r723d8fa rdcb7f23  
    33#include <QtGui/QApplication> 
    44#include <QDebug> 
     5#include <QFile> 
     6 
    57#include "mainUI.h" 
    6 #include <QFile> 
    7 #include <QDir> 
    88 
    99#ifndef PREFIX 
  • lumina/lumina-config/mainUI.cpp

    r723d8fa rdcb7f23  
    11#include "mainUI.h" 
    22#include "ui_mainUI.h" //the designer *.ui file 
    3 #include <QDir> 
    43 
    54MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ 
    65  ui->setupUi(this); //load the designer file 
    7   settings = new QSettings( QDir::homePath()+"/.lumina/settings/Lumina-DE/desktopsettings.conf"); 
    8          
     6  //Be careful about the QSettings setup, it must match the lumina-desktop setup 
     7  QSettings::setPath(QSettings::NativeFormat, QSettings::UserScope, QDir::homePath()+"/.lumina"); 
     8  settings = new QSettings( QSettings::UserScope, "Lumina-DE", "desktopsettings", this); 
     9  qDebug() << "Settings File:" << settings->fileName(); 
     10  desktop = new QDesktopWidget(); 
     11  if(desktop->screenCount() == 1){ 
     12    ui->spin_screen->setValue(1); 
     13    //Hide these since no other screens 
     14    ui->label_screen->setVisible(false); 
     15    ui->spin_screen->setVisible(false); 
     16  }else{ 
     17    //Make sure this is only allows the current number of screens 
     18    ui->spin_screen->setMaximum(desktop->screenCount()); 
     19  } 
     20 
     21  //Setup the buttons signal/slot connections 
     22  connect(ui->spin_screen, SIGNAL(valueChanged(int)), this, SLOT(loadCurrentSettings()) ); 
     23  connect(ui->tool_rmbackground, SIGNAL(clicked()), this, SLOT(removeBackground()) ); 
     24  connect(ui->tool_addbackground, SIGNAL(clicked()), this, SLOT(addBackground()) ); 
     25   
     26  //Now finish setting up the UI 
     27  setupIcons(); 
     28  QTimer::singleShot(10, this, SLOT(loadCurrentSettings()) ); 
    929} 
    1030 
     
    1939  this->raise(); 
    2040} 
     41 
     42//================ 
     43//  PRIVATE FUNCTIONS 
     44//================ 
     45void MainUI::setupIcons(){ 
     46  //Pull all the icons from the current theme using libLumina (LXDG) 
     47  //  - Menu Items 
     48  ui->actionSave_and_Quit->setIcon( LXDG::findIcon("document-save-all","") ); 
     49  ui->actionClose->setIcon( LXDG::findIcon("application-exit","") ); 
     50         
     51  //  - Background tab 
     52  ui->tool_rmbackground->setIcon( LXDG::findIcon("list-remove","") ); 
     53  ui->tool_addbackground->setIcon( LXDG::findIcon("list-add","") ); 
     54 
     55  //  - General UI buttons 
     56  ui->push_cancel->setIcon( LXDG::findIcon("dialog-cancel","") ); 
     57  ui->push_save->setIcon( LXDG::findIcon("document-save","") ); 
     58} 
     59 
     60void MainUI::checkForChanges(){ 
     61  //to see whether to enable the save button 
     62  // -- TO DO (this should make the save button enabled only if changes are available) 
     63         
     64} 
     65 
     66int MainUI::currentDesktop(){ 
     67  return ui->spin_screen->value()-1; //backend starts at 0, not 1 
     68} 
     69 
     70int MainUI::currentPanel(){ 
     71  return 0; // - TO DO   
     72} 
     73 
     74void MainUI::addNewBackgroundFile(QString filepath){ 
     75  QListWidgetItem *item = new QListWidgetItem(ui->list_backgrounds); 
     76        item->setText(filepath.section("/",-1)); 
     77        item->setToolTip(filepath); 
     78        item->setWhatsThis(filepath); //save the full path in this variable 
     79        item->setIcon( QIcon(filepath) ); 
     80} 
     81 
     82//================ 
     83//    PRIVATE SLOTS 
     84//================ 
     85//General Utility Functions 
     86void MainUI::loadCurrentSettings(){ 
     87  settings->sync(); 
     88  QString DPrefix = "desktop-"+QString::number(currentDesktop())+"/"; 
     89  QString PPrefix = "panel"+QString::number(currentDesktop())+"."+QString::number(currentPanel())+"/"; 
     90  //The Background tab 
     91    //Setup the bg preview image size (correct aspect ratio for the current screen) 
     92      int icoWidth = ui->list_backgrounds->width()/3; 
     93      double ratio = desktop->screenGeometry(currentDesktop()).height()/ ( (double) desktop->screenGeometry(currentDesktop()).width() ); 
     94      ui->list_backgrounds->setIconSize( QSize(icoWidth, icoWidth*ratio) ); 
     95    //Load the background files 
     96    QStringList bgs = settings->value(DPrefix+"background/filelist", QStringList()<<"default").toStringList(); 
     97    qDebug() << "Backgrounds:" << DPrefix << bgs; 
     98    ui->list_backgrounds->clear(); 
     99    for(int i=0; i<bgs.length(); i++){ 
     100      if(bgs[i]=="default"){ bgs[i]=DEFAULTBG; } 
     101      if(QFile::exists(bgs[i])){ 
     102        addNewBackgroundFile(bgs[i]); 
     103      } 
     104    } 
     105    if(bgs.length() <= 1){ ui->radio_singleBG->setChecked(true); } 
     106    else{ ui->radio_rotateBG->setChecked(true); } 
     107    ui->spin_bgRotateMin->setValue( settings->value(DPrefix+"background/minutesToChange", 5).toInt() ); 
     108     
     109} 
     110 
     111//Background Tab Functions 
     112void MainUI::addBackground(){ 
     113         
     114} 
     115 
     116void MainUI::removeBackground(){ 
     117         
     118} 
     119 
  • lumina/lumina-config/mainUI.h

    r259ca8f rdcb7f23  
    22#define _LUMINA_CONFIG_MAIN_UI_H 
    33 
     4// Qt includes 
    45#include <QMainWindow> 
     6#include <QDir> 
     7#include <QDesktopWidget> 
     8#include <QSettings> 
     9#include <QStringList> 
     10#include <QString> 
     11#include <QIcon> 
     12#include <QTimer> 
     13 
     14// libLumina includes 
     15#include <LuminaXDG.h> 
     16 
     17// local includes 
     18 
     19#define DEFAULTBG QString("/usr/local/share/Lumina-DE/desktop-background.jpg") 
    520 
    621//namespace for using the *.ui file 
     
    1732private: 
    1833        Ui::MainUI *ui; //the *.ui file access 
     34        QSettings *settings; 
     35        QDesktopWidget *desktop; 
     36 
     37        //General purpose functions (not connected to buttons) 
     38        void setupIcons(); //called during initialization 
     39        void checkForChanges(); //to see whether to enable the save button 
     40        int currentDesktop(); //the number for the current desktop 
     41        int currentPanel(); //the number for the currently selected panel 
     42        void addNewBackgroundFile(QString); //simplification for showing the BG preview 
    1943 
    2044private slots: 
    2145        void slotSingleInstance(); 
    2246 
     47        //General Utility Functions 
     48        void loadCurrentSettings(); 
     49 
     50        //Background Tab Functions 
     51        void addBackground(); 
     52        void removeBackground(); 
     53 
    2354}; 
    2455 
  • lumina/lumina-config/mainUI.ui

    r214f3d5 rdcb7f23  
    2222     <layout class="QHBoxLayout" name="horizontalLayout_2"> 
    2323      <item> 
    24        <widget class="QLabel" name="label"> 
     24       <widget class="QLabel" name="label_screen"> 
    2525        <property name="font"> 
    2626         <font> 
     
    3535      </item> 
    3636      <item> 
    37        <widget class="QSpinBox" name="spinBox"/> 
     37       <widget class="QSpinBox" name="spin_screen"> 
     38        <property name="minimum"> 
     39         <number>1</number> 
     40        </property> 
     41       </widget> 
    3842      </item> 
    3943      <item> 
     
    6973        </item> 
    7074        <item row="1" column="1"> 
    71          <widget class="QLabel" name="label_BGImage"> 
    72           <property name="sizePolicy"> 
    73            <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> 
    74             <horstretch>0</horstretch> 
    75             <verstretch>0</verstretch> 
    76            </sizepolicy> 
    77           </property> 
    78           <property name="frameShape"> 
    79            <enum>QFrame::StyledPanel</enum> 
    80           </property> 
    81           <property name="frameShadow"> 
    82            <enum>QFrame::Raised</enum> 
    83           </property> 
    84           <property name="text"> 
    85            <string/> 
    86           </property> 
    87           <property name="scaledContents"> 
    88            <bool>true</bool> 
    89           </property> 
    90          </widget> 
    91         </item> 
    92         <item row="2" column="0" colspan="2"> 
    93          <layout class="QHBoxLayout" name="horizontalLayout_3"> 
    94           <item> 
    95            <widget class="QToolButton" name="tool_addbackground"> 
    96             <property name="text"> 
    97              <string>Add</string> 
    98             </property> 
    99            </widget> 
    100           </item> 
    101           <item> 
    102            <widget class="QToolButton" name="tool_rmbackground"> 
    103             <property name="text"> 
    104              <string>Rem</string> 
    105             </property> 
    106            </widget> 
    107           </item> 
    108           <item> 
    109            <spacer name="horizontalSpacer_3"> 
     75         <layout class="QVBoxLayout" name="verticalLayout_2"> 
     76          <item> 
     77           <layout class="QHBoxLayout" name="horizontalLayout_4"> 
     78            <item> 
     79             <widget class="QToolButton" name="tool_rmbackground"> 
     80              <property name="text"> 
     81               <string>Rem</string> 
     82              </property> 
     83             </widget> 
     84            </item> 
     85            <item> 
     86             <spacer name="horizontalSpacer_3"> 
     87              <property name="orientation"> 
     88               <enum>Qt::Horizontal</enum> 
     89              </property> 
     90              <property name="sizeType"> 
     91               <enum>QSizePolicy::Preferred</enum> 
     92              </property> 
     93              <property name="sizeHint" stdset="0"> 
     94               <size> 
     95                <width>10</width> 
     96                <height>20</height> 
     97               </size> 
     98              </property> 
     99             </spacer> 
     100            </item> 
     101            <item> 
     102             <widget class="QToolButton" name="tool_addbackground"> 
     103              <property name="text"> 
     104               <string>Add</string> 
     105              </property> 
     106             </widget> 
     107            </item> 
     108           </layout> 
     109          </item> 
     110          <item> 
     111           <spacer name="verticalSpacer"> 
    110112            <property name="orientation"> 
    111              <enum>Qt::Horizontal</enum> 
     113             <enum>Qt::Vertical</enum> 
    112114            </property> 
    113115            <property name="sizeHint" stdset="0"> 
    114116             <size> 
    115               <width>40</width> 
    116               <height>20</height> 
     117              <width>20</width> 
     118              <height>40</height> 
    117119             </size> 
    118120            </property> 
     
    124126             <string>Single Image</string> 
    125127            </property> 
     128            <property name="checked"> 
     129             <bool>true</bool> 
     130            </property> 
    126131           </widget> 
    127132          </item> 
     
    134139          </item> 
    135140          <item> 
    136            <widget class="QSpinBox" name="spinBox_2"> 
     141           <widget class="QSpinBox" name="spin_bgRotateMin"> 
    137142            <property name="suffix"> 
    138143             <string>  Minutes</string> 
     
    181186      </item> 
    182187      <item> 
    183        <widget class="QPushButton" name="pushButton_2"> 
     188       <widget class="QPushButton" name="push_cancel"> 
    184189        <property name="text"> 
    185190         <string>&amp;Cancel</string> 
Note: See TracChangeset for help on using the changeset viewer.