Changeset b464dcd


Ignore:
Timestamp:
05/12/14 14:55:10 (5 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, releng/10.0.2, releng/10.0.3
Children:
94a2826
Parents:
8743d35
Message:

Get lumina-config able to detect the current panel settings, but disable the tab for now until it gets completely finished.

Location:
lumina/lumina-config
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • lumina/lumina-config/lumina-config.pro

    r9e67ef75 rb464dcd  
    88 
    99SOURCES += main.cpp \ 
    10            mainUI.cpp 
     10           mainUI.cpp \ 
     11           LPlugins.cpp 
    1112 
    12 HEADERS  += mainUI.h 
     13HEADERS  += mainUI.h \ 
     14                LPlugins.h 
    1315 
    1416FORMS    += mainUI.ui 
  • lumina/lumina-config/mainUI.cpp

    rba1f6df rb464dcd  
     1//=========================================== 
     2//  Lumina-DE source code 
     3//  Copyright (c) 2014, Ken Moore 
     4//  Available under the 3-clause BSD license 
     5//  See the LICENSE file for full details 
     6//=========================================== 
    17#include "mainUI.h" 
    28#include "ui_mainUI.h" //the designer *.ui file 
     
    410MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ 
    511  ui->setupUi(this); //load the designer file 
     12  PINFO = new LPlugins(); //load the info class 
     13  ppmenu = new QMenu(this); // panel plugin menu 
     14    ui->tool_tb_addplugin->setMenu(ppmenu); 
    615  //Be careful about the QSettings setup, it must match the lumina-desktop setup 
    716  QSettings::setPath(QSettings::NativeFormat, QSettings::UserScope, QDir::homePath()+"/.lumina"); 
     
    2029  //Setup the buttons signal/slot connections 
    2130  connect(ui->spin_screen, SIGNAL(valueChanged(int)), this, SLOT(loadCurrentSettings()) ); 
     31  connect(ui->push_save, SIGNAL(clicked()), this, SLOT(saveCurrentSettings()) ); 
     32   
     33  // - background tab 
    2234  connect(ui->tool_rmbackground, SIGNAL(clicked()), this, SLOT(removeBackground()) ); 
    2335  connect(ui->tool_addbackground, SIGNAL(clicked()), this, SLOT(addBackground()) ); 
    24   connect(ui->push_save, SIGNAL(clicked()), this, SLOT(saveCurrentSettings()) ); 
     36  connect(ui->radio_rotateBG, SIGNAL(toggled(bool)), SLOT(enableBGRotateTime(bool)) ); 
    2537  // - toolbar tab 
    2638  connect(ui->spin_tb_R, SIGNAL(valueChanged(int)), this, SLOT(colorChanged()) ); 
    2739  connect(ui->spin_tb_G, SIGNAL(valueChanged(int)), this, SLOT(colorChanged()) ); 
    2840  connect(ui->spin_tb_B, SIGNAL(valueChanged(int)), this, SLOT(colorChanged()) ); 
     41  connect(ppmenu, SIGNAL(triggered(QAction*)), this, SLOT(addPPlugin(QAction*)) ); 
     42  connect(ui->tool_tb_leftplugin, SIGNAL(clicked()), this, SLOT(mvLPPlugin()) ); 
     43  connect(ui->tool_tb_rightplugin, SIGNAL(clicked()), this, SLOT(mvRPPlugin()) ); 
     44  connect(ui->tool_tb_rmplugin, SIGNAL(clicked()), this, SLOT(rmPPlugin()) ); 
    2945  //Now finish setting up the UI 
    3046  setupIcons(); 
     47  setupMenus(); 
     48  ui->tab_toolbar->setEnabled(false); //not finished yet - disable for now 
     49  //ui->list_tb_plugins->clear(); 
    3150  QTimer::singleShot(10, this, SLOT(loadCurrentSettings()) ); 
    3251} 
     
    6685} 
    6786 
     87void MainUI::setupMenus(){ 
     88  ppmenu->clear(); 
     89  QStringList plugs = PINFO->panelPlugins(); 
     90  plugs.sort(); 
     91  for(int i=0; i<plugs.length(); i++){ 
     92    LPI info = PINFO->panelPluginInfo(plugs[i]); 
     93    QAction *act = new QAction(  LXDG::findIcon(info.icon,""), info.name, this); 
     94          act->setWhatsThis(info.ID); 
     95          act->setToolTip(info.description); 
     96    ppmenu->addAction(act); 
     97  } 
     98   
     99} 
     100 
    68101void MainUI::checkForChanges(){ 
    69102  //to see whether to enable the save button 
     
    77110 
    78111int MainUI::currentPanel(){ 
    79   return 0; // - TO DO   
     112  return ui->spin_tb_number->value()-1; // - TO DO       
    80113} 
    81114 
     
    115148    ui->spin_bgRotateMin->setValue( settings->value(DPrefix+"background/minutesToChange", 5).toInt() ); 
    116149     
     150  //Now load the current panel settings 
     151  loadPanelSettings(); 
    117152} 
    118153 
     
    137172 
    138173    //Panels tab 
    139      
     174    savePanelSettings(); 
    140175    //All done - make sure the changes get saved to file right now 
    141176    settings->sync(); 
     177     
    142178} 
    143179 
     
    162198} 
    163199 
     200void MainUI::enableBGRotateTime(bool enable){ 
     201  ui->spin_bgRotateMin->setEnabled(enable); 
     202} 
     203 
    164204//ToolBar Tab Functions 
     205void MainUI::loadPanelSettings(){ 
     206  //Get the current screen/panel number 
     207  QString pprefix = "panel"+QString::number(currentDesktop())+"."+QString::number(currentPanel())+"/"; 
     208  bool defaultpanel = (pprefix=="panel0.0/"); 
     209  //Now read the values and set them appropriately 
     210  // - location 
     211  QString loc = settings->value(pprefix+"location","t").toString(); 
     212  if(loc.isEmpty() && defaultpanel){ loc="top"; } 
     213  if(loc=="top"){ ui->combo_tb_location->setCurrentIndex(0); } 
     214  else if(loc=="bottom"){ ui->combo_tb_location->setCurrentIndex(1); } 
     215  // - background color 
     216  QString tbbg = settings->value(pprefix+"color", "rgb(255,250,250)").toString(); 
     217  tbbg = tbbg.section("(",1,1).section(")",0,0).simplified(); 
     218  ui->spin_tb_R->setValue(tbbg.section(",",0,0).toInt()); 
     219  ui->spin_tb_G->setValue(tbbg.section(",",1,1).toInt()); 
     220  ui->spin_tb_B->setValue(tbbg.section(",",2,2).toInt()); 
     221  // - height 
     222  ui->spin_tb_height->setValue( settings->value(pprefix+"height",22).toInt() ); 
     223  // - plugins 
     224  QStringList plugs = settings->value(pprefix+"pluginlist").toStringList(); 
     225  if(plugs.isEmpty() && defaultpanel){ plugs << "userbutton" << "desktopbar" << "desktopswitcher" << "spacer" << "clock"; } 
     226  ui->list_tb_plugins->clear(); 
     227  for(int i=0; i<plugs.length(); i++){ 
     228    LPI info = PINFO->panelPluginInfo(plugs[i]); 
     229    if(info.ID.isEmpty()){ continue; } //invalid plugin 
     230    QListWidgetItem *item = new QListWidgetItem(); 
     231      item->setWhatsThis( info.ID ); 
     232      item->setIcon( LXDG::findIcon(info.icon,"") ); 
     233      item->setText( info.name ); 
     234      item->setToolTip( info.description ); 
     235    ui->list_tb_plugins->addItem(item); 
     236  } 
     237   
     238   
     239  //Now update the color shown 
     240  colorChanged(); 
     241} 
     242 
     243void MainUI::savePanelSettings(){ 
     244         
     245} 
     246 
    165247void MainUI::colorChanged(){ 
    166248  //Get the RGB color 
     
    171253} 
    172254 
     255void MainUI::addPPlugin(QAction *act){ 
     256  QListWidgetItem *item = new QListWidgetItem(); 
     257    item->setWhatsThis( act->whatsThis() ); 
     258    item->setIcon( act->icon() ); 
     259    item->setText( act->text() ); 
     260    item->setToolTip( act->toolTip() ); 
     261  ui->list_tb_plugins->addItem(item); 
     262} 
     263 
     264void MainUI::rmPPlugin(){ 
     265  if(ui->list_tb_plugins->currentRow()<0){ return; } //no selection 
     266  delete ui->list_tb_plugins->takeItem( ui->list_tb_plugins->currentRow() ); 
     267   
     268} 
     269 
     270void MainUI::mvLPPlugin(){ 
     271  int row = ui->list_tb_plugins->currentRow(); 
     272  if(row<=0){ return; } //no selection or already 0 
     273  ui->list_tb_plugins->insertItem(row-1, ui->list_tb_plugins->takeItem(row)); 
     274  ui->list_tb_plugins->setCurrentRow(row-1); 
     275} 
     276 
     277void MainUI::mvRPPlugin(){ 
     278  int row = ui->list_tb_plugins->currentRow(); 
     279  if(row<0 || row==(ui->list_tb_plugins->count()-1) ){ return; } //no selection or already at end 
     280  ui->list_tb_plugins->insertItem(row+1, ui->list_tb_plugins->takeItem(row)); 
     281  ui->list_tb_plugins->setCurrentRow(row+1); 
     282} 
  • lumina/lumina-config/mainUI.h

    rba1f6df rb464dcd  
    1717 
    1818// local includes 
     19#include "LPlugins.h" 
    1920 
    2021#define DEFAULTBG QString("/usr/local/share/Lumina-DE/desktop-background.jpg") 
     
    3536        QSettings *settings; 
    3637        QDesktopWidget *desktop; 
     38        LPlugins *PINFO; 
     39        QMenu *ppmenu; 
    3740 
    3841        //General purpose functions (not connected to buttons) 
    3942        void setupIcons(); //called during initialization 
     43        void setupMenus(); //called during initialization 
    4044        void checkForChanges(); //to see whether to enable the save button 
    4145        int currentDesktop(); //the number for the current desktop 
     
    5357        void addBackground(); 
    5458        void removeBackground(); 
    55          
     59        void enableBGRotateTime(bool); 
     60 
    5661        //Toolbar Tab Functions 
     62        void loadPanelSettings(); 
     63        void savePanelSettings(); 
    5764        void colorChanged(); 
     65        void addPPlugin(QAction*); 
     66        void rmPPlugin(); 
     67        void mvLPPlugin(); 
     68        void mvRPPlugin(); 
    5869 
    5970}; 
  • lumina/lumina-config/mainUI.ui

    rba1f6df rb464dcd  
    88    <y>0</y> 
    99    <width>481</width> 
    10     <height>376</height> 
     10    <height>395</height> 
    1111   </rect> 
    1212  </property> 
     
    7373      </property> 
    7474      <property name="currentIndex"> 
    75        <number>0</number> 
     75       <number>1</number> 
    7676      </property> 
    7777      <widget class="QWidget" name="tab_background"> 
     
    202202          </item> 
    203203          <item> 
    204            <widget class="QSpinBox" name="spinBox"> 
     204           <widget class="QSpinBox" name="spin_tb_number"> 
    205205            <property name="minimum"> 
    206206             <number>1</number> 
     
    212212          </item> 
    213213          <item> 
    214            <widget class="QComboBox" name="comboBox"> 
     214           <widget class="QComboBox" name="combo_tb_location"> 
    215215            <property name="sizeAdjustPolicy"> 
    216216             <enum>QComboBox::AdjustToContentsOnFirstShow</enum> 
     
    281281           <string>Appearance</string> 
    282282          </property> 
    283           <layout class="QHBoxLayout" name="horizontalLayout_5"> 
     283          <layout class="QVBoxLayout" name="verticalLayout_3"> 
    284284           <item> 
    285             <widget class="QLabel" name="label_tb_color"> 
    286              <property name="sizePolicy"> 
    287               <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> 
    288                <horstretch>0</horstretch> 
    289                <verstretch>0</verstretch> 
    290               </sizepolicy> 
    291              </property> 
    292              <property name="text"> 
    293               <string>Background Color:</string> 
    294              </property> 
    295             </widget> 
     285            <layout class="QHBoxLayout" name="horizontalLayout_2"> 
     286             <item> 
     287              <widget class="QLabel" name="label_tb_color"> 
     288               <property name="sizePolicy"> 
     289                <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> 
     290                 <horstretch>0</horstretch> 
     291                 <verstretch>0</verstretch> 
     292                </sizepolicy> 
     293               </property> 
     294               <property name="text"> 
     295                <string>Background Color:</string> 
     296               </property> 
     297               <property name="alignment"> 
     298                <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
     299               </property> 
     300              </widget> 
     301             </item> 
     302             <item> 
     303              <widget class="QSpinBox" name="spin_tb_R"> 
     304               <property name="styleSheet"> 
     305                <string notr="true">QSpinBox{ background: rgba(255,0,0,100); }</string> 
     306               </property> 
     307               <property name="suffix"> 
     308                <string/> 
     309               </property> 
     310               <property name="prefix"> 
     311                <string/> 
     312               </property> 
     313               <property name="maximum"> 
     314                <number>255</number> 
     315               </property> 
     316              </widget> 
     317             </item> 
     318             <item> 
     319              <widget class="QSpinBox" name="spin_tb_G"> 
     320               <property name="styleSheet"> 
     321                <string notr="true">background: rgba(0,255,0,100);</string> 
     322               </property> 
     323               <property name="prefix"> 
     324                <string/> 
     325               </property> 
     326               <property name="maximum"> 
     327                <number>255</number> 
     328               </property> 
     329              </widget> 
     330             </item> 
     331             <item> 
     332              <widget class="QSpinBox" name="spin_tb_B"> 
     333               <property name="styleSheet"> 
     334                <string notr="true">background: rgba(0,0,255,100);</string> 
     335               </property> 
     336               <property name="prefix"> 
     337                <string/> 
     338               </property> 
     339               <property name="maximum"> 
     340                <number>255</number> 
     341               </property> 
     342              </widget> 
     343             </item> 
     344             <item> 
     345              <spacer name="horizontalSpacer_6"> 
     346               <property name="orientation"> 
     347                <enum>Qt::Horizontal</enum> 
     348               </property> 
     349               <property name="sizeHint" stdset="0"> 
     350                <size> 
     351                 <width>40</width> 
     352                 <height>20</height> 
     353                </size> 
     354               </property> 
     355              </spacer> 
     356             </item> 
     357            </layout> 
    296358           </item> 
    297359           <item> 
    298             <widget class="QSpinBox" name="spin_tb_R"> 
    299              <property name="styleSheet"> 
    300               <string notr="true">background: rgba(255,0,0,200);</string> 
    301              </property> 
    302              <property name="suffix"> 
    303               <string/> 
    304              </property> 
    305              <property name="prefix"> 
    306               <string>R </string> 
    307              </property> 
    308              <property name="maximum"> 
    309               <number>255</number> 
    310              </property> 
    311             </widget> 
    312            </item> 
    313            <item> 
    314             <widget class="QSpinBox" name="spin_tb_G"> 
    315              <property name="styleSheet"> 
    316               <string notr="true">background: rgba(0,255,0,200);</string> 
    317              </property> 
    318              <property name="prefix"> 
    319               <string>G </string> 
    320              </property> 
    321              <property name="maximum"> 
    322               <number>255</number> 
    323              </property> 
    324             </widget> 
    325            </item> 
    326            <item> 
    327             <widget class="QSpinBox" name="spin_tb_B"> 
    328              <property name="styleSheet"> 
    329               <string notr="true">background: rgba(0,0,255,200);</string> 
    330              </property> 
    331              <property name="prefix"> 
    332               <string>B </string> 
    333              </property> 
    334              <property name="maximum"> 
    335               <number>255</number> 
    336              </property> 
    337             </widget> 
     360            <layout class="QHBoxLayout" name="horizontalLayout_5"> 
     361             <item> 
     362              <widget class="QLabel" name="label_2"> 
     363               <property name="text"> 
     364                <string>Height:</string> 
     365               </property> 
     366              </widget> 
     367             </item> 
     368             <item> 
     369              <widget class="QSpinBox" name="spin_tb_height"> 
     370               <property name="suffix"> 
     371                <string> pixels</string> 
     372               </property> 
     373               <property name="prefix"> 
     374                <string/> 
     375               </property> 
     376              </widget> 
     377             </item> 
     378             <item> 
     379              <spacer name="horizontalSpacer_7"> 
     380               <property name="orientation"> 
     381                <enum>Qt::Horizontal</enum> 
     382               </property> 
     383               <property name="sizeHint" stdset="0"> 
     384                <size> 
     385                 <width>40</width> 
     386                 <height>20</height> 
     387                </size> 
     388               </property> 
     389              </spacer> 
     390             </item> 
     391            </layout> 
    338392           </item> 
    339393          </layout> 
     
    351405              <enum>QListView::LeftToRight</enum> 
    352406             </property> 
     407             <property name="isWrapping" stdset="0"> 
     408              <bool>false</bool> 
     409             </property> 
    353410             <property name="viewMode"> 
    354               <enum>QListView::ListMode</enum> 
     411              <enum>QListView::IconMode</enum> 
    355412             </property> 
    356413             <item> 
     
    423480                 <height>20</height> 
    424481                </size> 
     482               </property> 
     483               <property name="popupMode"> 
     484                <enum>QToolButton::InstantPopup</enum> 
    425485               </property> 
    426486              </widget> 
     
    480540     <y>0</y> 
    481541     <width>481</width> 
    482      <height>21</height> 
     542     <height>20</height> 
    483543    </rect> 
    484544   </property> 
Note: See TracChangeset for help on using the changeset viewer.