From: Philipp Spitzer Date: Mon, 17 Oct 2011 19:04:20 +0000 (+0000) Subject: The conflict editor works again. X-Git-Tag: 0.5.5~43 X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/commitdiff_plain/c81f30a36004277e8f521ff6877662b59695c5d3 The conflict editor works again. --- diff --git a/src/gui/conflictdialogcontainer.cpp b/src/gui/conflictdialogcontainer.cpp index 2149c6b..c04bc3e 100644 --- a/src/gui/conflictdialogcontainer.cpp +++ b/src/gui/conflictdialogcontainer.cpp @@ -21,20 +21,29 @@ #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(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(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(); +} + + diff --git a/src/gui/conflictdialogcontainer.h b/src/gui/conflictdialogcontainer.h index 9f1616b..068c081 100644 --- a/src/gui/conflictdialogcontainer.h +++ b/src/gui/conflictdialogcontainer.h @@ -28,18 +28,18 @@ class ConflictDialogContainer: public TabContainer 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 */ diff --git a/src/gui/conflictsdialog.cpp b/src/gui/conflictsdialog.cpp index b4832f7..74e66d1 100644 --- a/src/gui/conflictsdialog.cpp +++ b/src/gui/conflictsdialog.cpp @@ -19,18 +19,19 @@ */ #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))); } diff --git a/src/gui/conflictsdialog.h b/src/gui/conflictsdialog.h index cca88db..4a8accc 100644 --- a/src/gui/conflictsdialog.h +++ b/src/gui/conflictsdialog.h @@ -27,10 +27,10 @@ class ConflictsDialog : public QDialog, Ui::ConflictsDialog { 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 */ diff --git a/src/gui/eventdialog.cpp b/src/gui/eventdialog.cpp index 6fd7004..ee74937 100644 --- a/src/gui/eventdialog.cpp +++ b/src/gui/eventdialog.cpp @@ -86,13 +86,13 @@ void EventDialog::favouriteClicked() 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(aIndex.internalPointer())->id(),this); + Event* event = static_cast(aIndex.internalPointer()); + ConflictsDialog dialog(event->id(), event->conferenceId(), this); #ifdef N810 dialog.setFixedWidth(static_cast(parent())->width()); #endif