Changeset 07ae23a


Ignore:
Timestamp:
01/27/10 16:06:21 (12 years ago)
Author:
timkoma <timkoma@…>
Branches:
master, qt5
Children:
0bb39f5
Parents:
33b5c34
Message:

refactoring of the TABS

Location:
src
Files:
15 added
7 edited

Legend:

Unmodified
Added
Removed
  • src/app/app.pro

    r33b5c34 r07ae23a  
    77# module dependencies
    88LIBS += -L$$DESTDIR -lgui -lmvc -lsql
    9 INCLUDEPATH += ../gui ../sql
     9INCLUDEPATH += ../gui ../sql ../mvc ../orm
    1010DEPENDPATH += . ../gui
    1111TARGETDEPS += $$DESTDIR/libmvc.a $$DESTDIR/libgui.a $$DESTDIR/libsql.a
  • src/gui/gui.pro

    r33b5c34 r07ae23a  
    44DESTDIR = ../bin
    55CONFIG += static
    6 QT += sql xml
     6QT += sql \
     7    xml
    78
    89# module dependencies
    9 LIBS += -L$$DESTDIR -lmvc -lorm -lsql
    10 INCLUDEPATH += ../orm ../mvc ../sql ../app
    11 DEPENDPATH += . ../orm ../mvc ../sql
    12 TARGETDEPS += $$DESTDIR/liborm.a $$DESTDIR/libmvc.a $$DESTDIR/libsql.a
    13 maemo {
    14     LIBS += -L$$DESTDIR -lqalarm
     10LIBS += -L$$DESTDIR \
     11    -lmvc \
     12    -lorm \
     13    -lsql
     14INCLUDEPATH += ../orm \
     15    ../mvc \
     16    ../sql \
     17    ../app
     18DEPENDPATH += . \
     19    ../orm \
     20    ../mvc \
     21    ../sql
     22TARGETDEPS += $$DESTDIR/liborm.a \
     23    $$DESTDIR/libmvc.a \
     24    $$DESTDIR/libsql.a
     25maemo {
     26    LIBS += -L$$DESTDIR \
     27        -lqalarm
    1528    INCLUDEPATH += ../alarm
    16     DEPENDPATH +=  ../alarm
    17     TARGETDEPS +=  $$DESTDIR/libqalarm.a
     29    DEPENDPATH += ../alarm
     30    TARGETDEPS += $$DESTDIR/libqalarm.a
    1831}
    19 
    2032
    2133# A shamelessly long list of sources, headers and forms.
     
    2335# (which means they need to be added to the test module as well,
    2436# but I am sure you can live with that for the time being).
    25 
    26 FORMS += mainwindow.ui \
    27          daynavigatorwidget.ui \
    28          importschedulewidget.ui \
    29          about.ui \
    30          eventdialog.ui \
    31          tabcontainer.ui \
    32          mapwindow.ui
    33 
    34 HEADERS += mainwindow.h \
    35            daynavigatorwidget.h \
    36            importschedulewidget.h \
    37            eventdialog.h \
    38            tabwidget.h \
    39            tabcontainer.h \
    40            mapwindow.h
    41 
    42 SOURCES += mainwindow.cpp \
    43            daynavigatorwidget.cpp \
    44            importschedulewidget.cpp \
    45            eventdialog.cpp \
    46            tabwidget.cpp \
    47            tabcontainer.cpp \
    48            mapwindow.cpp
    49 
    50 maemo {
    51     FORMS += alarmdialog.ui
    52     HEADERS += alarmdialog.h
    53     SOURCES += alarmdialog.cpp
     37FORMS += searchhead.ui \
     38    mainwindow.ui \
     39    daynavigatorwidget.ui \
     40    importschedulewidget.ui \
     41    about.ui \
     42    eventdialog.ui \
     43    tabcontainer.ui \
     44    mapwindow.ui
     45HEADERS += roomstabcontainer.h \
     46    nowtabcontainer.h \
     47    trackstabcontainer.h \
     48    favtabcontainer.h \
     49    searchtabcontainer.h \
     50    searchhead.h \
     51    dayviewtabcontainer.h \
     52    mainwindow.h \
     53    daynavigatorwidget.h \
     54    importschedulewidget.h \
     55    eventdialog.h \
     56    tabwidget.h \
     57    tabcontainer.h \
     58    mapwindow.h
     59SOURCES += roomstabcontainer.cpp \
     60    nowtabcontainer.cpp \
     61    trackstabcontainer.cpp \
     62    favtabcontainer.cpp \
     63    searchtabcontainer.cpp \
     64    searchhead.cpp \
     65    dayviewtabcontainer.cpp \
     66    mainwindow.cpp \
     67    daynavigatorwidget.cpp \
     68    importschedulewidget.cpp \
     69    eventdialog.cpp \
     70    tabwidget.cpp \
     71    tabcontainer.cpp \
     72    mapwindow.cpp
     73maemo {
     74    FORMS += searchhead.ui \
     75        alarmdialog.ui
     76    HEADERS += roomstabcontainer.h \
     77        nowtabcontainer.h \
     78        trackstabcontainer.h \
     79        favtabcontainer.h \
     80        searchtabcontainer.h \
     81        searchhead.h \
     82        dayviewtabcontainer.h \
     83        alarmdialog.h
     84    SOURCES += roomstabcontainer.cpp \
     85        nowtabcontainer.cpp \
     86        trackstabcontainer.cpp \
     87        favtabcontainer.cpp \
     88        searchtabcontainer.cpp \
     89        searchhead.cpp \
     90        dayviewtabcontainer.cpp \
     91        alarmdialog.cpp
    5492}
    55 
  • src/gui/mainwindow.cpp

    r33b5c34 r07ae23a  
    4343        setWindowTitle(confs[0].title());
    4444    }
    45 
    46     dayTabContainer->setType(TabContainer::EContainerTypeDay);
    47     favsTabContainer->setType(TabContainer::EContainerTypeFavs);
    48     tracksTabContainer->setType(TabContainer::EContainerTypeTracks);
    49     nowTabContainer->setType(TabContainer::EContainerTypeNow);
    50     roomsTabContainer->setType(TabContainer::EContainerTypeRooms);
    51     searchTabContainer->setType(TabContainer::EContainerTypeSearch);
    5245
    5346    connect(importScheduleWidget, SIGNAL(scheduleImported(int)), SLOT(scheduleImported(int)));
  • src/gui/mainwindow.ui

    r33b5c34 r07ae23a  
    1 <ui version="4.0" >
     1<?xml version="1.0" encoding="UTF-8"?>
     2<ui version="4.0">
    23 <class>MainWindow</class>
    3  <widget class="QMainWindow" name="MainWindow" >
    4   <property name="geometry" >
     4 <widget class="QMainWindow" name="MainWindow">
     5  <property name="geometry">
    56   <rect>
    67    <x>0</x>
     
    1011   </rect>
    1112  </property>
    12   <property name="minimumSize" >
     13  <property name="minimumSize">
    1314   <size>
    1415    <width>400</width>
     
    1617   </size>
    1718  </property>
    18   <property name="windowTitle" >
     19  <property name="windowTitle">
    1920   <string>MainWindow</string>
    2021  </property>
    21   <widget class="QWidget" name="centralwidget" >
    22    <layout class="QGridLayout" name="gridLayout" >
    23     <item row="0" column="0" >
    24      <widget class="TabWidget" name="tabWidget" >
    25       <property name="currentIndex" >
    26        <number>0</number>
     22  <widget class="QWidget" name="centralwidget">
     23   <layout class="QGridLayout" name="gridLayout">
     24    <item row="0" column="0">
     25     <widget class="TabWidget" name="tabWidget">
     26      <property name="currentIndex">
     27       <number>3</number>
    2728      </property>
    28       <widget class="QWidget" name="dayViewTab" >
    29        <attribute name="title" >
     29      <widget class="QWidget" name="dayViewTab">
     30       <attribute name="title">
    3031        <string>Day View</string>
    3132       </attribute>
    32        <layout class="QGridLayout" name="gridLayout_2" >
    33         <item row="0" column="0" >
    34          <widget class="TabContainer" native="1" name="dayTabContainer" />
    35         </item>
    36        </layout>
    37       </widget>
    38       <widget class="QWidget" name="favouritesTab" >
    39        <attribute name="title" >
     33       <layout class="QGridLayout" name="gridLayout_2">
     34        <item row="0" column="0">
     35         <widget class="DayViewTabContainer" name="dayTabContainer" native="true"/>
     36        </item>
     37       </layout>
     38      </widget>
     39      <widget class="QWidget" name="favouritesTab">
     40       <attribute name="title">
    4041        <string>Favourites</string>
    4142       </attribute>
    42        <layout class="QGridLayout" name="gridLayout_3" >
    43         <item row="0" column="0" >
    44          <widget class="TabContainer" native="1" name="favsTabContainer" />
    45         </item>
    46        </layout>
    47       </widget>
    48       <widget class="QWidget" name="tracksTab" >
    49        <attribute name="title" >
     43       <layout class="QGridLayout" name="gridLayout_3">
     44        <item row="0" column="0">
     45         <widget class="FavTabContainer" name="favsTabContainer" native="true"/>
     46        </item>
     47       </layout>
     48      </widget>
     49      <widget class="QWidget" name="tracksTab">
     50       <attribute name="title">
    5051        <string>Tracks</string>
    5152       </attribute>
    52        <layout class="QGridLayout" name="gridLayout_4" >
    53         <item row="0" column="0" >
    54          <widget class="TabContainer" native="1" name="tracksTabContainer" />
    55         </item>
    56        </layout>
    57       </widget>
    58       <widget class="QWidget" name="searchTab" >
    59        <attribute name="title" >
     53       <layout class="QGridLayout" name="gridLayout_4">
     54        <item row="0" column="0">
     55         <widget class="TracksTabContainer" name="tracksTabContainer" native="true"/>
     56        </item>
     57       </layout>
     58      </widget>
     59      <widget class="QWidget" name="searchTab">
     60       <attribute name="title">
    6061        <string>Search</string>
    6162       </attribute>
    62        <layout class="QHBoxLayout" name="horizontalLayout_1" >
     63       <layout class="QHBoxLayout" name="horizontalLayout_1">
    6364        <item>
    64          <widget class="TabContainer" native="1" name="searchTabContainer" />
    65         </item>
    66        </layout>
    67       </widget>
    68       <widget class="QWidget" name="roomsTab" >
    69        <attribute name="title" >
     65         <widget class="SearchTabContainer" name="searchTabContainer" native="true">
     66          <property name="sizePolicy">
     67           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     68            <horstretch>0</horstretch>
     69            <verstretch>0</verstretch>
     70           </sizepolicy>
     71          </property>
     72         </widget>
     73        </item>
     74       </layout>
     75      </widget>
     76      <widget class="QWidget" name="roomsTab">
     77       <attribute name="title">
    7078        <string>Rooms</string>
    7179       </attribute>
    72        <layout class="QGridLayout" name="gridLayout_8" >
    73         <item row="0" column="0" >
    74          <widget class="TabContainer" native="1" name="roomsTabContainer" />
    75         </item>
    76        </layout>
    77       </widget>
    78       <widget class="QWidget" name="conferenceTab" >
    79        <attribute name="title" >
     80       <layout class="QGridLayout" name="gridLayout_8">
     81        <item row="0" column="0">
     82         <widget class="RoomsTabContainer" name="roomsTabContainer" native="true"/>
     83        </item>
     84       </layout>
     85      </widget>
     86      <widget class="QWidget" name="conferenceTab">
     87       <attribute name="title">
    8088        <string>Conference</string>
    8189       </attribute>
    82        <layout class="QGridLayout" name="gridLayout_5" >
    83         <item row="0" column="0" >
    84          <layout class="QVBoxLayout" name="verticalLayout_4" >
    85           <item>
    86            <widget class="QLabel" name="conferenceTitle" >
    87             <property name="font" >
     90       <layout class="QGridLayout" name="gridLayout_5">
     91        <item row="0" column="0">
     92         <layout class="QVBoxLayout" name="verticalLayout_4">
     93          <item>
     94           <widget class="QLabel" name="conferenceTitle">
     95            <property name="font">
    8896             <font>
    8997              <weight>75</weight>
     
    9199             </font>
    92100            </property>
    93             <property name="text" >
     101            <property name="text">
    94102             <string>Conference Name</string>
    95103            </property>
    96             <property name="alignment" >
     104            <property name="alignment">
    97105             <set>Qt::AlignCenter</set>
    98106            </property>
    99             <property name="wordWrap" >
     107            <property name="wordWrap">
    100108             <bool>true</bool>
    101109            </property>
     
    103111          </item>
    104112          <item>
    105            <widget class="QLabel" name="conferenceSubtitle" >
    106             <property name="text" >
     113           <widget class="QLabel" name="conferenceSubtitle">
     114            <property name="text">
    107115             <string>Conference Subtitle</string>
    108116            </property>
    109             <property name="alignment" >
     117            <property name="alignment">
    110118             <set>Qt::AlignCenter</set>
    111119            </property>
    112             <property name="wordWrap" >
     120            <property name="wordWrap">
    113121             <bool>true</bool>
    114122            </property>
     
    116124          </item>
    117125          <item>
    118            <widget class="Line" name="line" >
    119             <property name="orientation" >
     126           <widget class="Line" name="line">
     127            <property name="orientation">
    120128             <enum>Qt::Horizontal</enum>
    121129            </property>
     
    123131          </item>
    124132          <item>
    125            <layout class="QGridLayout" name="gridLayout_6" >
    126             <item row="0" column="0" >
    127              <widget class="QLabel" name="label" >
    128               <property name="font" >
     133           <layout class="QGridLayout" name="gridLayout_6">
     134            <item row="0" column="0">
     135             <widget class="QLabel" name="label">
     136              <property name="font">
    129137               <font>
    130138                <weight>75</weight>
     
    133141               </font>
    134142              </property>
    135               <property name="text" >
     143              <property name="text">
    136144               <string>When:</string>
    137145              </property>
    138146             </widget>
    139147            </item>
    140             <item row="1" column="0" >
    141              <widget class="QLabel" name="label_2" >
    142               <property name="font" >
     148            <item row="1" column="0">
     149             <widget class="QLabel" name="label_2">
     150              <property name="font">
    143151               <font>
    144152                <weight>75</weight>
     
    147155               </font>
    148156              </property>
    149               <property name="text" >
     157              <property name="text">
    150158               <string>Where:</string>
    151159              </property>
    152160             </widget>
    153161            </item>
    154             <item row="0" column="2" >
    155              <widget class="QLabel" name="conferenceWhen" >
    156               <property name="text" >
     162            <item row="0" column="2">
     163             <widget class="QLabel" name="conferenceWhen">
     164              <property name="text">
    157165               <string>DATE (FROM - TO)</string>
    158166              </property>
    159167             </widget>
    160168            </item>
    161             <item row="1" column="2" >
    162              <widget class="QLabel" name="conferenceWhere" >
    163               <property name="text" >
     169            <item row="1" column="2">
     170             <widget class="QLabel" name="conferenceWhere">
     171              <property name="text">
    164172               <string>CITY, CAMPUS</string>
    165173              </property>
    166174             </widget>
    167175            </item>
    168             <item row="1" column="3" >
    169              <widget class="QPushButton" name="showMapButton" >
    170               <property name="text" >
     176            <item row="1" column="3">
     177             <widget class="QPushButton" name="showMapButton">
     178              <property name="text">
    171179               <string>MAP</string>
    172180              </property>
    173               <property name="icon" >
    174                <iconset resource="../icons.qrc" >
     181              <property name="icon">
     182               <iconset resource="../icons.qrc">
    175183                <normaloff>:/icons/compassBig.png</normaloff>:/icons/compassBig.png</iconset>
    176184              </property>
    177               <property name="flat" >
     185              <property name="flat">
    178186               <bool>true</bool>
    179187              </property>
    180188             </widget>
    181189            </item>
    182             <item row="1" column="4" >
    183              <spacer name="horizontalSpacer_3" >
    184               <property name="orientation" >
     190            <item row="1" column="4">
     191             <spacer name="horizontalSpacer_3">
     192              <property name="orientation">
    185193               <enum>Qt::Horizontal</enum>
    186194              </property>
    187               <property name="sizeHint" stdset="0" >
     195              <property name="sizeHint" stdset="0">
    188196               <size>
    189197                <width>40</width>
     
    193201             </spacer>
    194202            </item>
    195             <item row="0" column="1" >
    196              <widget class="QLabel" name="spacer" >
    197               <property name="text" >
     203            <item row="0" column="1">
     204             <widget class="QLabel" name="spacer">
     205              <property name="text">
    198206               <string/>
    199207              </property>
     
    203211          </item>
    204212          <item>
    205            <widget class="Line" name="line_2" >
    206             <property name="orientation" >
     213           <widget class="Line" name="line_2">
     214            <property name="orientation">
    207215             <enum>Qt::Horizontal</enum>
    208216            </property>
     
    210218          </item>
    211219          <item>
    212            <widget class="ImportScheduleWidget" native="1" name="importScheduleWidget" >
    213             <property name="sizePolicy" >
    214              <sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" >
     220           <widget class="ImportScheduleWidget" name="importScheduleWidget" native="true">
     221            <property name="sizePolicy">
     222             <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
    215223              <horstretch>0</horstretch>
    216224              <verstretch>0</verstretch>
     
    220228          </item>
    221229          <item>
    222            <spacer name="verticalSpacer" >
    223             <property name="orientation" >
     230           <spacer name="verticalSpacer">
     231            <property name="orientation">
    224232             <enum>Qt::Vertical</enum>
    225233            </property>
    226             <property name="sizeHint" stdset="0" >
     234            <property name="sizeHint" stdset="0">
    227235             <size>
    228236              <width>20</width>
     
    236244       </layout>
    237245      </widget>
    238       <widget class="QWidget" name="nowTab" >
    239        <attribute name="title" >
     246      <widget class="QWidget" name="nowTab">
     247       <attribute name="title">
    240248        <string>Now</string>
    241249       </attribute>
    242        <layout class="QGridLayout" name="gridLayout_7" >
    243         <item row="0" column="0" >
    244          <widget class="TabContainer" native="1" name="nowTabContainer" />
     250       <layout class="QGridLayout" name="gridLayout_7">
     251        <item row="0" column="0">
     252         <widget class="NowTabContainer" name="nowTabContainer" native="true"/>
    245253        </item>
    246254       </layout>
     
    250258   </layout>
    251259  </widget>
    252   <widget class="QStatusBar" name="statusbar" />
     260  <widget class="QStatusBar" name="statusbar"/>
    253261 </widget>
    254262 <customwidgets>
     
    266274  </customwidget>
    267275  <customwidget>
    268    <class>TabContainer</class>
    269    <extends>QWidget</extends>
    270    <header>tabcontainer.h</header>
    271    <container>1</container>
     276   <class>SearchTabContainer</class>
     277   <extends>QWidget</extends>
     278   <header>searchtabcontainer.h</header>
     279  </customwidget>
     280  <customwidget>
     281   <class>DayViewTabContainer</class>
     282   <extends>QWidget</extends>
     283   <header>dayviewtabcontainer.h</header>
     284  </customwidget>
     285  <customwidget>
     286   <class>FavTabContainer</class>
     287   <extends>QWidget</extends>
     288   <header>favtabcontainer.h</header>
     289  </customwidget>
     290  <customwidget>
     291   <class>TracksTabContainer</class>
     292   <extends>QWidget</extends>
     293   <header>trackstabcontainer.h</header>
     294  </customwidget>
     295  <customwidget>
     296   <class>RoomsTabContainer</class>
     297   <extends>QWidget</extends>
     298   <header>roomstabcontainer.h</header>
     299  </customwidget>
     300  <customwidget>
     301   <class>NowTabContainer</class>
     302   <extends>QWidget</extends>
     303   <header>nowtabcontainer.h</header>
    272304  </customwidget>
    273305 </customwidgets>
    274306 <resources>
    275   <include location="../icons.qrc" />
     307  <include location="../icons.qrc"/>
    276308 </resources>
    277309 <connections/>
  • src/gui/tabcontainer.cpp

    r33b5c34 r07ae23a  
    55#include <QTimer>
    66
    7 #include <sqlengine.h>
    8 #include <appsettings.h>
    9 
    10 #include <conference.h>
    11 
    127#include <treeview.h>
    13 #include <eventmodel.h>
    148#include <delegate.h>
    159
     
    1913TabContainer::TabContainer(QWidget *aParent)
    2014    : QWidget(aParent)
    21     , mType(EContainerTypeNone)
    2215{
    2316    setupUi(this);
    24 
    25     searchAgainButton->hide();
    26     searchHead->hide();
    2717
    2818    treeView->setHeaderHidden(true);
     
    4030    connect(treeView, SIGNAL(requestForWarning(const QModelIndex &)), SLOT(displayWarning(const QModelIndex &)));
    4131
    42     connect(searchButton, SIGNAL(clicked()), SLOT(searchClicked()));
    43     connect(searchAgainButton, SIGNAL(clicked()), SLOT(searchAgainClicked()));
    44 
    4532    if(!Conference::getAll().count()) // no conference(s) in the DB
    4633    {
     
    5542}
    5643
    57 void TabContainer::setType(TabContainer::Type aType)
    58 {
    59     mType = aType;
    60 
    61     if(aType == EContainerTypeNow)
    62     {
    63         QTimer *timer = new QTimer( this );
    64         connect( timer, SIGNAL(timeout()), SLOT(timerUpdateTreeView()) );
    65         timer->start( 30000); // 30 seconds timer
    66     }
    67     if(aType == EContainerTypeSearch)
    68     {
    69         searchHead->show();
    70     }
    71 }
    72 
    7344void TabContainer::updateTreeView(const QDate &aDate)
    7445{
    75     switch(mType)
    76     {
    77         case EContainerTypeDay:
    78             {
    79                 static_cast<EventModel*>(treeView->model())->loadEvents(aDate,AppSettings::confId());
    80             }
    81             break;
    82         case EContainerTypeFavs:
    83             {
    84                 static_cast<EventModel*>(treeView->model())->loadFavEvents(aDate,AppSettings::confId());
    85             }
    86             break;
    87         case EContainerTypeTracks:
    88             {
    89                 static_cast<EventModel*>(treeView->model())->loadEventsByTrack(aDate, AppSettings::confId());
    90             }
    91             break;
    92         case EContainerTypeRooms:
    93             {
    94                 static_cast<EventModel*>(treeView->model())->loadEventsByRoom(aDate, AppSettings::confId());
    95             }
    96             break;
    97         case EContainerTypeNow:
    98             {
    99                 static_cast<EventModel*>(treeView->model())->loadNowEvents(AppSettings::confId());
    100                 treeView->setAllExpanded(true);
    101             }
    102             break;
    103         case EContainerTypeSearch:
    104             {
    105                 treeView->reset();
    106                 int eventsCount = static_cast<EventModel*>(treeView->model())->loadSearchResultEvents(aDate,AppSettings::confId());
    107                 if( eventsCount ||
    108                         dayNavigator->getCurrentDate() != Conference::getById(AppSettings::confId()).start() ){
    109                     searchAgainButton->show();
    110                     dayNavigator->show();
    111                     treeView->show();
    112                     searchHead->hide();
    113                 }
    114                 else{
    115                     treeView->hide();
    116                     searchAgainButton->hide();
    117                     dayNavigator->hide();
    118                     searchHead->show();
    119                 }
    120             }
    121             break;
    122         case EContainerTypeNone:
    123         default:
    124             {
    125                 qDebug() << "Container type not specified";
    126             }
    127     }
     46    dayNavigator->show();
     47    loadEvents( aDate, AppSettings::confId() );
    12848    treeView->reset();
    129     dayNavigator->show();
    13049}
    13150
     
    17594void TabContainer::updateTreeViewModel(int aEventId)
    17695{
    177     switch(mType)
    178     {
    179         case EContainerTypeFavs:
    180             {
    181                 // requires special handling
    182                 // we need to reload favourites, because some favourite could be deleted
    183                 //static_cast<EventModel*>(favTreeView->model())->updateModel(aEventId);
    184                 QDate aStartDate = Conference::getById(AppSettings::confId()).start();
    185                 QDate aEndDate = Conference::getById(AppSettings::confId()).end();
    186                 dayNavigator->setDates(aStartDate, aEndDate);
    187                 updateTreeView( Conference::getById(AppSettings::confId()).start() );
    188             }
    189             break;
    190         case EContainerTypeDay:
    191         case EContainerTypeNone:
    192         default:
    193             {
    194                 static_cast<EventModel*>(treeView->model())->updateModel(aEventId);
    195             }
    196     }
     96    static_cast<EventModel*>(treeView->model())->updateModel(aEventId);
    19797}
    19898
     
    202102}
    203103
    204 void TabContainer::timerUpdateTreeView()
    205 {
    206     if(mType == EContainerTypeNow)
    207     {
    208         updateTreeView(QDate());
    209     }
    210 }
    211104
    212 void TabContainer::searchClicked()
    213 {
    214     if(mType == EContainerTypeSearch)
    215     {
    216         QHash<QString,QString> columns;
    217105
    218         if( searchTitle->isChecked() )
    219             columns.insertMulti("EVENT", "title");
    220         if( searchAbstract->isChecked() )
    221             columns.insertMulti("EVENT", "abstract");
    222         if( searchTag->isChecked() )
    223             columns.insertMulti("EVENT", "tag");
    224         if( searchSpeaker->isChecked() )
    225             columns["PERSON"] = "name";
    226         if( searchRoom->isChecked() )
    227             columns["ROOM"] = "name";
    228 
    229         QString keyword = searchEdit->text().replace( QString("%"), QString("\\%") );
    230         qDebug() << "\nKeyword to search: " << keyword;
    231         SqlEngine::searchEvent( AppSettings::confId(), columns, keyword );
    232 
    233         QDate startDate = Conference::getById(AppSettings::confId()).start();
    234         QDate endDate = Conference::getById(AppSettings::confId()).end();
    235         dayNavigator->setDates(startDate, endDate);
    236         updateTreeView( Conference::getById(AppSettings::confId()).start() );
    237     }
    238 }
    239 
    240 void TabContainer::searchAgainClicked()
    241 {
    242     if(mType == EContainerTypeSearch)
    243     {
    244         searchHead->show();
    245         searchAgainButton->hide();
    246         dayNavigator->hide();
    247         treeView->hide();
    248     }
    249 }
    250 
  • src/gui/tabcontainer.h

    r33b5c34 r07ae23a  
    55#include "ui_tabcontainer.h"
    66
    7 class TabContainer : public QWidget, Ui::TabContainer
     7#include <appsettings.h>
     8#include <sqlengine.h>
     9#include <conference.h>
     10#include <eventmodel.h>
     11
     12class TabContainer : public QWidget, public Ui::TabContainer
    813{
    914    Q_OBJECT
    1015public:
    1116
    12     // type of the container
    13     // specifies the type of the data that treeView holds
    14     enum Type
     17    TabContainer(QWidget *aParent = NULL);
     18    virtual ~TabContainer() {}
     19
     20protected:
     21    virtual void loadEvents( const QDate &aDate, const int aConferenceId )
    1522    {
    16         EContainerTypeNone = 0,
    17         EContainerTypeDay,
    18         EContainerTypeFavs,
    19         EContainerTypeTracks,
    20         EContainerTypeRooms,
    21         EContainerTypeSearch,
    22         EContainerTypeNow
     23        Q_UNUSED(aDate);
     24        Q_UNUSED(aConferenceId);
    2325    };
    24 
    25     TabContainer(QWidget *aParent = NULL);
    26     ~TabContainer() {}
    27     void setType(TabContainer::Type aType);
    2826
    2927signals:
     
    3129
    3230public slots:
    33     void updateTreeViewModel(int aEventId);
     31    virtual void updateTreeViewModel(int aEventId);
    3432    void setDates(const QDate &aStart, const QDate &aEnd);
    3533
    36 private slots:
     34protected slots:
    3735    void updateTreeView(const QDate &aDate);
    38     void timerUpdateTreeView();
    3936    void itemClicked(const QModelIndex &aIndex);
    4037    void displayMap(const QModelIndex &aIndex);
    4138    void displayWarning(const QModelIndex &aIndex);
    42     void searchClicked();
    43     void searchAgainClicked();
    44 
    45 private:
    46     TabContainer::Type mType;
    4739};
    4840
  • src/gui/tabcontainer.ui

    r33b5c34 r07ae23a  
    1 <ui version="4.0" >
     1<?xml version="1.0" encoding="UTF-8"?>
     2<ui version="4.0">
    23 <class>TabContainer</class>
    3  <widget class="QWidget" name="TabContainer" >
    4   <property name="geometry" >
     4 <widget class="QWidget" name="TabContainer">
     5  <property name="geometry">
    56   <rect>
    67    <x>0</x>
     
    1011   </rect>
    1112  </property>
    12   <property name="windowTitle" >
     13  <property name="sizePolicy">
     14   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     15    <horstretch>0</horstretch>
     16    <verstretch>0</verstretch>
     17   </sizepolicy>
     18  </property>
     19  <property name="windowTitle">
    1320   <string>Form</string>
    1421  </property>
    15   <layout class="QGridLayout" name="gridLayout" >
    16    <item row="0" column="2" >
    17     <layout class="QVBoxLayout" name="verticalLayout" >
     22  <layout class="QGridLayout" name="gridLayout">
     23   <property name="margin">
     24    <number>0</number>
     25   </property>
     26   <item row="0" column="2">
     27    <layout class="QVBoxLayout" name="verticalLayout">
    1828     <item>
    19       <widget class="QWidget" native="1" name="searchHead" >
    20        <property name="sizePolicy" >
    21         <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
     29      <widget class="TreeView" name="treeView"/>
     30     </item>
     31    </layout>
     32   </item>
     33   <item row="0" column="1">
     34    <layout class="QVBoxLayout" name="verticalLayout_2">
     35     <item>
     36      <widget class="DayNavigatorWidget" name="dayNavigator" native="true">
     37       <property name="sizePolicy">
     38        <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
    2239         <horstretch>0</horstretch>
    2340         <verstretch>0</verstretch>
    2441        </sizepolicy>
    2542       </property>
    26        <property name="maximumSize" >
     43       <property name="minimumSize">
    2744        <size>
    28          <width>16777215</width>
    29          <height>16777215</height>
     45         <width>10</width>
     46         <height>10</height>
    3047        </size>
    31        </property>
    32        <layout class="QGridLayout" name="searchHeadLayout_2" >
    33         <property name="sizeConstraint" >
    34          <enum>QLayout::SetDefaultConstraint</enum>
    35         </property>
    36         <item row="2" column="0" >
    37          <layout class="QHBoxLayout" name="horizontalLayout_2" >
    38           <item>
    39            <widget class="QLineEdit" name="searchEdit" >
    40             <property name="enabled" >
    41              <bool>true</bool>
    42             </property>
    43             <property name="toolTip" >
    44              <string>type a keyword to search</string>
    45             </property>
    46            </widget>
    47           </item>
    48           <item>
    49            <widget class="QPushButton" name="searchButton" >
    50             <property name="sizePolicy" >
    51              <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
    52               <horstretch>0</horstretch>
    53               <verstretch>0</verstretch>
    54              </sizepolicy>
    55             </property>
    56             <property name="text" >
    57              <string>Search</string>
    58             </property>
    59             <property name="icon" >
    60              <iconset resource="../icons.qrc" >
    61               <normaloff>:/icons/search.png</normaloff>:/icons/search.png</iconset>
    62             </property>
    63             <property name="checkable" >
    64              <bool>false</bool>
    65             </property>
    66             <property name="autoDefault" >
    67              <bool>true</bool>
    68             </property>
    69             <property name="default" >
    70              <bool>true</bool>
    71             </property>
    72             <property name="flat" >
    73              <bool>false</bool>
    74             </property>
    75            </widget>
    76           </item>
    77          </layout>
    78         </item>
    79         <item row="0" column="0" >
    80          <layout class="QHBoxLayout" name="horizontalLayout_7" >
    81           <item>
    82            <widget class="QCheckBox" name="searchTitle" >
    83             <property name="text" >
    84              <string>Title</string>
    85             </property>
    86             <property name="checked" >
    87              <bool>true</bool>
    88             </property>
    89            </widget>
    90           </item>
    91           <item>
    92            <widget class="QCheckBox" name="searchAbstract" >
    93             <property name="text" >
    94              <string>Abstract</string>
    95             </property>
    96            </widget>
    97           </item>
    98           <item>
    99            <widget class="QCheckBox" name="searchSpeaker" >
    100             <property name="text" >
    101              <string>Speaker</string>
    102             </property>
    103            </widget>
    104           </item>
    105           <item>
    106            <widget class="QCheckBox" name="searchTag" >
    107             <property name="text" >
    108              <string>Tag</string>
    109             </property>
    110            </widget>
    111           </item>
    112           <item>
    113            <widget class="QCheckBox" name="searchRoom" >
    114             <property name="text" >
    115              <string>Room</string>
    116             </property>
    117            </widget>
    118           </item>
    119           <item>
    120            <spacer name="horizontalSpacer" >
    121             <property name="orientation" >
    122              <enum>Qt::Horizontal</enum>
    123             </property>
    124             <property name="sizeHint" stdset="0" >
    125              <size>
    126               <width>40</width>
    127               <height>20</height>
    128              </size>
    129             </property>
    130            </spacer>
    131           </item>
    132          </layout>
    133         </item>
    134         <item row="3" column="0" >
    135          <spacer name="verticalSpacer" >
    136           <property name="orientation" >
    137            <enum>Qt::Vertical</enum>
    138           </property>
    139           <property name="sizeHint" stdset="0" >
    140            <size>
    141             <width>20</width>
    142             <height>40</height>
    143            </size>
    144           </property>
    145          </spacer>
    146         </item>
    147        </layout>
    148       </widget>
    149      </item>
    150      <item>
    151       <widget class="TreeView" name="treeView" />
    152      </item>
    153     </layout>
    154    </item>
    155    <item row="0" column="1" >
    156     <layout class="QVBoxLayout" name="verticalLayout_2" >
    157      <item>
    158       <widget class="QToolButton" name="searchAgainButton" >
    159        <property name="enabled" >
    160         <bool>true</bool>
    161        </property>
    162        <property name="sizePolicy" >
    163         <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
    164          <horstretch>0</horstretch>
    165          <verstretch>0</verstretch>
    166         </sizepolicy>
    167        </property>
    168        <property name="toolTip" >
    169         <string>Search again</string>
    170        </property>
    171        <property name="text" >
    172         <string>S</string>
    173        </property>
    174        <property name="icon" >
    175         <iconset resource="../icons.qrc" >
    176          <normaloff>:/icons/search.png</normaloff>:/icons/search.png</iconset>
    177        </property>
    178        <property name="iconSize" >
    179         <size>
    180          <width>24</width>
    181          <height>24</height>
    182         </size>
    183        </property>
    184        <property name="toolButtonStyle" >
    185         <enum>Qt::ToolButtonIconOnly</enum>
    186        </property>
    187       </widget>
    188      </item>
    189      <item>
    190       <widget class="DayNavigatorWidget" native="1" name="dayNavigator" >
    191        <property name="sizePolicy" >
    192         <sizepolicy vsizetype="Expanding" hsizetype="Minimum" >
    193          <horstretch>0</horstretch>
    194          <verstretch>0</verstretch>
    195         </sizepolicy>
    19648       </property>
    19749      </widget>
     
    21567 </customwidgets>
    21668 <resources>
    217   <include location="../icons.qrc" />
     69  <include location="../icons.qrc"/>
    21870 </resources>
    21971 <connections/>
Note: See TracChangeset for help on using the changeset viewer.