[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/knewsticker
From: Frerich Raabe <raabe () kde ! org>
Date: 2007-11-01 0:33:49
Message-ID: 1193877229.811888.17532.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 731563 by raabe:
- Configurable scrolling speed; restrict the repainting interval to 25ms. If we
want a higher speed, the stepping width is increased ( so that e.g. it scrolls
two pixels per update instead of one).
M +17 -3 knewsticker.cpp
M +2 -0 knewsticker.h
M +4 -0 settings.kcfg
M +50 -3 visualsettings.ui
--- trunk/KDE/kdenetwork/knewsticker/knewsticker.cpp #731562:731563
@@ -124,7 +124,8 @@
KNewsTicker::KNewsTicker( QObject *parent, const QVariantList &args )
: Plasma::Applet( parent, args ),
- m_signalMapper( 0 )
+ m_signalMapper( 0 ),
+ m_steppingWidth( 1.0 )
{
setDrawStandardBackground( true );
@@ -140,7 +141,8 @@
m_scrollTimer = new QTimer( this );
connect( m_scrollTimer, SIGNAL( timeout() ),
this, SLOT( advance() ) );
- m_scrollTimer->start( 1000 / 25 );
+ configureScrollTimer();
+ m_scrollTimer->start();
m_updateTimer = new QTimer( this );
connect( m_updateTimer, SIGNAL( timeout() ),
@@ -327,7 +329,7 @@
}
foreach ( NewsTickerItem *item, m_graphicsItems ) {
- item->moveBy( -1, 0 );
+ item->moveBy( m_steppingWidth * -1, 0 );
}
}
@@ -388,6 +390,18 @@
}
m_scrollerItem->setRect( 0, 0, 512, QFontMetrics( Settings::font() ).height() * 2 );
m_updateTimer->setInterval( Settings::updateInterval() * 60 * 1000 );
+ configureScrollTimer();
}
+void KNewsTicker::configureScrollTimer()
+{
+ if ( Settings::scrollingSpeed() < 25 ) {
+ m_scrollTimer->setInterval( 25 );
+ m_steppingWidth = 25.0 / Settings::scrollingSpeed();
+ } else {
+ m_scrollTimer->setInterval( Settings::scrollingSpeed() );
+ m_steppingWidth = 1.0;
+ }
+}
+
#include "knewsticker.moc"
--- trunk/KDE/kdenetwork/knewsticker/knewsticker.h #731562:731563
@@ -108,6 +108,7 @@
void relayoutItems();
void addItemToLayout( const Item &item, qreal *xpos, qreal *ypos );
void reloadSettings();
+ void configureScrollTimer();
QTimer *m_scrollTimer;
QList<Item> m_items;
@@ -116,6 +117,7 @@
QSignalMapper *m_signalMapper;
QGraphicsRectItem *m_scrollerItem;
QSet<QUrl> m_readArticles;
+ qreal m_steppingWidth;
};
K_EXPORT_PLASMA_APPLET(knewsticker, KNewsTicker)
--- trunk/KDE/kdenetwork/knewsticker/settings.kcfg #731562:731563
@@ -16,6 +16,10 @@
<label>Whether news which have been read should be shown in the scroller again</label>
<default>true</default>
</entry>
+ <entry name="ScrollingSpeed" type="UInt" min="1" max="100">
+ <label>How fast the scrolling should be.</label>
+ <default>25</default>
+ </entry>
</group>
<group name="FeedLoading">
<entry name="FeedUrls" type="StringList">
--- trunk/KDE/kdenetwork/knewsticker/visualsettings.ui #731562:731563
@@ -17,7 +17,7 @@
</property>
</widget>
</item>
- <item row="0" column="1" >
+ <item row="0" column="1">
<widget class="KColorCombo" name="kcfg_Color" >
<item>
<property name="text" >
@@ -33,10 +33,57 @@
</property>
</widget>
</item>
- <item row="1" column="1" >
+ <item row="1" column="1">
<widget class="KFontRequester" name="kcfg_Font" />
</item>
- <item row="2" column="1" >
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_5" >
+ <property name="text" >
+ <string>Scrolling speed:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <layout class="QHBoxLayout" >
+ <item>
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Slow</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="kcfg_ScrollingSpeed" >
+ <property name="minimum" >
+ <number>1</number>
+ </property>
+ <property name="maximum" >
+ <number>100</number>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="invertedAppearance" >
+ <bool>true</bool>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval" >
+ <number>25</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Fast</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="1" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic