Add option to control pager applet cycling with the mouse wheel.

This resolves bug report 908.
Thanks to Calvin Morrison for the patch!
pull/2/head
Darrell Anderson 12 years ago
parent 58a3757285
commit 7527d160b9

@ -442,6 +442,10 @@ void KMiniPager::wheelEvent( TQWheelEvent* e )
{ {
int newDesk; int newDesk;
int desktops = KWin::numberOfDesktops(); int desktops = KWin::numberOfDesktops();
if(cycleWindow()){
if (m_twin->numberOfViewports(0).width() * m_twin->numberOfViewports(0).height() > 1 ) if (m_twin->numberOfViewports(0).width() * m_twin->numberOfViewports(0).height() > 1 )
desktops = m_twin->numberOfViewports(0).width() * m_twin->numberOfViewports(0).height(); desktops = m_twin->numberOfViewports(0).width() * m_twin->numberOfViewports(0).height();
if (e->delta() < 0) if (e->delta() < 0)
@ -452,8 +456,9 @@ void KMiniPager::wheelEvent( TQWheelEvent* e )
{ {
newDesk = (desktops + m_curDesk - 2) % desktops + 1; newDesk = (desktops + m_curDesk - 2) % desktops + 1;
} }
slotButtonSelected(newDesk); slotButtonSelected(newDesk);
}
} }
void KMiniPager::drawButtons() void KMiniPager::drawButtons()
@ -729,6 +734,7 @@ void KMiniPager::aboutToShowContextMenu()
showMenu->insertItem(i18n("&Window Thumbnails"), WindowThumbnails); showMenu->insertItem(i18n("&Window Thumbnails"), WindowThumbnails);
showMenu->insertItem(i18n("&Window Icons"), WindowIcons); showMenu->insertItem(i18n("&Window Icons"), WindowIcons);
showMenu->insertItem(i18n("&Cycle on Wheel"), Cycle);
showMenu->insertTitle(i18n("Text Label")); showMenu->insertTitle(i18n("Text Label"));
showMenu->insertItem(i18n("Desktop N&umber"), showMenu->insertItem(i18n("Desktop N&umber"),
@ -760,6 +766,7 @@ void KMiniPager::aboutToShowContextMenu()
m_contextMenu->setItemChecked(WindowThumbnails, m_settings->preview()); m_contextMenu->setItemChecked(WindowThumbnails, m_settings->preview());
m_contextMenu->setItemChecked(WindowIcons, m_settings->icons()); m_contextMenu->setItemChecked(WindowIcons, m_settings->icons());
m_contextMenu->setItemChecked(Cycle, m_settings->cycle());
m_contextMenu->setItemEnabled(WindowIcons, m_settings->preview()); m_contextMenu->setItemEnabled(WindowIcons, m_settings->preview());
m_contextMenu->setItemEnabled(RenameDesktop, m_contextMenu->setItemEnabled(RenameDesktop,
m_settings->labelType() == m_settings->labelType() ==
@ -812,11 +819,12 @@ void KMiniPager::contextMenuActivated(int result)
m_settings->setPreview(!m_settings->preview()); m_settings->setPreview(!m_settings->preview());
TaskManager::the()->trackGeometry(); TaskManager::the()->trackGeometry();
break; break;
case Cycle:
m_settings->setCycle(!m_settings->cycle());
break;
case WindowIcons: case WindowIcons:
m_settings->setIcons(!m_settings->icons()); m_settings->setIcons(!m_settings->icons());
break; break;
case PagerSettings::EnumBackgroundType::BgPlain + bgOffset: case PagerSettings::EnumBackgroundType::BgPlain + bgOffset:
m_settings->setBackgroundType(PagerSettings::EnumBackgroundType::BgPlain); m_settings->setBackgroundType(PagerSettings::EnumBackgroundType::BgPlain);
break; break;

@ -64,15 +64,17 @@ public:
void setActive( WId active ) { m_activeWindow = active; } void setActive( WId active ) { m_activeWindow = active; }
WId activeWindow() { return m_activeWindow; } WId activeWindow() { return m_activeWindow; }
enum ConfigOptions { LaunchExtPager = 96, WindowThumbnails, enum ConfigOptions { LaunchExtPager = 96, WindowThumbnails, Cycle,
WindowIcons, ConfigureDesktops, RenameDesktop }; WindowIcons, ConfigureDesktops, RenameDesktop };
int labelType() const { return m_settings->labelType(); } int labelType() const { return m_settings->labelType(); }
int bgType() const { return m_settings->backgroundType(); } int bgType() const { return m_settings->backgroundType(); }
bool desktopPreview() const { return m_settings->preview(); } bool desktopPreview() const { return m_settings->preview(); }
bool cycleWindow() const { return m_settings->cycle(); }
bool windowIcons() const { return m_settings->icons(); } bool windowIcons() const { return m_settings->icons(); }
Orientation orientation() const { return KPanelApplet::orientation(); } Orientation orientation() const { return KPanelApplet::orientation(); }
Direction popupDirection() { return KPanelApplet::popupDirection(); } Direction popupDirection() { return KPanelApplet::popupDirection(); }

@ -49,10 +49,15 @@
<label>Show desktop preview?</label> <label>Show desktop preview?</label>
<default>true</default> <default>true</default>
</entry> </entry>
<entry name="Icons" type="Bool"> <entry name="Icons" type="Bool">
<label>Show window icons in previews?</label> <label>Show window icons in previews?</label>
<default>true</default> <default>true</default>
</entry> </entry>
<entry name="Cycle" type="Bool">
<label>Cycle through desktops with wheel?</label>
<default>true</default>
</entry>
</group> </group>
</kcfg> </kcfg>

Loading…
Cancel
Save