Extended NetworkInfo again to prepare for even more sophisticated encoding stuff.
[quassel.git] / src / client / networkmodel.cpp
index 74598fa..0060447 100644 (file)
@@ -39,16 +39,8 @@ BufferItem::BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent)
     _bufferInfo(bufferInfo),
     _activity(NoActivity)
 {
     _bufferInfo(bufferInfo),
     _activity(NoActivity)
 {
-  // determine BufferType
-  if(bufferInfo.bufferName().isEmpty())
-    _type = StatusType;
-  else if(isChannelName(bufferInfo.bufferName()))
-    _type = ChannelType;
-  else
-    _type = QueryType;
-
   Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
   Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
-  if(bufferType() == QueryType)
+  if(bufferType() == BufferInfo::QueryBuffer)
     flags |= Qt::ItemIsDropEnabled;
   setFlags(flags);
 
     flags |= Qt::ItemIsDropEnabled;
   setFlags(flags);
 
@@ -64,15 +56,15 @@ quint64 BufferItem::id() const {
 }
 
 bool BufferItem::isStatusBuffer() const {
 }
 
 bool BufferItem::isStatusBuffer() const {
-   return bufferType() == StatusType;
+  return bufferType() == BufferInfo::StatusBuffer;
 }
 
 }
 
-BufferItem::Type BufferItem::bufferType() const {
-  return _type;
+BufferInfo::Type BufferItem::bufferType() const {
+  return bufferInfo().type();
 }
 
 bool BufferItem::isActive() const {
 }
 
 bool BufferItem::isActive() const {
-  if(bufferType() == ChannelType)
+  if(bufferType() == BufferInfo::ChannelBuffer)
     return _ircChannel;
   else
     return qobject_cast<NetworkItem *>(parent())->isActive();
     return _ircChannel;
   else
     return qobject_cast<NetworkItem *>(parent())->isActive();
@@ -166,7 +158,7 @@ void BufferItem::ircChannelDestroyed() {
 }
 
 QString BufferItem::bufferName() const {
 }
 
 QString BufferItem::bufferName() const {
-  if(bufferType() == StatusType)
+  if(bufferType() == BufferInfo::StatusBuffer)
     return tr("Status Buffer");
   else
     return bufferInfo().bufferName();
     return tr("Status Buffer");
   else
     return bufferInfo().bufferName();
@@ -409,6 +401,9 @@ void NetworkItem::setCurrentServer(const QString &serverName) {
 *****************************************/
 // we hardcode this even though we have PREFIX in network... but that wouldn't help with mapping modes to
 // category strings anyway.
 *****************************************/
 // we hardcode this even though we have PREFIX in network... but that wouldn't help with mapping modes to
 // category strings anyway.
+// TODO make this translateable depending on the number of users in a category
+//      -> we can't set the real string here, because tr() needs to get the actual number as second param
+//      -> tr("%n User(s)", n) needs to be used somewhere where we do know the user number n
 const QList<UserCategoryItem::Category> UserCategoryItem::categories = QList<UserCategoryItem::Category>()
   << UserCategoryItem::Category('q', tr("Owners"))
   << UserCategoryItem::Category('a', tr("Admins"))
 const QList<UserCategoryItem::Category> UserCategoryItem::categories = QList<UserCategoryItem::Category>()
   << UserCategoryItem::Category('q', tr("Owners"))
   << UserCategoryItem::Category('a', tr("Admins"))
@@ -705,8 +700,8 @@ bool NetworkModel::dropMimeData(const QMimeData *data, Qt::DropAction action, in
     return false;
 
   // target must be a query
     return false;
 
   // target must be a query
-  BufferItem::Type targetType = (BufferItem::Type)parent.data(NetworkModel::BufferTypeRole).toInt();
-  if(targetType != BufferItem::QueryType)
+  BufferInfo::Type targetType = (BufferInfo::Type)parent.data(NetworkModel::BufferTypeRole).toInt();
+  if(targetType != BufferInfo::QueryBuffer)
     return false;
 
   QList< QPair<NetworkId, BufferId> > bufferList = mimeDataToBufferList(data);
     return false;
 
   QList< QPair<NetworkId, BufferId> > bufferList = mimeDataToBufferList(data);
@@ -726,8 +721,8 @@ bool NetworkModel::dropMimeData(const QMimeData *data, Qt::DropAction action, in
   Q_ASSERT(rootItem->childById(qHash(netId))->childById(qHash(bufferId)));
 
   // source must be a query too
   Q_ASSERT(rootItem->childById(qHash(netId))->childById(qHash(bufferId)));
 
   // source must be a query too
-  BufferItem::Type sourceType = (BufferItem::Type)rootItem->childById(qHash(netId))->childById(qHash(bufferId))->data(0, BufferTypeRole).toInt();
-  if(sourceType != BufferItem::QueryType)
+  BufferInfo::Type sourceType = (BufferInfo::Type)rootItem->childById(qHash(netId))->childById(qHash(bufferId))->data(0, BufferTypeRole).toInt();
+  if(sourceType != BufferInfo::QueryBuffer)
     return false;
     
   // TODO: warn user about buffermerge!
     return false;
     
   // TODO: warn user about buffermerge!