[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase
From:       Kevin Puetz <puetzk () iastate ! edu>
Date:       2003-02-18 5:46:20
[Download RAW message or body]

CVS commit by puetzk: 

Since we can add strings again now, add a choice "All Screens" for those 
who wanted kicker to spann all screens in an Xinerama setup (as we did 
pre-KDE 3.1). I've had a few requests for this back, so here goes.


  M +8 -1      kcontrol/kicker/positiontab_impl.cpp   1.23
  M +8 -4      kicker/core/container_panel.cpp   1.77


--- kdebase/kicker/core/container_panel.cpp  #1.76:1.77
@@ -226,9 +226,10 @@ int PanelContainer::xineramaScreen() con
     // turn it on and off and don't want kicker to lose their configs
 
-    if(_settings._xineramaScreen < 0 || _settings._xineramaScreen >= \
QApplication::desktop()->numScreens()) +                /* -2 means all screens, -1 \
primary screens, the rest are valid screen numbers */ +                if(-2 >= \
_settings._xineramaScreen < QApplication::desktop()->numScreens()) +      return \
_settings._xineramaScreen; +                else
       /* force invalid screen locations onto the primary screen */
       return QApplication::desktop()->primaryScreen();
-    else
-      return _settings._xineramaScreen;
 }
 
@@ -1197,4 +1198,7 @@ QRect PanelContainer::workArea(int Xiner
     }
 
+    if(XineramaScreen == -2) /* special value for all screens */
+        return kWinModule->workArea(list);
+    else
     return kWinModule->workArea(list).intersect(QApplication::desktop()->screenGeometry(XineramaScreen));
  }

--- kdebase/kcontrol/kicker/positiontab_impl.cpp  #1.22:1.23
@@ -120,4 +120,5 @@ PositionTab::PositionTab(KickerConfig *k
         m_xineramaScreenComboBox->insertItem(QString::number(s));
     }
+    m_xineramaScreenComboBox->insertItem(i18n("All Screens"));
 
     // hide the xinerama chooser widgets if there is no need for them
@@ -487,4 +488,6 @@ void PositionTab::switchPanel(QListViewI
     if(m_panelInfo->_xineramaScreen >= 0 && m_panelInfo->_xineramaScreen < \
                QApplication::desktop()->numScreens())
         m_xineramaScreenComboBox->setCurrentItem(m_panelInfo->_xineramaScreen);
+    else if(m_panelInfo->_xineramaScreen == -2) /* the All Screens option: qt uses \
-1 for default, so -2 for all */ +        \
m_xineramaScreenComboBox->setCurrentItem(m_xineramaScreenComboBox->count()-1);  else
         m_xineramaScreenComboBox->setCurrentItem(QApplication::desktop()->primaryScreen());
 @@ -603,5 +606,9 @@ void PositionTab::storeInfo()
     m_panelInfo->_position = m_panelPos;
     m_panelInfo->_alignment = m_panelAlign;
+                if(m_xineramaScreenComboBox->currentItem() == \
m_xineramaScreenComboBox->count()-1) +        m_panelInfo->_xineramaScreen = -2; /* \
all screens */ +                else
     m_panelInfo->_xineramaScreen = m_xineramaScreenComboBox->currentItem();
+                
 
     m_panelInfo->_sizePercentage = m_percentSlider->value();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic