Hello community,
here is the log from the commit of package kdepim4 for openSUSE:Factory
checked in at Thu Aug 11 15:56:55 CEST 2011.
--------
--- KDE/kdepim4/kdepim4.changes 2011-04-21 22:20:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepim4/kdepim4.changes 2011-08-09 15:09:58.000000000 +0200
@@ -1,0 +2,51 @@
+Tue Aug 9 13:09:15 UTC 2011 - idonmez@novell.com
+
+- kmail & korganizer are licensed under GPLv2 only because they
+ link to GPLv2 only libraries, bnc #710584
+
+-------------------------------------------------------------------
+Fri Aug 5 21:10:16 UTC 2011 - idonmez@novell.com
+
+- Drop kalarm-disable-rtcwake.patch, we are now whitelisted
+
+-------------------------------------------------------------------
+Thu Aug 4 09:58:50 UTC 2011 - idonmez@novell.com
+
+- Add kalarm-disable-rtcwake.patch to disable kalarm rtcwake support
+ until bnc #707723 is resolved
+
+-------------------------------------------------------------------
+Thu Aug 4 08:53:59 UTC 2011 - idonmez@novell.com
+
+- Add kdepim4-4.7-branch.patch, sync with 4.7 branch
+ * Memory leak fixes
+ * Crash fixes
+- Drop fix-progressmanager.diff, already in branch update
+
+-------------------------------------------------------------------
+Wed Jul 27 12:47:49 UTC 2011 - cgiboudeaux@gmx.com
+
+- Update fix-progressmanager.diff. Add commit db0f6aba which is also needed
+
+-------------------------------------------------------------------
+Mon Jul 25 10:16:10 UTC 2011 - cgiboudeaux@gmx.com
+
+- Add fix-progressmanager.diff
+Fixes kde#278112, kde#278235
+(will be part of kdepim 4.7.1)
+
+
+-------------------------------------------------------------------
+Fri Jul 22 20:20:31 CEST 2011 - dmueller@suse.de
+
+- update to 4.7.0
+ * Small fixes over KDE 4.7 RC2
+ * see http://kde.org/announcements/4.7 for details
+
+
+-------------------------------------------------------------------
+Thu Jul 21 12:57:29 UTC 2011 - idonmez@novell.com
+
+- Update to 4.6.95
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
4_4_BRANCH.diff
assuan2.diff
kdepim-4.4.11.1.tar.bz2
ktimetracker_bnc651155.diff
New:
----
kdepim-4.7.0.tar.bz2
kdepim4-4.7-branch.patch
make-kmail-faster.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim4.spec ++++++
++++ 702 lines (skipped)
++++ between KDE/kdepim4/kdepim4.spec
++++ and /mounts/work_src_done/STABLE/kdepim4/kdepim4.spec
++++++ akregator-useragent.diff ++++++
--- /var/tmp/diff_new_pack.Q75Iy9/_old 2011-08-11 15:56:27.000000000 +0200
+++ /var/tmp/diff_new_pack.Q75Iy9/_new 2011-08-11 15:56:27.000000000 +0200
@@ -1,13 +1,11 @@
-Index: akregator/src/akregator_part.cpp
-===================================================================
---- akregator/src/akregator_part.cpp.orig
+--- akregator/src/akregator_part.cpp
+++ akregator/src/akregator_part.cpp
-@@ -182,7 +182,7 @@ Part::Part( QWidget *parentWidget, QObje
+@@ -264,7 +264,7 @@ Part::Part( QWidget *parentWidget, QObje
connect(m_autosaveTimer, SIGNAL(timeout()), this, SLOT(slotSaveFeedList()));
m_autosaveTimer->start(5*60*1000); // 5 minutes
-- QString useragent = QString( "Akregator/%1; syndication" ).arg( AKREGATOR_VERSION );
-+ QString useragent = QString( "Akregator/%1; syndication SUSE" ).arg( AKREGATOR_VERSION );
+- QString useragent = QString( "Akregator/%1; syndication" ).arg( KDEPIM_VERSION );
++ QString useragent = QString( "Akregator/%1; syndication SUSE" ).arg( KDEPIM_VERSION );
if( !Settings::customUserAgent().isEmpty() )
useragent = Settings::customUserAgent();
++++++ desktop-files.diff ++++++
--- /var/tmp/diff_new_pack.Q75Iy9/_old 2011-08-11 15:56:27.000000000 +0200
+++ /var/tmp/diff_new_pack.Q75Iy9/_new 2011-08-11 15:56:27.000000000 +0200
@@ -1,22 +1,28 @@
---- akonadiconsole/akonadiconsole.desktop.sav 2009-12-14 11:54:45.000000000 +0100
-+++ akonadiconsole/akonadiconsole.desktop 2009-12-19 21:23:12.000000000 +0100
-@@ -77,4 +77,5 @@ Comment[x-test]=xxAkonadi Management and
+Index: akonadiconsole/akonadiconsole.desktop
+===================================================================
+--- akonadiconsole/akonadiconsole.desktop.orig
++++ akonadiconsole/akonadiconsole.desktop
+@@ -90,4 +90,5 @@ Comment[x-test]=xxAkonadi Management and
Comment[zh_CN]=用于管理和调试 Akonadi 的控制台
Comment[zh_TW]=Akonadi 管理與除錯主控台
Terminal=false
-Categories=Qt;KDE;Development;
+Categories=Qt;KDE;Development;Debugger;X-KDE-Utilities-PIM;
+Hidden=true
---- ktimetracker/support/ktimetracker.desktop.sav 2009-12-11 00:14:26.000000000 +0100
-+++ ktimetracker/support/ktimetracker.desktop 2009-12-19 21:10:07.000000000 +0100
-@@ -104,4 +104,4 @@ Type=Application
+Index: ktimetracker/support/ktimetracker.desktop
+===================================================================
+--- ktimetracker/support/ktimetracker.desktop.orig
++++ ktimetracker/support/ktimetracker.desktop
+@@ -111,4 +111,4 @@ Type=Application
Terminal=false
X-KDE-StartupNotify=true
X-DBUS-StartupType=Multi
-Categories=Qt;KDE;Utility;Office;Monitor;X-KDE-Utilities-PIM;
+Categories=Qt;KDE;Utility;X-KDE-Utilities-PIM;
---- kleopatra/kleopatra.desktop.sav 2009-12-14 11:54:41.000000000 +0100
-+++ kleopatra/kleopatra.desktop 2009-12-19 21:10:07.000000000 +0100
+Index: kleopatra/kleopatra.desktop
+===================================================================
+--- kleopatra/kleopatra.desktop.orig
++++ kleopatra/kleopatra.desktop
@@ -1,8 +1,7 @@
[Desktop Entry]
Type=Application
++++++ kdepim-4.4.11.1.tar.bz2 -> kdepim-4.7.0.tar.bz2 ++++++
KDE/kdepim4/kdepim-4.4.11.1.tar.bz2 /mounts/work_src_done/STABLE/kdepim4/kdepim-4.7.0.tar.bz2 differ: char 11, line 1
++++++ kdepim4-4.7-branch.patch ++++++
++++ 7718 lines (skipped)
++++++ make-kmail-faster.patch ++++++
diff --git a/messagelist/core/themedelegate.cpp b/messagelist/core/themedelegate.cpp
--- a/messagelist/core/themedelegate.cpp
+++ b/messagelist/core/themedelegate.cpp
@@ -51,8 +51,11 @@ ThemeDelegate::ThemeDelegate( QAbstractItemView * parent )
{
mItemView = parent;
mTheme = 0;
+ connect( KGlobalSettings::self(), SIGNAL( kdisplayFontChanged() ), this, SLOT( slotGeneralFontChanged() ) );
}
+QString ThemeDelegate::mGeneralFontKey = KGlobalSettings::generalFont().key();
+
ThemeDelegate::~ThemeDelegate()
{
}
@@ -87,6 +90,7 @@ void ThemeDelegate::setTheme( const Theme * theme )
break;
}
mItemView->reset();
+
}
// FIXME: gcc will refuse to inline these functions loudly complaining
@@ -118,6 +122,18 @@ static int cachedFontHeight( const QFont &font )
return fontHeightCache[ fontKey ];
}
+static int cachedFontHeightKey( const QFont &font, const QString &fontKey )
+{
+ static QHash fontHeightCache;
+
+ if ( !fontHeightCache.contains( fontKey ) ) {
+ fontHeightCache.insert( fontKey, cachedFontMetrics( font ).height() );
+ }
+
+ return fontHeightCache[ fontKey ];
+}
+
+
static inline void paint_right_aligned_elided_text( const QString &text, Theme::ContentItem * ci, QPainter * painter, int &left, int top, int &right, Qt::LayoutDirection layoutDir, const QFont &font )
{
painter->setFont( font );
@@ -501,7 +517,8 @@ static inline void compute_size_hint_for_item( Theme::ContentItem * ci,
if ( ci->displaysText() )
{
const QFont font = ThemeDelegate::itemFont( ci, item );
- const int fontHeight = cachedFontHeight( font );
+ const QString fontKey = ThemeDelegate::itemFontKey( ci, item );
+ const int fontHeight = cachedFontHeightKey( font, fontKey );
if ( fontHeight > maxh )
maxh = fontHeight;
totalw += ci->displaysLongText() ? 128 : 64;
@@ -1670,3 +1687,20 @@ QFont ThemeDelegate::itemFont( const Theme::ContentItem *ci, const Item *item )
return KGlobalSettings::generalFont();
}
+QString ThemeDelegate::itemFontKey( const Theme::ContentItem *ci, const Item *item )
+{
+ if ( ci && ci->useCustomFont() )
+ return ci->fontKey();
+
+ if ( item && ( item->type() == Item::Message ) )
+ return static_cast< const MessageItem * >( item )->fontKey();
+
+ return mGeneralFontKey;
+}
+
+// Store the new fontKey when the generalFont changes.
+void ThemeDelegate::slotGeneralFontChanged()
+{
+ ThemeDelegate::mGeneralFontKey = KGlobalSettings::generalFont().key();
+}
+
diff --git a/messagelist/core/themedelegate.h b/messagelist/core/themedelegate.h
--- a/messagelist/core/themedelegate.h
+++ b/messagelist/core/themedelegate.h
@@ -44,6 +44,8 @@ class Item;
*/
class ThemeDelegate : public QStyledItemDelegate
{
+ Q_OBJECT
+
public:
ThemeDelegate( QAbstractItemView * parent );
~ThemeDelegate();
@@ -51,6 +53,7 @@ public:
private:
const Theme * mTheme; ///< Shallow pointer to the current theme
QAbstractItemView * mItemView;
+ static QString mGeneralFontKey;
QColor mGroupHeaderBackgroundColor; // cache
@@ -194,6 +197,9 @@ public:
/// return the font to paint given item with, checking global kmail settings and theme settings
static QFont itemFont( const Theme::ContentItem *ci, const Item *item );
+ /// return the font key to paint given item with, checking global kmail settings and theme settings
+ static QString itemFontKey( const Theme::ContentItem *ci, const Item *item );
+
protected:
/**
* Returns the Item for the specified model index. Pure virtual: must be reimplemented
@@ -211,6 +217,11 @@ protected:
*/
QSize sizeHint( const QStyleOptionViewItem & option, const QModelIndex & index ) const;
+private slots:
+ /**
+ * Called when the global fonts change (from systemsettings)
+ */
+ void slotGeneralFontChanged();
};
} // namespace Core
diff --git a/messagelist/core/theme.cpp b/messagelist/core/theme.cpp
--- a/messagelist/core/theme.cpp
+++ b/messagelist/core/theme.cpp
@@ -167,6 +167,7 @@ bool Theme::ContentItem::applicableToGroupHeaderItems( Type type )
void Theme::ContentItem::setFont( const QFont &font )
{
mFont = font;
+ mFontKey = font.key();
}
void Theme::ContentItem::save( QDataStream &stream ) const
diff --git a/messagelist/core/theme.h b/messagelist/core/theme.h
--- a/messagelist/core/theme.h
+++ b/messagelist/core/theme.h
@@ -242,6 +242,7 @@ public:
unsigned int mFlags; ///< The flags of the item
QFont mFont; ///< The font to use with this content item, meaningful only if displaysText() returns true.
+ QString mFontKey; ///< The font key to speedup theme positioning. QFont.key() is called too many times otherwise.
QColor mCustomColor; ///< The color to use with this content item, meaningful only if canUseCustomColor() return true.
public:
@@ -420,6 +421,16 @@ public:
{ return mFont; };
/**
+ * Returns the font key used by this item. It may be a custom font key set by setFont()
+ * or the default application font (returned by KGlobalSettings::generalFont()).
+ * This setting is valid as long as you have called updateFontMetrics()
+ * with the appropriate paint device.
+ * It is primary used to avoid to calculate the key every time an item is displayed.
+ */
+ const QString & fontKey() const
+ { return mFontKey; };
+
+ /**
* Returns the custom color set for this item.
* The return value is meaningful only if canUseCustomColor() returns true
* returns true and setUseCustomColor( true ) has been called.
diff --git a/messagelist/core/messageitem_p.h b/messagelist/core/messageitem_p.h
--- a/messagelist/core/messageitem_p.h
+++ b/messagelist/core/messageitem_p.h
@@ -80,6 +80,11 @@ public:
static QFont mFontUnreadMessage;
static QFont mFontImportantMessage;
static QFont mFontToDoMessage;
+ static QString mFontKey;
+ static QString mFontNewMessageKey;
+ static QString mFontUnreadMessageKey;
+ static QString mFontImportantMessageKey;
+ static QString mFontToDoMessageKey;
private:
diff --git a/messagelist/core/messageitem.h b/messagelist/core/messageitem.h
--- a/messagelist/core/messageitem.h
+++ b/messagelist/core/messageitem.h
@@ -134,6 +134,8 @@ public:
QFont font() const;
+ QString fontKey() const;
+
SignatureState signatureState() const;
void setSignatureState( SignatureState state );
diff --git a/messagelist/core/messageitem.cpp b/messagelist/core/messageitem.cpp
--- a/messagelist/core/messageitem.cpp
+++ b/messagelist/core/messageitem.cpp
@@ -44,6 +44,7 @@ public:
QColor mTextColor;
QColor mBackgroundColor;
QFont mFont;
+ QString mFontKey;
int mPriority;
};
@@ -125,6 +126,11 @@ QFont MessageItemPrivate::mFontNewMessage;
QFont MessageItemPrivate::mFontUnreadMessage;
QFont MessageItemPrivate::mFontImportantMessage;
QFont MessageItemPrivate::mFontToDoMessage;
+QString MessageItemPrivate::mFontKey;
+QString MessageItemPrivate::mFontNewMessageKey;
+QString MessageItemPrivate::mFontUnreadMessageKey;
+QString MessageItemPrivate::mFontImportantMessageKey;
+QString MessageItemPrivate::mFontToDoMessageKey;
MessageItemPrivate::MessageItemPrivate( MessageItem* qq )
: ItemPrivate( qq ),
@@ -405,6 +411,35 @@ QFont MessageItem::font() const
return font;
}
+QString MessageItem::fontKey() const
+{
+ Q_D( const MessageItem );
+
+ // for performance reasons we don't want font retrieval to trigger
+ // full tags loading, as the font is used for geometry calculation
+ // and thus this method called for each item
+ if ( d->tagListInitialized() ) {
+ const Tag *bestTag = d->bestTag();
+ if ( bestTag != 0 && bestTag->font() != QFont() ) {
+ return bestTag->font().key();
+ }
+ }
+
+ // from KDE3: "important" overrides "new" overrides "unread" overrides "todo"
+ Akonadi::MessageStatus messageStatus = status();
+ if ( messageStatus.isImportant() ) {
+ return d->mFontImportantMessageKey;
+ } else if ( !messageStatus.isRead() ) {
+ return d->mFontUnreadMessageKey;
+ } else if ( messageStatus.isToAct() ) {
+ return d->mFontToDoMessageKey;
+ } else {
+ return d->mFontKey;
+ }
+
+}
+
+
MessageItem::SignatureState MessageItem::signatureState() const
{
Q_D( const MessageItem );
@@ -580,26 +615,31 @@ void MessageItem::setToDoMessageColor( const QColor &color )
void MessageItem::setGeneralFont( const QFont &font )
{
MessageItemPrivate::mFont = font;
+ MessageItemPrivate::mFontKey = font.key();
}
void MessageItem::setNewMessageFont( const QFont &font )
{
MessageItemPrivate::mFontNewMessage = font;
+ MessageItemPrivate::mFontNewMessageKey = font.key();
}
void MessageItem::setUnreadMessageFont( const QFont &font )
{
MessageItemPrivate::mFontUnreadMessage = font;
+ MessageItemPrivate::mFontUnreadMessageKey = font.key();
}
void MessageItem::setImportantMessageFont( const QFont &font )
{
MessageItemPrivate::mFontImportantMessage = font;
+ MessageItemPrivate::mFontImportantMessageKey = font.key();
}
void MessageItem::setToDoMessageFont( const QFont &font )
{
MessageItemPrivate::mFontToDoMessage = font;
+ MessageItemPrivate::mFontToDoMessageKey = font.key();
}
FakeItemPrivate::FakeItemPrivate( FakeItem *qq ) : MessageItemPrivate( qq )
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org