Changeset d49254d for src


Ignore:
Timestamp:
01/27/10 22:08:37 (12 years ago)
Author:
pavelpa <pavelpa@…>
Branches:
master, qt5
Children:
0401cc2
Parents:
21d7cc0
Message:

'conflict' dialog now contains list of events in conflict with given eventId

Location:
src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • src/gui/conflictdialogcontainer.cpp

    r21d7cc0 rd49254d  
    99void ConflictDialogContainer::loadEvents( const QDate &aDate, const int aConferenceId )
    1010{
    11     static_cast<EventModel*>(treeView->model())->loadEventsByRoom( aDate, aConferenceId );
    12     //treeView->setAllExpanded(true);
     11    static_cast<EventModel*>(treeView->model())->loadConflictEvents( mEventId, aConferenceId );
     12    dayNavigator->hide();
    1313}
    1414
    15 void ConflictDialogContainer::updateTreeViewModel(int aEventId)
    16 {
    17     // requires special handling
    18     // we need to reload favourites, because some favourite could be deleted
    19     //static_cast<EventModel*>(favTreeView->model())->updateModel(aEventId);
    20     int confId = Conference::activeConference();
    21     QDate startDate = Conference::getById(confId).start();
    22     QDate endDate = Conference::getById(confId).end();
    23     dayNavigator->setDates(startDate, endDate);
    24     updateTreeView( Conference::getById(confId).start() );
    25 }
    26 
  • src/gui/conflictdialogcontainer.h

    r21d7cc0 rd49254d  
    1212    virtual ~ConflictDialogContainer(){}
    1313
    14 public slots:
    15     virtual void updateTreeViewModel(int aEventId);
     14    void setEventId(int aEventId) { mEventId = aEventId; }
    1615
    1716protected:
    1817    virtual void loadEvents( const QDate &aDate, const int aConferenceId );
     18
     19private:
     20    int mEventId;
    1921};
    2022
  • src/gui/conflictsdialog.cpp

    r21d7cc0 rd49254d  
    11#include "conflictsdialog.h"
    22
    3 ConflictsDialog::ConflictsDialog(QWidget *aParent)
     3ConflictsDialog::ConflictsDialog(int aEventId, QWidget *aParent)
    44    : QDialog(aParent)
    55{
     
    77    connect(container, SIGNAL(eventHasChanged(int)), this, SIGNAL(eventHasChanged(int)));
    88    connect(container, SIGNAL(eventHasChanged(int)), container, SLOT(updateTreeViewModel(int)));
     9
     10    container->setEventId(aEventId);
    911
    1012    int confId = Conference::activeConference();
  • src/gui/conflictsdialog.h

    r21d7cc0 rd49254d  
    99    Q_OBJECT
    1010public:
    11     ConflictsDialog(QWidget *aParent = NULL);
     11    ConflictsDialog(int aEventId, QWidget *aParent = NULL);
    1212    ~ConflictsDialog();
    1313signals:
  • src/gui/favtabcontainer.cpp

    r21d7cc0 rd49254d  
    1313void FavTabContainer::updateTreeViewModel(int aEventId)
    1414{
     15    Q_UNUSED(aEventId);
     16
    1517    // requires special handling
    1618    // we need to reload favourites, because some favourite could be deleted
  • src/gui/tabcontainer.cpp

    r21d7cc0 rd49254d  
    3434    if(!Conference::getAll().count()) // no conference(s) in the DB
    3535    {
    36         dayNavigator->hide(); // hide DayNavigatorWidget
     36        dayNavigator->hide();
    3737    }
    3838    else
     
    8686void TabContainer::displayConflicts(const QModelIndex &aIndex)
    8787{
    88     Q_UNUSED(aIndex);
    89 
    90     ConflictsDialog dialog;
     88    ConflictsDialog dialog(static_cast<Event*>(aIndex.internalPointer())->id(),this);
    9189    connect(&dialog, SIGNAL(eventHasChanged(int)), this, SIGNAL(eventHasChanged(int)));
    9290    dialog.exec();
  • src/mvc/event.cpp

    r21d7cc0 rd49254d  
    6969}
    7070
     71QList<Event> Event::conflictEvents(int aEventId, int conferenceId)
     72{
     73    QSqlQuery query;
     74    query.prepare( selectQuery() + QString("WHERE id IN ( SELECT conflict_event FROM event_conflict WHERE xid_event = :id AND xid_conference = :conf ) ORDER BY %1").arg("start"));
     75    query.bindValue(":id", aEventId);
     76    query.bindValue(":conf", conferenceId);
     77
     78    return load(query);
     79}
     80
    7181QList<Event> Event::getFavByDate(const QDate& date, int conferenceId)
    7282{
  • src/mvc/event.h

    r21d7cc0 rd49254d  
    2828    static QList<Event> getByTrack(int id);
    2929    static QList<Event> getByDateAndRoom(const QDate& date, int conferenceId);
     30    static QList<Event> conflictEvents(int aEventId, int conferenceId);
    3031public:
    3132    int id() const { return value("id").toInt(); }
  • src/mvc/eventmodel.cpp

    r21d7cc0 rd49254d  
    275275}
    276276
     277void EventModel::loadConflictEvents(int aEventId, int aConferenceId)
     278{
     279    clearModel();
     280    // check for existence of the conference in the DB
     281    if(Conference::getAll().count())
     282    {
     283        qDebug() << "Loading Conference Data: [" << Conference::getById(aConferenceId).title() << "] in conflict with " << aEventId;
     284        mEvents = Event::conflictEvents(aEventId, aConferenceId);
     285    }
     286    createTimeGroups();
     287}
     288
    277289void EventModel::updateModel(int aEventId)
    278290{
  • src/mvc/eventmodel.h

    r21d7cc0 rd49254d  
    2323    void loadNowEvents(int aConferenceId); // loads Now events from the DB
    2424    void loadEventsByRoom(const QDate &aDate, int aConferenceId);
     25    void loadConflictEvents(int aEventId, int aConferenceId); // loads events in conflict
    2526
    2627private:
Note: See TracChangeset for help on using the changeset viewer.