rem: sortOrder |= (1 << 7);
add: sortOrder |= (1 << 6);
context:   virtual QString key( int column, bool /*ascending*/ ) const  {    KMHeaders *headers = static_cast<KMHeaders*>(listView());    int sortOrder = column |= (1 << 5);    if (headers->mPaintInfo.orderOfArrival)      sortOrder |= (1 << 7);    if (headers->mPaintInfo.status)      sortOrder |= (1 << 6);    //This code should stay pretty much like this, if you are adding new    //columns put them in generate_key    if(mKey.isEmpty() || mKey[0] != (char)sortOrder) {      KMHeaders *headers = static_cast<KMHeaders*>(listView());      return ((KMHeaderItem *)this)->mKey =	generate_key(mMsgId, headers->folder()->getMsgBase( mMsgId ),		     headers->paintInfo(), sortOrder);    }	    return mKey;  }