diff options
| author | 2015-04-19 22:30:43 -0400 | |
|---|---|---|
| committer | 2015-04-19 22:30:43 -0400 | |
| commit | 094918f048c81474b22f9ba2940c96dc4033d753 (patch) | |
| tree | 2b89c77ad7dc9c55e9ba383f23f9f25b82df358e /SQLiteStudio3/guiSQLiteStudio/dataview.cpp | |
| parent | 640fff60ceecde402131937dddb3458f7a003e9c (diff) | |
| parent | a308f430f694423064ebc86fd0506c8c6fdb3d93 (diff) | |
Merge tag 'upstream/3.0.5'
Upstream version 3.0.5
# gpg: Signature made Sun 19 Apr 2015 10:30:41 PM EDT using RSA key ID EBE9BD91
# gpg: Good signature from "Unit 193 <unit193@gmail.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.org>"
# gpg: aka "Unit 193 <unit193@ubuntu.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.com>"
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dataview.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dataview.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp index e99b9b8..32efae4 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp @@ -11,6 +11,7 @@ #include "iconmanager.h" #include "uiconfig.h" #include "datagrid/sqlqueryitem.h" +#include "common/widgetcover.h" #include <QDebug> #include <QHeaderView> #include <QVBoxLayout> @@ -42,6 +43,7 @@ void DataView::init(SqlQueryModel* model) formViewRowCountLabel = new QLabel(); formViewCurrentRowLabel = new QLabel(); + initWidgetCover(); initFormView(); initPageEdit(); initFilter(); @@ -139,6 +141,15 @@ void DataView::initPageEdit() connect(pageEdit, SIGNAL(editingFinished()), this, SLOT(pageEntered())); } +void DataView::initWidgetCover() +{ + widgetCover = new WidgetCover(this); + widgetCover->initWithProgressBarOnly("%v / %m"); + connect(model, SIGNAL(aboutToCommit(int)), this, SLOT(coverForGridCommit(int))); + connect(model, SIGNAL(commitingStepFinished(int)), this, SLOT(updateGridCommitCover(int))); + connect(model, SIGNAL(commitFinished()), this, SLOT(hideGridCommitCover())); +} + void DataView::createActions() { bool rowInserting = model->features().testFlag(SqlQueryModel::INSERT_ROW); @@ -438,6 +449,34 @@ void DataView::filterModeSelected() actionMap[FILTER]->setIcon(modeAction->icon()); } +void DataView::coverForGridCommit(int total) +{ + if (total <= 3) + return; + + widgetCover->displayProgress(total); + widgetCover->show(); + QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); +} + +void DataView::updateGridCommitCover(int value) +{ + if (!widgetCover->isVisible()) + return; + + widgetCover->setProgress(value); + QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); +} + +void DataView::hideGridCommitCover() +{ + if (!widgetCover->isVisible()) + return; + + widgetCover->hide(); + QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); +} + void DataView::updateCommitRollbackActions(bool enabled) { gridView->getAction(SqlQueryView::COMMIT)->setEnabled(enabled); |
