Skip to content

Commit e225dc1

Browse files
committed
Export query results as JSON
The corresponding menu entry for exporting the query results to JSON was missing although it was straight forward to add it with the same scheme as for CSV. Related to issue #2607
1 parent 36c5b1b commit e225dc1

File tree

6 files changed

+36
-0
lines changed

6 files changed

+36
-0
lines changed

src/MainWindow.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ void MainWindow::init()
266266

267267
popupSaveSqlResultsMenu = new QMenu(this);
268268
popupSaveSqlResultsMenu->addAction(ui->actionSqlResultsExportCsv);
269+
popupSaveSqlResultsMenu->addAction(ui->actionSqlResultsExportJson);
269270
popupSaveSqlResultsMenu->addAction(ui->actionSqlResultsSaveAsView);
270271
ui->actionSqlResultsSave->setMenu(popupSaveSqlResultsMenu);
271272
qobject_cast<QToolButton*>(ui->toolbarSql->widgetForAction(ui->actionSqlResultsSave))->setPopupMode(QToolButton::InstantPopup);
@@ -2212,6 +2213,11 @@ void MainWindow::saveSqlResultsAsCsv()
22122213
qobject_cast<SqlExecutionArea*>(ui->tabSqlAreas->currentWidget())->saveAsCsv();
22132214
}
22142215

2216+
void MainWindow::saveSqlResultsAsJson()
2217+
{
2218+
qobject_cast<SqlExecutionArea*>(ui->tabSqlAreas->currentWidget())->saveAsJson();
2219+
}
2220+
22152221
void MainWindow::saveSqlResultsAsView()
22162222
{
22172223
saveAsView(qobject_cast<SqlExecutionArea*>(ui->tabSqlAreas->currentWidget())->getModel()->query());

src/MainWindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ private slots:
198198
void saveSqlFile();
199199
void saveSqlFileAs();
200200
void saveSqlResultsAsCsv();
201+
void saveSqlResultsAsJson();
201202
void saveSqlResultsAsView();
202203
void loadExtension();
203204
void checkNewVersion(const QString& versionstring, const QString& url);

src/MainWindow.ui

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1916,6 +1916,11 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed
19161916
<string>Export to &amp;CSV</string>
19171917
</property>
19181918
</action>
1919+
<action name="actionSqlResultsExportJson">
1920+
<property name="text">
1921+
<string>Export to &amp;JSON</string>
1922+
</property>
1923+
</action>
19191924
<action name="actionSqlResultsSaveAsView">
19201925
<property name="text">
19211926
<string>Save as &amp;view</string>
@@ -3134,6 +3139,22 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed
31343139
</hint>
31353140
</hints>
31363141
</connection>
3142+
<connection>
3143+
<sender>actionSqlResultsExportJson</sender>
3144+
<signal>triggered()</signal>
3145+
<receiver>MainWindow</receiver>
3146+
<slot>saveSqlResultsAsJson()</slot>
3147+
<hints>
3148+
<hint type="sourcelabel">
3149+
<x>-1</x>
3150+
<y>-1</y>
3151+
</hint>
3152+
<hint type="destinationlabel">
3153+
<x>518</x>
3154+
<y>314</y>
3155+
</hint>
3156+
</hints>
3157+
</connection>
31373158
<connection>
31383159
<sender>actionSqlResultsSaveAsView</sender>
31393160
<signal>triggered()</signal>

src/SqlExecutionArea.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ void SqlExecutionArea::saveAsCsv()
131131
dialog.exec();
132132
}
133133

134+
void SqlExecutionArea::saveAsJson()
135+
{
136+
ExportDataDialog dialog(db, ExportDataDialog::ExportFormatJson, this, model->query());
137+
dialog.exec();
138+
}
139+
134140
void SqlExecutionArea::reloadSettings()
135141
{
136142
// Reload editor and table settings

src/SqlExecutionArea.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class SqlExecutionArea : public QWidget
4646
public slots:
4747
void finishExecution(const QString& result, const bool ok);
4848
void saveAsCsv();
49+
void saveAsJson();
4950
void reloadSettings();
5051
void fetchedData();
5152
void setFindFrameVisibility(bool show);

src/SqlExecutionArea.ui

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@
291291
<connections/>
292292
<slots>
293293
<slot>saveAsCsv()</slot>
294+
<slot>saveAsJson()</slot>
294295
<slot>saveAsView()</slot>
295296
</slots>
296297
</ui>

0 commit comments

Comments
 (0)