faf37227 | 2014-10-05 18:37:59 | Timothy Pearson |
Add configuration options to set Akregator read and unread text colors This resolves Bug 1696 |
||
M akregator/src/akregator.kcfg M akregator/src/akregator_part.cpp M akregator/src/akregator_view.cpp M akregator/src/articlelistview.cpp M akregator/src/configdialog.cpp M akregator/src/settings_appearance.ui M akregator/src/trayicon.cpp M akregator/src/treenodeitem.cpp |
||
diff --git a/akregator/src/akregator.kcfg b/akregator/src/akregator.kcfg index 4028387..d5ec789 100644 --- a/akregator/src/akregator.kcfg +++ b/akregator/src/akregator.kcfg @@ -40,6 +40,12 @@ <entry key="Fixed Font" type="String" /> <entry key="Serif Font" type="String" /> <entry key="Sans Serif Font" type="String" /> + <entry key="UnreadTextColor" type="Color"> + <default>0,0,255</default> + </entry> + <entry key="ReadTextColor" type="Color"> + <default>255,0,0</default> + </entry> </group> <group name="HTML Settings" > <entry key="Fonts" type="StringList" /> diff --git a/akregator/src/akregator_part.cpp b/akregator/src/akregator_part.cpp index b483765..d7ca0d4 100644 --- a/akregator/src/akregator_part.cpp +++ b/akregator/src/akregator_part.cpp @@ -108,6 +108,8 @@ class Part::ApplyFiltersInterceptor : public ArticleInterceptor { public: + virtual ~ApplyFiltersInterceptor() {} + virtual void processArticle(Article& article) { Filters::ArticleFilterList list = Kernel::self()->articleFilterList(); diff --git a/akregator/src/akregator_view.cpp b/akregator/src/akregator_view.cpp index fa86917..a65adf3 100644 --- a/akregator/src/akregator_view.cpp +++ b/akregator/src/akregator_view.cpp @@ -109,6 +109,7 @@ { public: EditNodePropertiesVisitor(View* view) : m_view(view) {} + virtual ~EditNodePropertiesVisitor() {} virtual bool visitTagNode(TagNode* node) { @@ -142,6 +143,7 @@ { public: DeleteNodeVisitor(View* view) : m_view(view) {} + virtual ~DeleteNodeVisitor() {} virtual bool visitTagNode(TagNode* node) { @@ -379,6 +381,13 @@ // if tagging is hidden, show only feed list m_listTabWidget->setViewMode(Settings::showTaggingGUI() ? ListTabWidget::verticalTabs : ListTabWidget::single); + // In case text colors changed, repaint to apply changes immediately + if (m_articleList->isShown()) { + m_articleList->repaintContents(); + } + if (m_feedListView->isShown()) { + m_feedListView->repaintContents(); + } } void View::slotOnShutdown() diff --git a/akregator/src/articlelistview.cpp b/akregator/src/articlelistview.cpp index 96a2a05..2324096 100644 --- a/akregator/src/articlelistview.cpp +++ b/akregator/src/articlelistview.cpp @@ -178,14 +178,13 @@ TDEListViewItem::paintCell( p, cg, column, width, align ); else { - // if article status is unread or new, we change the color: FIXME: make colors configurable TQColorGroup cg2(cg); - + if (article().status() == Article::Unread) - cg2.setColor(TQColorGroup::Text, TQt::blue); + cg2.setColor(TQColorGroup::Text, Settings::unreadTextColor()); else // New - cg2.setColor(TQColorGroup::Text, TQt::red); - + cg2.setColor(TQColorGroup::Text, Settings::readTextColor()); + TDEListViewItem::paintCell( p, cg2, column, width, align ); } diff --git a/akregator/src/configdialog.cpp b/akregator/src/configdialog.cpp index 5a280e1..cf6eae4 100644 --- a/akregator/src/configdialog.cpp +++ b/akregator/src/configdialog.cpp @@ -59,7 +59,7 @@ Settings::setArchiveBackend(m_settingsAdvanced->selectedFactory()); TDEConfigDialog::updateSettings(); } - + void ConfigDialog::updateWidgets() { m_settingsAdvanced->selectFactory(Settings::archiveBackend()); @@ -69,7 +69,7 @@ m_settingsAppearance->lbl_MediumFontSize->setDisabled(m_config->isImmutable("MediumFontSize")); TDEConfigDialog::updateWidgets(); } - + ConfigDialog::~ConfigDialog() {} } // namespace Akregator diff --git a/akregator/src/settings_appearance.ui b/akregator/src/settings_appearance.ui index 78a23de..08be6c4 100644 --- a/akregator/src/settings_appearance.ui +++ b/akregator/src/settings_appearance.ui @@ -177,6 +177,38 @@ <cstring>kcfg_SansSerifFont</cstring> </property> </widget> + <widget class="TQLabel" row="4" column="0" rowspan="1" colspan="1"> + <property name="name"> + <cstring>lbl_ReadTextColor</cstring> + </property> + <property name="text"> + <string>Read message color:</string> + </property> + </widget> + <widget class="KColorButton" row="4" column="1"> + <property name="name"> + <cstring>kcfg_ReadTextColor</cstring> + </property> + <property name="defaultColor"> + <number>TQt::red</number> + </property> + </widget> + <widget class="TQLabel" row="5" column="0" rowspan="1" colspan="1"> + <property name="name"> + <cstring>lbl_UnreadTextColor</cstring> + </property> + <property name="text"> + <string>Unread message color:</string> + </property> + </widget> + <widget class="KColorButton" row="5" column="1"> + <property name="name"> + <cstring>kcfg_UnreadTextColor</cstring> + </property> + <property name="defaultColor"> + <number>TQt::blue</number> + </property> + </widget> </grid> </widget> <widget class="TQCheckBox"> diff --git a/akregator/src/trayicon.cpp b/akregator/src/trayicon.cpp index 240e2d5..9cab8b3 100644 --- a/akregator/src/trayicon.cpp +++ b/akregator/src/trayicon.cpp @@ -182,7 +182,7 @@ pix.fill(TQt::white); TQPainter p(&pix); p.setFont(f); - p.setPen(TQt::blue); + p.setPen(Settings::unreadTextColor()); p.drawText(pix.rect(), TQt::AlignCenter, uStr); pix.setMask(pix.createHeuristicMask()); @@ -206,10 +206,13 @@ void TrayIcon::settingsChanged() { - if ( Settings::showTrayIcon() ) + if ( Settings::showTrayIcon() ) { show(); - else + setUnread(m_unread, true); + } + else { hide(); + } } } #include "trayicon.moc" diff --git a/akregator/src/treenodeitem.cpp b/akregator/src/treenodeitem.cpp index 4e60ea9..eaf52cd 100644 --- a/akregator/src/treenodeitem.cpp +++ b/akregator/src/treenodeitem.cpp @@ -22,6 +22,8 @@ without including the source code for TQt in the source distribution. */ +#include "akregatorconfig.h" + #include "treenode.h" #include "treenodeitem.h" #include "folderitem.h" @@ -151,7 +153,7 @@ p->drawText( x, 0, width-m-x, height(), align | AlignVCenter, oldText, -1, &br ); if ( !isSelected() ) - p->setPen( TQt::blue ); // TODO: configurable + p->setPen( Settings::unreadTextColor() ); p->drawText( br.right(), 0, width-m-br.right(), height(), align | AlignVCenter, txt ); |