|
|
|
/***************************************************************************
|
|
|
|
copyright : (C) 2003-2007 by Robby Stephenson
|
|
|
|
email : robby@periapsis.org
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of version 2 of the GNU General Public License as *
|
|
|
|
* published by the Free Software Foundation; *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#include "entryitem.h"
|
|
|
|
#include "entry.h"
|
|
|
|
#include "gui/counteditem.h"
|
|
|
|
#include "collection.h"
|
|
|
|
#include "controller.h"
|
|
|
|
|
|
|
|
#include <kiconloader.h>
|
|
|
|
|
|
|
|
using Tellico::EntryItem;
|
|
|
|
|
|
|
|
EntryItem::EntryItem(GUI::ListView* parent, Data::EntryPtr entry)
|
|
|
|
: GUI::ListViewItem(parent), m_entry(entry), m_isDetailedList(true) {
|
|
|
|
}
|
|
|
|
|
|
|
|
EntryItem::EntryItem(GUI::CountedItem* parent_, Data::EntryPtr entry_)
|
|
|
|
: GUI::ListViewItem(parent_), m_entry(entry_), m_isDetailedList(false) {
|
|
|
|
setText(0, m_entry->title());
|
|
|
|
setPixmap(0, UserIcon(entry_->collection()->typeName()));
|
|
|
|
}
|
|
|
|
|
|
|
|
Tellico::Data::EntryPtr const EntryItem::entry() const {
|
|
|
|
return m_entry;
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString EntryItem::key(int col_, bool) const {
|
|
|
|
// first column is always title unless it's a detailed list
|
|
|
|
// detailed list takes care of things on its own
|
|
|
|
bool checkArticles = (!m_isDetailedList && col_ == 0);
|
|
|
|
// there's some sort of painting bug if the key is identical for multiple entries
|
|
|
|
// probably a null string in the group view. TODO
|
|
|
|
// don't add the entry id if it's a detailed view cause that messes up secondary sorting
|
|
|
|
TQString key = (checkArticles ? Data::Field::sortKeyTitle(text(col_)) : text(col_));
|
|
|
|
return (m_isDetailedList ? key : key + TQString::number(m_entry->id()));
|
|
|
|
}
|
|
|
|
|
|
|
|
void EntryItem::doubleClicked() {
|
|
|
|
Controller::self()->editEntry(m_entry);
|
|
|
|
}
|
|
|
|
|
|
|
|
Tellico::Data::EntryVec EntryItem::entries() const {
|
|
|
|
return Data::EntryVec(entry());
|
|
|
|
}
|