[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: Re: size of header columns
From: Carsten Burghardt <cb () magic-shop ! de>
Date: 2002-06-13 16:45:31
[Download RAW message or body]
On Thursday 13 June 2002 11:45, Magnus von Koeller wrote:
> On Thursday 13 June 2002 09:09, Carsten Burghardt wrote:
> > at the moment the column-headers of each folder are resized
> > individually. I'd like to change that so that it behaves the same
> > way as in knode. Any arguments against?
>
> No, I think that makes much more sense. And it would close a wish,
> too.
OK, see the attached patch. It uses the KListView restore/saveLayout methods,
so we also remember the order of the columns (so we could close two wishes
;-) ).
Pehaps it would also be good to add a popup-menu to the column-header to
switch the size-column (like in the foldertree).
--
Carsten Burghardt
email: cb@magic-shop.de
WWW: http://www.magic-shop.de
PGP: http://www.magic-shop.de/Carsten_Burghardt.asc
["patch_kmheaders.diff" (text/x-diff)]
Index: kdenetwork/kmail/kmheaders.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmheaders.cpp,v
retrieving revision 1.421
diff -u -3 -p -r1.421 kmheaders.cpp
--- kdenetwork/kmail/kmheaders.cpp 2002/06/06 19:46:41 1.421
+++ kdenetwork/kmail/kmheaders.cpp 2002/06/13 16:40:30
@@ -594,6 +594,7 @@ KMHeaders::~KMHeaders ()
writeSortOrder();
mFolder->close();
}
+ writeConfig();
}
@@ -717,6 +718,7 @@ void KMHeaders::readConfig (void)
mActionWhenCtrlDnD = KMMsgDnDActionCOPY;
}
+ restoreLayout(config, "Header-Geometry");
}
@@ -761,24 +763,6 @@ void KMHeaders::readFolderConfig (void)
KConfigGroupSaver saver(config, "Folder-" + mFolder->idString());
mNestedOverride = config->readBoolEntry( "threadMessagesOverride", false );
- setColumnWidth(mPaintInfo.subCol, config->readNumEntry("SubjectWidth", 310));
- setColumnWidth(mPaintInfo.senderCol, config->readNumEntry("SenderWidth", 170));
- setColumnWidth(mPaintInfo.dateCol, config->readNumEntry("DateWidth", 170));
- if (mPaintInfo.showSize) {
- int x = config->readNumEntry("SizeWidth", -1);
- if ( x > 10 ) // prevent ridiculously small column width
- setColumnWidth(mPaintInfo.sizeCol, x);
- else
- setColumnWidthMode(mPaintInfo.sizeCol, QListView::Maximum );
- }
-
-#ifdef SCORING
- if (mPaintInfo.showScore) {
- int x = config->readNumEntry("ScoreWidth", 50);
- setColumnWidth(mPaintInfo.scoreCol, x>0?x:10);
- }
-#endif
-
mSortCol = config->readNumEntry("SortColumn", (int)KMMsgList::sfDate);
mSortDescending = (mSortCol < 0);
mSortCol = abs(mSortCol) - 1;
@@ -808,17 +792,6 @@ void KMHeaders::writeFolderConfig (void)
assert(mFolder!=NULL);
KConfigGroupSaver saver(config, "Folder-" + mFolder->idString());
- config->writeEntry("SenderWidth", columnWidth(mPaintInfo.senderCol));
- config->writeEntry("SubjectWidth", columnWidth(mPaintInfo.subCol));
- config->writeEntry("DateWidth", columnWidth(mPaintInfo.dateCol));
- if (mPaintInfo.showSize)
- config->writeEntry("SizeWidth", columnWidth(mPaintInfo.sizeCol));
-
-#ifdef SCORING
- if (mPaintInfo.showScore)
- config->writeEntry("ScoreWidth", columnWidth(mPaintInfo.scoreCol));
-#endif
-
config->writeEntry("SortColumn", (mSortDescending ? -mSortColAdj : mSortColAdj));
config->writeEntry("Top", topItemIndex());
config->writeEntry("Current", currentItemIndex());
@@ -826,6 +799,11 @@ void KMHeaders::writeFolderConfig (void)
config->writeEntry("Status", mPaintInfo.status);
}
+//-----------------------------------------------------------------------------
+void KMHeaders::writeConfig (void)
+{
+ saveLayout(kapp->config(), "Header-Geometry");
+}
//-----------------------------------------------------------------------------
void KMHeaders::setFolder (KMFolder *aFolder, bool jumpToFirst)
@@ -955,20 +933,13 @@ void KMHeaders::setFolder (KMFolder *aFo
if (mFolder) {
- KConfig *config = kapp->config();
- KConfigGroupSaver saver(config, "Folder-" + mFolder->idString());
-
if (mPaintInfo.showSize) {
colText = i18n( "Size" );
if (showingSize) {
setColumnText( mPaintInfo.sizeCol, colText);
} else {
// add in the size field
- int x = config->readNumEntry("SizeWidth", -1);
- if ( x > 10 ) // prevent ridiculously small header width
- addColumn(colText, x);
- else
- addColumn(colText);
+ addColumn(colText);
setColumnAlignment( mPaintInfo.sizeCol, AlignRight );
#ifdef SCORING
@@ -979,7 +950,6 @@ void KMHeaders::setFolder (KMFolder *aFo
} else {
if (showingSize) {
// remove the size field
- config->writeEntry("SizeWidth", columnWidth(mPaintInfo.sizeCol));
removeColumn(mPaintInfo.sizeCol);
#ifdef SCORING
mPaintInfo.scoreCol--;
@@ -995,8 +965,7 @@ void KMHeaders::setFolder (KMFolder *aFo
if (showingScore) {
setColumnText( mPaintInfo.scoreCol, colText);
} else {
- int x = config->readNumEntry("ScoreWidth", 50);
- mPaintInfo.scoreCol = addColumn(colText, x>0?x:10);
+ mPaintInfo.scoreCol = addColumn(colText);
setColumnAlignment( mPaintInfo.scoreCol, AlignRight );
}
showingScore = true;
Index: kdenetwork/kmail/kmheaders.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmheaders.h,v
retrieving revision 1.105
diff -u -3 -p -r1.105 kmheaders.h
--- kdenetwork/kmail/kmheaders.h 2002/06/06 19:46:41 1.105
+++ kdenetwork/kmail/kmheaders.h 2002/06/13 16:40:31
@@ -281,6 +281,9 @@ protected:
/** Write per-folder config options. */
virtual void writeFolderConfig(void);
+ /** Write global config options. */
+ virtual void writeConfig(void);
+
/** Handle shift and control selection */
virtual void contentsMousePressEvent(QMouseEvent*);
virtual void contentsMouseReleaseEvent(QMouseEvent* e);
_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic