#include "conflictdialogcontainer.h"
ConflictDialogContainer::ConflictDialogContainer(QWidget *aParent)
- : TabContainer( aParent )
-{
-}
+ : TabContainer( aParent ), mEventId(-1), mConferenceId(-1)
+{}
-void ConflictDialogContainer::loadEvents( const QDate &aDate, const int aConferenceId )
-{
- Q_UNUSED(aDate);
- static_cast<EventModel*>(treeView->model())->loadConflictEvents( mEventId, aConferenceId );
+void ConflictDialogContainer::setEventId(int aEventId, int conferenceId) {
+ mEventId = aEventId;
+ mConferenceId = conferenceId;
+ loadEvents();
}
-void ConflictDialogContainer::updateTreeView(const QDate &aDate)
-{
- TabContainer::updateTreeView(aDate);
+
+void ConflictDialogContainer::loadEvents() {
+ static_cast<EventModel*>(treeView->model())->loadConflictEvents(mEventId, mConferenceId);
treeView->setAllExpanded(true);
}
+
+void ConflictDialogContainer::loadEvents(const QDate &aDate, const int aConferenceId) {
+ Q_UNUSED(aDate);
+ Q_ASSERT(aConferenceId == mConferenceId);
+ Q_ASSERT(mConferenceId > 0);
+ Q_ASSERT(mEventId > 0);
+ loadEvents();
+}
+
+
Q_OBJECT
public:
ConflictDialogContainer(QWidget *aParent);
- virtual ~ConflictDialogContainer(){}
+ virtual ~ConflictDialogContainer() {}
- void setEventId(int aEventId) { mEventId = aEventId; }
+public slots:
+ void setEventId(int aEventId, int conferenceId);
+ void loadEvents(); // update the conflicts
protected:
- virtual void loadEvents( const QDate &aDate, const int aConferenceId );
-
-protected slots:
- virtual void updateTreeView(const QDate &aDate);
+ virtual void loadEvents(const QDate &aDate, const int aConferenceId); // the date and conference are ignored
private:
int mEventId;
+ int mConferenceId;
};
#endif /* CONFLICTDIALOGCONTAINER_H */
*/
#include "conflictsdialog.h"
-ConflictsDialog::ConflictsDialog(int aEventId, QWidget *aParent)
+ConflictsDialog::ConflictsDialog(int aEventId, int aConferenceId, QWidget *aParent)
: QDialog(aParent)
{
setupUi(this);
- connect(container, SIGNAL(eventHasChanged(int,bool)), this, SIGNAL(eventHasChanged(int,bool)));
- connect(container, SIGNAL(eventHasChanged(int,bool)), container, SLOT(updateTreeViewModel(int,bool)));
+ connect(container, SIGNAL(eventChanged(int,bool)), this, SIGNAL(eventChanged(int,bool)));
+ connect(container, SIGNAL(eventChanged(int,bool)), container, SLOT(loadEvents()));
- container->setEventId(aEventId);
+ container->setEventId(aEventId, aConferenceId);
}
+
ConflictsDialog::~ConflictsDialog()
{
- disconnect(container, SIGNAL(eventHasChanged(int,bool)), this, SIGNAL(eventHasChanged(int,bool)));
+ disconnect(container, SIGNAL(eventChanged(int,bool)), this, SIGNAL(eventChanged(int,bool)));
}
{
Q_OBJECT
public:
- ConflictsDialog(int aEventId, QWidget *aParent = NULL);
+ ConflictsDialog(int aEventId, int aConferenceId, QWidget *aParent = NULL);
~ConflictsDialog();
signals:
- void eventHasChanged(int aEventId, bool aReloadModel = false);
+ void eventChanged(int aEventId, bool favouriteChanged);
};
#endif /* CONFLICTSDIALOG_H */
conflicts = Event::conflictEvents(event.id(),Conference::activeConference());
}
- // have to emit 'eventHasChanged' signal on all events in conflict
+ // have to emit 'eventChanged' signal on all events in conflict
for(int i=0; i<conflicts.count(); i++)
- emit(eventHasChanged(conflicts[i].id()));
+ emit eventChanged(conflicts[i].id(), false);
// since the Favourite icon has changed, update TreeViews accordingly
// all TreeViews have to listen on this signal
- emit(eventHasChanged(event.id(),true));
+ emit eventChanged(event.id(), true);
}
void EventDialog::alarmClicked()
event.update("alarm");
// since the Alarm icon has changed, update TreeView accordingly
// all TreeViews have to listen on this signal
- emit(eventHasChanged(event.id()));
+ emit eventChanged(event.id(), false);
}
void favouriteClicked();
void alarmClicked();
signals:
- void eventHasChanged(int aEventId, bool aReloadModel = false); // emited when user changes some event details, eg. sets it Favourite
+ void eventChanged(int aEventId, bool favouriteChanged); // emited when user changes some event details, eg. sets it Favourite
private:
int mEventId;
};
void TabContainer::displayConflicts(const QModelIndex &aIndex)
{
- ConflictsDialog dialog(static_cast<Event*>(aIndex.internalPointer())->id(),this);
+ Event* event = static_cast<Event*>(aIndex.internalPointer());
+ ConflictsDialog dialog(event->id(), event->conferenceId(), this);
#ifdef N810
dialog.setFixedWidth(static_cast<QWidget*>(parent())->width());
#endif