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

List:       kde-commits
Subject:    Re: branches/KDE/3.5
From:       Michael Seiwert <mseiwert () hbv ! de>
Date:       2006-10-01 9:59:13
Message-ID: 200610011159.13988.mseiwert () hbv ! de
[Download RAW message or body]

Hi Dirk,

could it be that this commit breaks switching virtual desktops via mouse click 
on minipager ? Switching Desktops via STRG-TAB seem to work.

Very best regards

Michael

Am Samstag 30 September 2006 15:33 schrieb Dirk Mueller:
> SVN commit 590563 by mueller:
>
> make viewport a two-dimensional information
>
>
>  M  +20 -11    kdebase/kicker/applets/minipager/pagerapplet.cpp
>  M  +1 -1      kdebase/kicker/applets/minipager/pagerapplet.h
>  M  +5 -3      kdebase/kicker/applets/minipager/pagerbutton.cpp
>  M  +3 -1      kdebase/kicker/applets/minipager/pagerbutton.h
>  M  +14 -8     kdelibs/kdecore/kwinmodule.cpp
>  M  +12 -5     kdelibs/kdecore/kwinmodule.h
>
>
> --- branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerapplet.cpp
> #590562:590563 @@ -123,12 +123,14 @@
>      desktopLayoutX = -1;
>      desktopLayoutY = -1;
>
> -    m_useViewports = m_kwin->numberOfViewports(m_kwin->currentDesktop()) >
> 1; +    QSize s(m_kwin->numberOfViewports(m_kwin->currentDesktop())); +   
> m_useViewports = s.width() + s.height() > 1;
>
>      drawButtons();
>
>      connect( m_kwin, SIGNAL( currentDesktopChanged(int)), SLOT(
> slotSetDesktop(int) ) ); -    connect( m_kwin, SIGNAL(
> currentDesktopViewportChanged(int, int)), SLOT(slotSetDesktopViewport(int,
> int))); +    connect( m_kwin, SIGNAL( currentDesktopViewportChanged(int,
> const QPoint&)), +            SLOT(slotSetDesktopViewport(int, const
> QPoint&)));
>      connect( m_kwin, SIGNAL( numberOfDesktopsChanged(int)), SLOT(
> slotSetDesktopCount(int) ) ); connect( m_kwin, SIGNAL(
> activeWindowChanged(WId)), SLOT( slotActiveWindowChanged(WId) ) ); connect(
> m_kwin, SIGNAL( windowAdded(WId) ), this, SLOT( slotWindowAdded(WId) ) );
> @@ -211,16 +213,17 @@
>      }
>  }
>
> -void KMiniPager::slotSetDesktopViewport(int desktop, int viewport)
> +void KMiniPager::slotSetDesktopViewport(int desktop, const QPoint&
> viewport) {
>      // ###
>      Q_UNUSED(desktop);
> -    slotSetDesktop(viewport);
> +    QSize s(m_kwin->numberOfViewports(m_kwin->currentDesktop()));
> +    slotSetDesktop((viewport.y()-1) * s.width() + viewport.x() );
>  }
>
>  void KMiniPager::slotButtonSelected( int desk )
>  {
> -    if (m_kwin->numberOfViewports(0) > 1)
> +    if
> (m_kwin->numberOfViewports(0).width()+m_kwin->numberOfViewports(0).height()
> > 1) {
>          QPoint p;
>
> @@ -242,7 +245,8 @@
>          return width();
>      }
>
> -    int deskNum = m_kwin->numberOfDesktops() *
> m_kwin->numberOfViewports(0); +    int deskNum = m_kwin->numberOfDesktops()
> * m_kwin->numberOfViewports(0).width() +        *
> m_kwin->numberOfViewports(0).height();
>
>      int rowNum = m_settings->numberOfRows();
>      if (rowNum == 0)
> @@ -297,7 +301,8 @@
>          return height();
>      }
>
> -    int deskNum = m_kwin->numberOfDesktops() *
> m_kwin->numberOfViewports(0); +    int deskNum = m_kwin->numberOfDesktops()
> * m_kwin->numberOfViewports(0).width() +        *
> m_kwin->numberOfViewports(0).height();
>      int rowNum = m_settings->numberOfRows(); // actually these are columns
> now... oh well. if (rowNum == 0)
>      {
> @@ -429,7 +434,9 @@
>  void KMiniPager::wheelEvent( QWheelEvent* e )
>  {
>      int newDesk;
> -    int desktops = m_useViewports ? m_kwin->numberOfViewports(0) :
> KWin::numberOfDesktops(); +    int desktops = KWin::numberOfDesktops();
> +    if (m_kwin->numberOfViewports(0).width() +
> m_kwin->numberOfViewports(0).height() > 1 ) +        desktops =
> m_kwin->numberOfViewports(0).width() *
> m_kwin->numberOfViewports(0).height(); if (e->delta() < 0)
>      {
>          newDesk = m_curDesk % desktops + 1;
> @@ -450,10 +457,12 @@
>      int count = 1;
>      for ( int i = 1; i <= deskNum; ++i )
>      {
> -        int viewportNum = m_kwin->numberOfViewports(i);
> -        for (int j = 1; j <= viewportNum; ++j)
> +        QSize viewportNum = m_kwin->numberOfViewports(i);
> +        for (int j = 1; j <= viewportNum.width() * viewportNum.height();
> ++j) {
> -            desk = new KMiniPagerButton( count, m_useViewports, this );
> +            QSize s(m_kwin->numberOfViewports(m_kwin->currentDesktop()));
> +            QPoint viewport( (j-1) % s.width(), (j-1) / s.width());
> +            desk = new KMiniPagerButton( count, m_useViewports, viewport,
> this ); if ( m_settings->labelType() !=
> PagerSettings::EnumLabelType::LabelName ) {
>                  QToolTip::add( desk, desk->desktopName() );
> --- branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerapplet.h
> #590562:590563 @@ -84,7 +84,7 @@
>
>  public slots:
>      void slotSetDesktop(int desktop);
> -    void slotSetDesktopViewport(int desktop, int viewport);
> +    void slotSetDesktopViewport(int desktop, const QPoint& viewport);
>      void slotSetDesktopCount(int count);
>      void slotButtonSelected(int desk );
>      void slotActiveWindowChanged( WId win );
> --- branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerbutton.cpp
> #590562:590563 @@ -58,11 +58,13 @@
>  KSharedPixmap* KMiniPagerButton::s_commonSharedPixmap;
>  KPixmap* KMiniPagerButton::s_commonBgPixmap;
>
> -KMiniPagerButton::KMiniPagerButton(int desk, bool useViewPorts, KMiniPager
> *parent, const char *name) +KMiniPagerButton::KMiniPagerButton(int desk,
> bool useViewPorts, const QPoint& viewport, +        KMiniPager *parent,
> const char *name)
>
>      : QButton(parent, name, WRepaintNoErase),
>
>        m_pager(parent),
>        m_desktop(desk),
>        m_useViewports(useViewPorts),
> +      m_viewport(viewport),
>        m_lineEdit(0),
>        m_sharedPixmap(0),
>        m_bgPixmap(0),
> @@ -116,8 +118,8 @@
>      if (m_useViewports) {
>          QPoint windowSpot = info->frameGeometry().topLeft();
>
> -        windowSpot += QPoint((m_desktop -
> m_pager->kwin()->currentViewport(1)) * -               
> QApplication::desktop()->screenGeometry().width(), 0); +        windowSpot
> += QPoint((m_desktop - m_pager->kwin()->currentViewport(0).x()) * +        
>        QApplication::desktop()->width(), 0);
>
>          if
> (!QApplication::desktop()->screenGeometry().contains(windowSpot)) return
> false;
> --- branches/KDE/3.5/kdebase/kicker/applets/minipager/pagerbutton.h
> #590562:590563 @@ -39,7 +39,8 @@
>  {
>      Q_OBJECT
>  public:
> -    KMiniPagerButton(int desk, bool useViewports, KMiniPager *parent=0,
> const char *name=0); +    KMiniPagerButton(int desk, bool useViewports,
> const QPoint& viewport, +            KMiniPager *parent=0, const char
> *name=0);
>      ~KMiniPagerButton();
>
>      int desktop() { return m_desktop; }
> @@ -86,6 +87,7 @@
>      int m_desktop;
>      bool m_useViewports;
>      QString m_desktopName;
> +    QPoint m_viewport;
>
>      QTimer m_updateCompressor;
>      QTimer m_dragSwitchTimer;
> --- branches/KDE/3.5/kdelibs/kdecore/kwinmodule.cpp #590562:590563
> @@ -109,8 +109,8 @@
>      void updateStackingOrder();
>      bool removeStrutWindow( WId );
>
> -    int numberOfViewports(int desktop) const;
> -    int currentViewport(int desktop) const;
> +    QSize numberOfViewports(int desktop) const;
> +    QPoint currentViewport(int desktop) const;
>  };
>
>  KWinModule::KWinModule( QObject* parent )
> @@ -180,18 +180,20 @@
>      return d->systemTrayWindows;
>  }
>
> -int KWinModulePrivate::numberOfViewports(int desktop) const
> +QSize KWinModulePrivate::numberOfViewports(int desktop) const
>  {
>      NETSize netdesktop = desktopGeometry(desktop);
>
> -    return netdesktop.width /
> QApplication::desktop()->screenGeometry().width(); +    return
> QSize(netdesktop.width / QApplication::desktop()->width(), +           
> netdesktop.height / QApplication::desktop()->height()); }
>
> -int KWinModulePrivate::currentViewport(int desktop) const
> +QPoint KWinModulePrivate::currentViewport(int desktop) const
>  {
>      NETPoint netviewport = desktopViewport(desktop);
>
> -    return 1+(netviewport.x /
> QApplication::desktop()->screenGeometry().width()); +    return
> QPoint(1+(netviewport.x / QApplication::desktop()->width()), +           
> 1+(netviewport.y / QApplication::desktop()->height())); }
>
>  bool KWinModulePrivate::x11Event( XEvent * ev )
> @@ -215,6 +217,10 @@
>  		emit (*mit)->currentDesktopViewportChanged(currentDesktop(),
>                          currentViewport(currentDesktop()));
>          }
> +	if ( m[ PROTOCOLS ] & DesktopGeometry ) {
> +	    for ( QPtrListIterator<KWinModule> mit( modules ); mit.current();
> ++mit ) +		emit (*mit)->desktopGeometryChanged(currentDesktop());
> +	}
>  	if ( m[ PROTOCOLS ] & DesktopNames )
>  	    for ( QPtrListIterator<KWinModule> mit( modules ); mit.current();
> ++mit ) emit (*mit)->desktopNamesChanged();
> @@ -348,12 +354,12 @@
>      return d->numberOfDesktops();
>  }
>
> -int KWinModule::numberOfViewports(int desktop) const
> +QSize KWinModule::numberOfViewports(int desktop) const
>  {
>      return d->numberOfViewports(desktop);
>  }
>
> -int KWinModule::currentViewport(int desktop) const
> +QPoint KWinModule::currentViewport(int desktop) const
>  {
>      return d->currentViewport(desktop);
>  }
> --- branches/KDE/3.5/kdelibs/kdecore/kwinmodule.h #590562:590563
> @@ -152,18 +152,19 @@
>      int numberOfDesktops() const;
>
>      /**
> -     * Returns the number of viewports on the virtual desktop
> +     * Returns the number of viewports in x and y direction
> +     * on the virtual desktop.
>       * @return the number of virtual desktops
>       * @since 3.5.5
>       **/
> -    int numberOfViewports(int desktop) const;
> +    QSize numberOfViewports(int desktop) const;
>
>      /**
> -     * Returns the number of viewports on the virtual desktop
> +     * Returns the current viewport on the given virtual desktop
>       * @return the number of virtual desktops
>       * @since 3.5.5
>       **/
> -    int currentViewport(int desktop) const;
> +    QPoint currentViewport(int desktop) const;
>
>      /**
>       * Returns the currently active window, or 0 if no window is active.
> @@ -330,10 +331,16 @@
>      void showingDesktopChanged( bool showing );
>
>      /**
> +     * The state of showing the desktop has changed.
> +     * @since 3.5.5
> +     */
> +    void desktopGeometryChanged(int desktop);
> +
> +    /**
>       * The viewport position has changed
>       * @since 3.5
>       */
> -    void currentDesktopViewportChanged(int desktop, int viewport);
> +    void currentDesktopViewportChanged(int desktop, const QPoint&
> viewport);
>
>  protected:
>      virtual void connectNotify( const char* signal );

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

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