You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
53 lines
1.7 KiB
/*
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
*/
|
|
|
|
/*
|
|
Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
|
|
*/
|
|
|
|
#include "nicksonlineitem.h"
|
|
|
|
|
|
NicksOnlineItem::NicksOnlineItem(int type, TQListView* parent, const TQString& name, const TQString& col2) :
|
|
TDEListViewItem(parent, name, col2)
|
|
{
|
|
m_type=type;
|
|
}
|
|
|
|
NicksOnlineItem::NicksOnlineItem(int type, TQListViewItem* parent, const TQString& name, const TQString& col2) :
|
|
TDEListViewItem(parent, name, col2)
|
|
{
|
|
m_type=type;
|
|
}
|
|
|
|
/**
|
|
* Reimplemented to make sure, "Offline" items always get sorted to the bottom of the list
|
|
* @param i Pointer to the TQListViewItem to compare with.
|
|
* @param col The column to compare
|
|
* @param ascending Specify sorting direction
|
|
* @return -1 if this item's value is smaller than i, 0 if they are equal, 1 if it's greater
|
|
*/
|
|
int NicksOnlineItem::compare(TQListViewItem* i,int col,bool ascending) const
|
|
{
|
|
// if we are the Offline item, make sure we get sorted at the end of the list
|
|
if(m_type==OfflineItem) return ascending ? 1 : -1;
|
|
// if we are competing with an Offline item, always lose
|
|
if(static_cast<NicksOnlineItem*>(i)->type()==OfflineItem) return ascending ? -1 : 1;
|
|
|
|
// otherwise compare items case-insensitively
|
|
return key(col,ascending).lower().localeAwareCompare(i->key(col,ascending).lower());
|
|
}
|
|
|
|
/**
|
|
* Returns the type of the item.
|
|
* @return One of the enum NickListViewColumn
|
|
*/
|
|
int NicksOnlineItem::type() const
|
|
{
|
|
return m_type;
|
|
}
|