Skip to content

Commit 5c5788a

Browse files
author
Jim Hamill
committed
Latest
1 parent 4ebaf5d commit 5c5788a

11 files changed

+342
-12
lines changed

Extension/Extension.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ int Extension::removeTable(QString table)
4949
return false;
5050
}
5151

52+
void Extension::addRelations(QSqlRelationalTableModel *model)
53+
{
54+
55+
}
56+
5257
QList<ExtensionTab*> Extension::getTabs()
5358
{
5459
return m_tabs;

Extension/Extension.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <QWidget>
77
#include <QIcon>
88
#include <QToolBar>
9+
#include <QSqlRelationalTableModel>
910

1011
#include "SchemaWidget.h"
1112

@@ -36,6 +37,8 @@ Q_OBJECT
3637
virtual int createTable(QString table);
3738
virtual int removeTable(QString table);
3839

40+
virtual void addRelations(QSqlRelationalTableModel *model);
41+
3942
virtual QList<ExtensionTab*> getTabs();
4043
virtual QList<QToolBar*> getToolBars();
4144

MainWindow.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ void MainWindow::on_actionNew_Connection_triggered()
3939
// Create a new database connection widget
4040
DatabaseConnectionWidget *databaseConnectionWidget = new DatabaseConnectionWidget(this);
4141

42+
// Seed random number generator
43+
qsrand(QTime::currentTime().msec());
44+
4245
// Get SSH Tunnel information from dialog
4346
QString sshHostname = connectionDialog.getSshHostname();
4447
int sshPort = connectionDialog.getSshPort();

OpenConnectionDialog.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ OpenConnectionDialog::~OpenConnectionDialog()
3131
delete ui;
3232
}
3333

34+
Connection * OpenConnectionDialog::getConnection()
35+
{
36+
Connection *connection = new Connection;
37+
connection->driver = ui->driverCombo->currentText();
38+
}
39+
3440
QString OpenConnectionDialog::getName()
3541
{
3642
if (getDriver() == "QMYSQL" || getDriver() == "QMYSQL3") {
@@ -130,7 +136,7 @@ void OpenConnectionDialog::on_addButton_clicked()
130136
// Only add connection if there's actually text there
131137
if (getName().length()) {
132138
// Add connection from settings to list
133-
SavedConnection *newConnection = new SavedConnection;
139+
Connection *newConnection = new Connection;
134140
newConnection->name = getName();
135141
newConnection->database = getDatabase();
136142
newConnection->driver = getDriver();
@@ -150,7 +156,7 @@ void OpenConnectionDialog::on_addButton_clicked()
150156
settings.beginWriteArray("connections");
151157

152158
int i = 0;
153-
foreach(SavedConnection* connection, savedConnections)
159+
foreach(Connection* connection, savedConnections)
154160
{
155161
settings.setArrayIndex(i);
156162

@@ -176,9 +182,9 @@ void OpenConnectionDialog::on_addButton_clicked()
176182

177183
void OpenConnectionDialog::on_connectionsListWidget_itemActivated(QListWidgetItem *item)
178184
{
179-
SavedConnection *connection;
185+
Connection *connection;
180186

181-
QList<SavedConnection*>::iterator i;
187+
QList<Connection*>::iterator i;
182188
for (i = savedConnections.begin(); i != savedConnections.end(); ++i) {
183189

184190
if ((*i)->name == item->text()) {
@@ -215,7 +221,7 @@ void OpenConnectionDialog::reloadConnections()
215221
settings.setArrayIndex(i);
216222

217223
// Add connection from settings to list
218-
SavedConnection *connection = new SavedConnection;
224+
Connection *connection = new Connection;
219225
connection->name = settings.value("name").toString();
220226
connection->database = settings.value("database").toString();
221227
connection->driver = settings.value("driver").toString();
@@ -242,7 +248,7 @@ void OpenConnectionDialog::on_removeButton_clicked()
242248
QListWidgetItem *item = ui->connectionsListWidget->currentItem();
243249

244250
if (item) {
245-
QList<SavedConnection*>::iterator i;
251+
QList<Connection*>::iterator i;
246252
for (i = savedConnections.begin(); i != savedConnections.end(); ++i) {
247253
if (item->text() == "-- New Connection --") {
248254
break;
@@ -259,7 +265,7 @@ void OpenConnectionDialog::on_removeButton_clicked()
259265
settings.beginWriteArray("connections");
260266

261267
int j = 0;
262-
foreach(SavedConnection* connection, savedConnections)
268+
foreach(Connection* connection, savedConnections)
263269
{
264270
settings.setArrayIndex(j);
265271

@@ -286,7 +292,7 @@ void OpenConnectionDialog::on_removeButton_clicked()
286292

287293
void OpenConnectionDialog::on_newConnectionButton_clicked()
288294
{
289-
SavedConnection *connection = new SavedConnection;
295+
Connection *connection = new Connection;
290296
int driver = ui->driverCombo->findText(connection->driver);
291297
ui->driverCombo->setCurrentIndex(driver);
292298
ui->databaseEdit->setText(connection->database);

OpenConnectionDialog.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Ui {
99
class OpenConnectionDialog;
1010
}
1111

12-
struct SavedConnection
12+
struct Connection
1313
{
1414
// Database settings
1515
QString name;
@@ -34,6 +34,8 @@ class OpenConnectionDialog : public QDialog
3434
explicit OpenConnectionDialog(QWidget *parent = 0);
3535
~OpenConnectionDialog();
3636

37+
Connection *getConnection();
38+
3739
QString getName();
3840
QString getDriver();
3941
QString getDatabase();
@@ -71,7 +73,7 @@ private slots:
7173
private:
7274
Ui::OpenConnectionDialog *ui;
7375

74-
QList<SavedConnection*> savedConnections;
76+
QList<Connection*> savedConnections;
7577
};
7678

7779
#endif // OPENCONNECTIONDIALOG_H

QueryHistoryWidget.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,13 @@ void QueryHistoryWidget::addQuery(QString query)
1717
{
1818
ui->commandListWidget->addItem(query);
1919
}
20+
21+
void QueryHistoryWidget::on_commandListWidget_itemActivated(QListWidgetItem *item)
22+
{
23+
emit querySelected(item->text());
24+
}
25+
26+
void QueryHistoryWidget::on_clearButton_clicked()
27+
{
28+
ui->commandListWidget->clear();
29+
}

QueryHistoryWidget.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#define QUERYHISTORYWIDGET_H
33

44
#include <QWidget>
5+
#include <QListWidgetItem>
56

67
namespace Ui {
78
class QueryHistoryWidget;
@@ -17,6 +18,14 @@ class QueryHistoryWidget : public QWidget
1718

1819
void addQuery(QString query);
1920

21+
signals:
22+
void querySelected(const QString&);
23+
24+
private slots:
25+
void on_commandListWidget_itemActivated(QListWidgetItem *item);
26+
27+
void on_clearButton_clicked();
28+
2029
private:
2130
Ui::QueryHistoryWidget *ui;
2231
};

QueryHistoryWidget.ui

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,34 @@
1414
<string>Form</string>
1515
</property>
1616
<layout class="QGridLayout" name="gridLayout">
17-
<item row="0" column="0">
17+
<item row="0" column="0" colspan="2">
1818
<widget class="QListWidget" name="commandListWidget"/>
1919
</item>
20+
<item row="1" column="0">
21+
<spacer name="horizontalSpacer">
22+
<property name="orientation">
23+
<enum>Qt::Horizontal</enum>
24+
</property>
25+
<property name="sizeHint" stdset="0">
26+
<size>
27+
<width>158</width>
28+
<height>20</height>
29+
</size>
30+
</property>
31+
</spacer>
32+
</item>
33+
<item row="1" column="1">
34+
<widget class="QToolButton" name="clearButton">
35+
<property name="text">
36+
<string>...</string>
37+
</property>
38+
<property name="icon">
39+
<iconset theme="edit-clear">
40+
<normaloff/>
41+
</iconset>
42+
</property>
43+
</widget>
44+
</item>
2045
</layout>
2146
</widget>
2247
<resources/>

QueryWidget.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ QueryWidget::QueryWidget(QWidget *parent) :
1818
m_highlighter = new SQLHighlighter(ui->queryEdit->document());
1919

2020
// Connect history's click with fill function
21-
//connect(ui->queryHistoryWidget, SIGNAL())
21+
connect(ui->queryHistoryWidget, SIGNAL(querySelected(QString)), this, SLOT(setQuery(QString)));
2222
connect(ui->savedQueryWidget, SIGNAL(addButtonClicked()), this, SLOT(saveQuery()));
2323
}
2424

@@ -86,3 +86,8 @@ void QueryWidget::saveQuery()
8686
{
8787
ui->savedQueryWidget->addQuery(ui->queryEdit->toPlainText());
8888
}
89+
90+
void QueryWidget::setQuery(QString query)
91+
{
92+
ui->queryEdit->setText(query);
93+
}

QueryWidget.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ private slots:
3030

3131
void saveQuery();
3232

33+
void setQuery(QString query);
34+
3335
signals:
3436
void refreshNeeded();
3537

0 commit comments

Comments
 (0)