[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kexi/widget
From:       Adam Pigg <adam () piggz ! co ! uk>
Date:       2010-08-28 21:22:40
Message-ID: 20100828212240.49816AC857 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1169258 by piggz:

Implement updateItemName in the view and model, and implement dirtly state handling \
in the model items. CCMAIL:staniek@kde.org

 M  +12 -0     KexiProjectModel.cpp  
 M  +2 -0      KexiProjectModel.h  
 M  +10 -5     KexiProjectModelItem.cpp  
 M  +2 -0      KexiProjectModelItem.h  
 M  +1 -11     KexiProjectNavigator.cpp  


--- trunk/koffice/kexi/widget/KexiProjectModel.cpp #1169257:1169258
@@ -323,4 +323,16 @@
     return m_rootItem->modelItemFromName(name);
 }
 
+void KexiProjectModel::updateItemName(KexiPart::Item& item, bool dirty)
+{
+    kDebug();
+    KexiProjectModelItem *bitem = modelItemFromItem(item);
+    if (!bitem)
+        return;
 
+    QModelIndex idx = indexFromItem(bitem);
+    bitem->setDirty(dirty);
+    emit dataChanged(idx, idx);
+}
+
+
--- trunk/koffice/kexi/widget/KexiProjectModel.h #1169257:1169258
@@ -44,6 +44,8 @@
     virtual bool setData(const QModelIndex& index, const QVariant& value, int role = \
Qt::EditRole);  virtual Qt::ItemFlags flags(const QModelIndex& index) const;
 
+    void updateItemName(KexiPart::Item& item, bool dirty);
+
 public slots:
     void slotAddItem(KexiPart::Item& item);
     void slotRemoveItem(const KexiPart::Item &item);
--- trunk/koffice/kexi/widget/KexiProjectModelItem.cpp #1169257:1169258
@@ -28,20 +28,20 @@
 #include <kiconloader.h>
 
 KexiProjectModelItem::KexiProjectModelItem(const QString& n, KexiProjectModelItem \
                *p)
-    : m_parentItem(p), m_info(0), m_item(0)
+    : m_parentItem(p), m_info(0), m_item(0), m_dirty(false)
 {
     m_groupName = n;
 }
 
 KexiProjectModelItem::KexiProjectModelItem(KexiPart::Info &i, KexiProjectModelItem \
                *p)
-    : m_parentItem(p), m_info(&i), m_item(0)
+    : m_parentItem(p), m_info(&i), m_item(0), m_dirty(false)
 {
     m_icon = SmallIcon(i.itemIcon());
     m_fifoSorting = 1; //because this is top level item
 }
 
 KexiProjectModelItem::KexiProjectModelItem(KexiPart::Info &i, KexiPart::Item &item, \
                KexiProjectModelItem *p)
-    : m_parentItem(p), m_info(&i), m_item(&item)
+    : m_parentItem(p), m_info(&i), m_item(&item), m_dirty(false)
 {
     m_icon = SmallIcon(i.itemIcon());
 }
@@ -99,7 +99,7 @@
 {
     Q_UNUSED(column);
     if (m_item) {
-        return m_item->name();
+        return m_item->name() + (m_dirty ? "*" : "");
     } else if (m_info) {
         return m_info->groupName();
     } else   {
@@ -199,4 +199,9 @@
 bool itemLessThan(const KexiProjectModelItem *a, const KexiProjectModelItem *b)
 {
     return a->data(0).toString() < b->data(0).toString();
-}
\ No newline at end of file
+}
+
+void KexiProjectModelItem::setDirty(bool d)
+{
+    m_dirty = d;
+}
--- trunk/koffice/kexi/widget/KexiProjectModelItem.h #1169257:1169258
@@ -85,11 +85,13 @@
     KexiProjectModelItem* modelItemFromName(const QString& name) const;
 
     void sortChildren();
+    void setDirty(bool);
 
  private:
     QList<KexiProjectModelItem*> m_childItems;
     KexiProjectModelItem *m_parentItem;
     QPixmap m_icon;
+    bool m_dirty;
 
  protected:
     KexiPart::Info *m_info;
--- trunk/koffice/kexi/widget/KexiProjectNavigator.cpp #1169257:1169258
@@ -452,20 +452,10 @@
 
 void KexiProjectNavigator::updateItemName(KexiPart::Item& item, bool dirty)
 {
-#ifdef __GNUC__
-#warning implement KexiProjectNavigator::updateItemName()
-#else
-#pragma WARNING( implement KexiProjectNavigator::updateItemName() )
-#endif
-#if 0
     if (!(m_features & Writable))
         return;
-    KexiProjectModelItem *bitem = m_normalItems.value(item.identifier());
-    if (!bitem)
-        return;
-    bitem->setText(0, item.name() + (dirty ? "*" : ""));
 
-#endif
+    m_model->updateItemName(item, dirty);
 }
 
 void KexiProjectNavigator::slotSettingsChanged(int)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic