Summary: | remove "score" column if no score rules are set | ||
---|---|---|---|
Product: | knode | Reporter: | Gioele Barabucci <dev> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | 0.7.6 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Gioele Barabucci
2004-02-20 14:43:41 UTC
CVS commit by vkrause: Don't show score column in local folders, it's always empty there. CCBUG: 75715 M +23 -1 headerview.cpp 1.4 M +2 -0 headerview.h 1.3 M +6 -8 knarticlemanager.cpp 1.91 M +5 -0 knarticlemanager.h 1.42 --- kdepim/knode/headerview.cpp #1.3:1.4 @@ -28,4 +28,5 @@ #include "kngroupmanager.h" #include "knarticle.h" +#include "knarticlemanager.h" #include "knmainwidget.h" @@ -60,4 +61,6 @@ KNHeaderView::KNHeaderView(QWidget *pare setSorting( mPaintInfo.dateCol ); header()->setMovingEnabled( true ); + setColumnAlignment( mPaintInfo.sizeCol, Qt::AlignRight ); + setColumnAlignment( mPaintInfo.scoreCol, Qt::AlignRight ); // due to our own column text squeezing we need to repaint on column resizing @@ -75,4 +78,8 @@ KNHeaderView::KNHeaderView(QWidget *pare connect( mPopup, SIGNAL(activated(int)), this, SLOT(toggleColumn(int)) ); + // connect to the article manager + connect( knGlobals.articleManager(), SIGNAL(aboutToShowGroup()), SLOT(prepareForGroup()) ); + connect( knGlobals.articleManager(), SIGNAL(aboutToShowFolder()), SLOT(prepareForFolder()) ); + installEventFilter(this); } @@ -419,9 +426,24 @@ void KNHeaderView::toggleColumn( int col } - if ( mode == -1 ) + if ( mode == -1 ) // save config when toggled writeConfig(); } +void KNHeaderView::prepareForGroup() +{ + header()->setLabel( mPaintInfo.senderCol, i18n("From") ); + KNConfig::ReadNewsGeneral *rngConf = knGlobals.configManager()->readNewsGeneral(); + toggleColumn( KPaintInfo::COL_SCORE, rngConf->showScore() ); +} + + +void KNHeaderView::prepareForFolder() +{ + header()->setLabel( mPaintInfo.senderCol, i18n("Newsgroups / To") ); + toggleColumn( KPaintInfo::COL_SCORE, false ); // local folders have no score +} + + bool KNHeaderView::event( QEvent *e ) { --- kdepim/knode/headerview.h #1.2:1.3 @@ -64,4 +64,6 @@ class KNHeaderView : public KListView { void toggleColumn( int column, int mode = -1 ); + void prepareForGroup(); + void prepareForFolder(); protected: --- kdepim/knode/knarticlemanager.cpp #1.90:1.91 @@ -396,9 +396,7 @@ void KNArticleManager::search() void KNArticleManager::setGroup(KNGroup *g) { - g_roup=g; - - if(g) { - v_iew->header()->setLabel(1, i18n("From")); - } + g_roup = g; + if ( g ) + emit aboutToShowGroup(); } @@ -406,7 +404,7 @@ void KNArticleManager::setGroup(KNGroup void KNArticleManager::setFolder(KNFolder *f) { - f_older=f; - if(f) - v_iew->header()->setLabel(1, i18n("Newsgroups/To")); + f_older = f; + if ( f ) + emit aboutToShowFolder(); } --- kdepim/knode/knarticlemanager.h #1.41:1.42 @@ -95,4 +95,9 @@ class KNArticleManager : public QObject, void setView(KNHeaderView* v); + signals: + // signals for the header view to adapt to the upcoming content + void aboutToShowGroup(); + void aboutToShowFolder(); + protected: void processJob(KNJobData *j); KNode 0.9.0 (KDE 3.4.0) gives to the user the ability to hide the "score" column. Does it also auto hide that column if it finds that there is no score rules are set? Hello! Sorry to be the bearer of bad news, but this project has been unmaintained for many years so I am closing this bug. |