Update GPL blurb in source files.
[toast/confclerk.git] / src / mvc / delegate.cpp
index f0ed965..54ab046 100644 (file)
@@ -1,20 +1,20 @@
 /*
  * Copyright (C) 2010 Ixonos Plc.
  *
- * This file is part of fosdem-schedule.
+ * This file is part of ConfClerk.
  *
- * fosdem-schedule is free software: you can redistribute it and/or modify it
+ * ConfClerk 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.
  *
- * fosdem-schedule is distributed in the hope that it will be useful, but
+ * ConfClerk is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  * more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
+ * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include "delegate.h"
 #include "eventmodel.h"
@@ -135,6 +135,9 @@ void Delegate::paint(QPainter *painter, const QStyleOptionViewItem &option, cons
         }
 
         // draw Controls
+        foreach(Control* c, mControls.values()) {
+            c->setEnabled(false);
+        }
         if(event->isFavourite())
             mControls[FavouriteControlOn]->paint(painter, option.rect);
         else
@@ -322,15 +325,11 @@ Delegate::ControlId Delegate::whichControlClicked(const QModelIndex &aIndex, con
     while (i.hasNext())
     {
         ControlId id = i.next();
-        if(mControls[id]->drawRect(static_cast<QTreeView*>(parent())->visualRect(aIndex)).contains(aPoint))
+        Control *control = mControls[id];
+        if (control->enabled()
+            and control->drawRect(static_cast<QTreeView*>(parent())->visualRect(aIndex)).contains(aPoint))
         {
-            if(id == WarningControl)
-            {
-                if(static_cast<Event*>(aIndex.internalPointer())->hasTimeConflict())
-                    return id;
-            }
-            else
-                return id;
+            return id;
         }
     }
 
@@ -341,6 +340,7 @@ Delegate::Control::Control(ControlId aControlId, const QString &aImageName, cons
     : mId(aControlId)
     , mImage(new QImage(aImageName))
     , mDrawPoint(QPoint(0,0))
+    , mEnabled(false)
 {
     QPoint p;
     if (prev_control == NULL) {
@@ -355,6 +355,7 @@ Delegate::Control::Control(ControlId aControlId, const QString &aImageName, cons
 void Delegate::Control::paint(QPainter* painter, const QRect rect)
 {
     painter->drawImage(drawPoint(rect),*image());
+    setEnabled(true);
 }
 
 void Delegate::defineControls()