diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-08-30 20:17:20 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-08-30 20:17:20 -0700 |
commit | db17edda65d6e4040bd0e7f613f814d21eedeb86 (patch) | |
tree | b9345051ae404fba82419e2858b1b210175b2731 /qt-ui | |
parent | 9bc7d8f514d40da94285be980e19d6f16f421067 (diff) | |
parent | ab649e21ba07c9f572d61350b9217609f44f7f04 (diff) | |
download | subsurface-db17edda65d6e4040bd0e7f613f814d21eedeb86.tar.gz |
Merge branch 'bugfixes' of github.com:danilocesar/subsurface
Fixed one conflict in qt-ui/diveplanner.cpp - please check I got this
right.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/downloadfromdivecomputer.cpp | 42 | ||||
-rw-r--r-- | qt-ui/downloadfromdivecomputer.h | 9 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 8 | ||||
-rw-r--r-- | qt-ui/mainwindow.h | 4 |
4 files changed, 55 insertions, 8 deletions
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp index 65e7a16e2..7514c9482 100644 --- a/qt-ui/downloadfromdivecomputer.cpp +++ b/qt-ui/downloadfromdivecomputer.cpp @@ -65,7 +65,11 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f) : void DownloadFromDCWidget::runDialog() { + // Since the DownloadDialog is only + // created once, we need to do put some starting code here ui->progressBar->hide(); + markChildrenAsEnabled(); + exec(); } @@ -138,7 +142,11 @@ void DownloadFromDCWidget::on_cancel_clicked() thread->deleteLater(); thread = 0; } - close(); + + // Confusing, but if the user press cancel during a download + // he probably want to cancel the download, not to close the window. + if (!downloading) + close(); } void DownloadFromDCWidget::on_ok_clicked() @@ -146,6 +154,7 @@ void DownloadFromDCWidget::on_ok_clicked() if (downloading) return; + markChildrenAsDisabled(); ui->progressBar->setValue(0); ui->progressBar->show(); @@ -156,6 +165,7 @@ void DownloadFromDCWidget::on_ok_clicked() data.devname = strdup(ui->device->text().toUtf8().data()); data.vendor = strdup(ui->vendor->currentText().toUtf8().data()); data.product = strdup(ui->product->currentText().toUtf8().data()); + data.descriptor = descriptorLookup[ui->vendor->currentText() + ui->product->currentText()]; data.force_download = ui->forceDownload->isChecked(); data.deviceid = data.diveid = 0; @@ -177,6 +187,36 @@ bool DownloadFromDCWidget::preferDownloaded() return ui->preferDownloaded->isChecked(); } +void DownloadFromDCWidget::reject() +{ + // we don't want the download window being able to close + // while we're still downloading. + if (!downloading) + QDialog::reject(); +} + +void DownloadFromDCWidget::markChildrenAsDisabled() +{ + ui->device->setDisabled(true); + ui->vendor->setDisabled(true); + ui->product->setDisabled(true); + ui->forceDownload->setDisabled(true); + ui->preferDownloaded->setDisabled(true); + ui->ok->setDisabled(true); + ui->search->setDisabled(true); +} + +void DownloadFromDCWidget::markChildrenAsEnabled() +{ + ui->device->setDisabled(false); + ui->vendor->setDisabled(false); + ui->product->setDisabled(false); + ui->forceDownload->setDisabled(false); + ui->preferDownloaded->setDisabled(false); + ui->ok->setDisabled(false); + ui->search->setDisabled(false); +} + DownloadThread::DownloadThread(device_data_t* data): data(data) { } diff --git a/qt-ui/downloadfromdivecomputer.h b/qt-ui/downloadfromdivecomputer.h index 444c03e81..26216c1e0 100644 --- a/qt-ui/downloadfromdivecomputer.h +++ b/qt-ui/downloadfromdivecomputer.h @@ -24,7 +24,7 @@ private: class InterfaceThread : public QThread{ Q_OBJECT public: - InterfaceThread(QObject *parent, device_data_t *data) ; + InterfaceThread(QObject *parent, device_data_t *data); virtual void run(); signals: @@ -39,13 +39,19 @@ class DownloadFromDCWidget : public QDialog{ public: explicit DownloadFromDCWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); static DownloadFromDCWidget *instance(); + void reject(); + public slots: void on_ok_clicked(); void on_cancel_clicked(); void runDialog(); void stoppedDownloading(); void on_vendor_currentIndexChanged(const QString& vendor); + private: + void markChildrenAsDisabled(); + void markChildrenAsEnabled(); + Ui::DownloadFromDiveComputer *ui; InterfaceThread *thread; bool downloading; @@ -58,6 +64,7 @@ private: QStringListModel *vendorModel; QStringListModel *productModel; void fill_computer_list(); + public: bool preferDownloaded(); }; diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 252b1bdb6..4726899e5 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -15,7 +15,7 @@ #include <QCloseEvent> #include <QApplication> #include <QFontMetrics> -#include <QTextBrowser> +#include <QWebView> #include <QTableView> #include "divelistview.h" #include "starwidget.h" @@ -413,14 +413,14 @@ void MainWindow::on_actionAboutSubsurface_triggered() void MainWindow::on_actionUserManual_triggered() { if(!helpView){ - helpView = new QTextBrowser(); + helpView = new QWebView(); } QString searchPath = getSubsurfaceDataPath("Documentation"); if (searchPath != "") { QUrl url(searchPath.append("/user-manual.html")); - helpView->setSource(url); + helpView->setUrl(url); } else { - helpView->setText(tr("Cannot find the Subsurface manual")); + helpView->setHtml(tr("Cannot find the Subsurface manual")); } helpView->show(); } diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h index 2009740fe..0b0b0055d 100644 --- a/qt-ui/mainwindow.h +++ b/qt-ui/mainwindow.h @@ -29,7 +29,7 @@ class DiveListView; class GlobeGPS; class MainTab; class ProfileGraphicsView; -class QTextBrowser; +class QWebView; enum MainWindowTitleFormat { MWTF_DEFAULT, MWTF_FILENAME }; @@ -110,7 +110,7 @@ private: Ui::MainWindow *ui; QAction *actionNextDive; QAction *actionPreviousDive; - QTextBrowser *helpView; + QWebView *helpView; QString filter(); bool askSaveChanges(); void writeSettings(); |