[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