Changeset b86d4aa for src/gui


Ignore:
Timestamp:
01/26/10 15:11:04 (13 years ago)
Author:
pavelpa <pavelpa@…>
Branches:
master, qt5
Children:
a226ba2
Parents:
e4c5a03
Message:

reimplemented 'import schedule'

Location:
src/gui
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/gui/importschedulewidget.cpp

    re4c5a03 rb86d4aa  
    1717    mXmlParser = new ScheduleXmlParser(this);
    1818    connect(mXmlParser, SIGNAL(progressStatus(int)), SLOT(showParsingProgress(int)));
    19     connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(setWindowTitle(const QString &)));
     19    connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(parsingSchedule(const QString &)));
    2020
    21     connect(import, SIGNAL(clicked()), SLOT(importSchedule()));
    22     connect(search, SIGNAL(clicked()), SLOT(searchSchedule()));
     21    connect(browse, SIGNAL(clicked()), SLOT(browseSchedule()));
    2322    progressBar->hide();
    24     import->setEnabled(false);
    2523}
    2624
     
    4139}
    4240
     41void ImportScheduleWidget::parsingSchedule(const QString &aTitle)
     42{
     43    importScheduleLabel->setText("Importing: " + aTitle);
     44}
     45
    4346void ImportScheduleWidget::showParsingProgress(int progress)
    4447{
     
    4649}
    4750
    48 void ImportScheduleWidget::searchSchedule()
     51void ImportScheduleWidget::browseSchedule()
    4952{
    5053    Q_ASSERT(mSqlEngine != NULL);
    5154
    52     mScheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)"));
    53     if(QFile::exists(mScheduleFileName))
    54         import->setEnabled(true);
     55    QString scheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)"));
     56    if(QFile::exists(scheduleFileName))
     57    {
     58        QFile file(scheduleFileName);
     59        if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
     60        {
     61            qDebug() << "can't open " << file.fileName();
     62            return;
     63        }
     64
     65        QByteArray data = file.readAll();
     66        browse->hide();
     67        progressBar->show();
     68        int confId = mXmlParser->parseData(data,mSqlEngine);
     69
     70        progressBar->hide();
     71        browse->show();
     72        importScheduleLabel->setText("Import schedule: ");
     73
     74        emit(scheduleImported(confId));
     75    }
    5576    else
    5677    {
    57         import->setEnabled(false);
    5878        progressBar->hide();
    5979    }
    6080}
    6181
    62 void ImportScheduleWidget::importSchedule()
    63 {
    64     if(!mSqlEngine)
    65     {
    66         qDebug() << "ImportScheduleWidget::importSchedule(): sqlEngine not set";
    67         return;
    68     }
    69 
    70     QFile file(mScheduleFileName);
    71     if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
    72     {
    73         qDebug() << "can't open " << file.fileName();
    74         return;
    75     }
    76 
    77     QByteArray data = file.readAll();
    78     progressBar->show();
    79     int confId = mXmlParser->parseData(data,mSqlEngine);
    80 
    81     // hide stuff
    82     import->setEnabled(false);
    83     progressBar->hide();
    84 
    85     emit(scheduleImported(confId));
    86 }
    87 
  • src/gui/importschedulewidget.h

    re4c5a03 rb86d4aa  
    1616        void setSqlEngine(SqlEngine *aSqlEngine);
    1717    private slots:
    18         void searchSchedule();
    19         void importSchedule();
     18        void browseSchedule();
     19        void parsingSchedule(const QString &aTitle);
    2020        void showParsingProgress(int progress);
    2121    signals:
     
    2424        ScheduleXmlParser *mXmlParser;
    2525        SqlEngine *mSqlEngine; // uses it
    26         QString mScheduleFileName;
    2726};
    2827
  • src/gui/importschedulewidget.ui

    re4c5a03 rb86d4aa  
    77    <y>0</y>
    88    <width>379</width>
    9     <height>82</height>
     9    <height>48</height>
    1010   </rect>
    1111  </property>
     
    2121  <layout class="QGridLayout" name="gridLayout" >
    2222   <item row="0" column="0" >
    23     <layout class="QVBoxLayout" name="verticalLayout" >
     23    <layout class="QHBoxLayout" name="horizontalLayout_2" >
     24     <item>
     25      <widget class="QLabel" name="importScheduleLabel" >
     26       <property name="sizePolicy" >
     27        <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
     28         <horstretch>0</horstretch>
     29         <verstretch>0</verstretch>
     30        </sizepolicy>
     31       </property>
     32       <property name="text" >
     33        <string>Import schedule: </string>
     34       </property>
     35      </widget>
     36     </item>
     37     <item>
     38      <widget class="QPushButton" name="browse" >
     39       <property name="sizePolicy" >
     40        <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
     41         <horstretch>0</horstretch>
     42         <verstretch>0</verstretch>
     43        </sizepolicy>
     44       </property>
     45       <property name="text" >
     46        <string>Browse</string>
     47       </property>
     48      </widget>
     49     </item>
    2450     <item>
    2551      <widget class="QProgressBar" name="progressBar" >
     
    3258      </widget>
    3359     </item>
    34      <item>
    35       <layout class="QHBoxLayout" name="horizontalLayout_2" >
    36        <item>
    37         <widget class="QLabel" name="label" >
    38          <property name="text" >
    39           <string>Import schedule: </string>
    40          </property>
    41         </widget>
    42        </item>
    43        <item>
    44         <widget class="QPushButton" name="search" >
    45          <property name="text" >
    46           <string>Search</string>
    47          </property>
    48         </widget>
    49        </item>
    50        <item>
    51         <spacer name="horizontalSpacer_2" >
    52          <property name="orientation" >
    53           <enum>Qt::Horizontal</enum>
    54          </property>
    55          <property name="sizeHint" stdset="0" >
    56           <size>
    57            <width>40</width>
    58            <height>20</height>
    59           </size>
    60          </property>
    61         </spacer>
    62        </item>
    63        <item>
    64         <widget class="QPushButton" name="import" >
    65          <property name="text" >
    66           <string>Import</string>
    67          </property>
    68         </widget>
    69        </item>
    70       </layout>
    71      </item>
    7260    </layout>
    7361   </item>
  • src/gui/mainwindow.cpp

    re4c5a03 rb86d4aa  
    4545        if(AppSettings::confId() == 0)
    4646            AppSettings::setConfId(confs[0].id());
     47
     48        setWindowTitle(confs[0].title());
    4749    }
    4850
Note: See TracChangeset for help on using the changeset viewer.