[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [labplot/sql] src: Made more usage of new ImportDialog and DatabaseManager.
From:       Alexander Semke <alexander.semke () web ! de>
Date:       2016-12-04 19:57:39
Message-ID: E1cDcup-0006sQ-JP () code ! kde ! org
[Download RAW message or body]

Git commit 060b630b98147d9b07d08e04fb97c2ebccde2574 by Alexander Semke.
Committed on 04/12/2016 at 19:57.
Pushed by asemke into branch 'sql'.

Made more usage of new ImportDialog and DatabaseManager.

M  +4    -1    src/CMakeLists.txt
M  +2    -2    src/kdefrontend/MainWin.cpp
M  +3    -1    src/kdefrontend/datasources/ImportDialog.h
M  +4    -6    src/kdefrontend/datasources/ImportFileDialog.cpp
M  +1    -1    src/kdefrontend/datasources/ImportFileDialog.h
M  +10   -4    src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp
M  +3    -9    src/kdefrontend/datasources/ImportSQLDatabaseDialog.h
M  +98   -115  src/kdefrontend/datasources/ImportSQLDatabaseWidget.cpp
M  +1    -4    src/kdefrontend/datasources/ImportSQLDatabaseWidget.h
A  +204  -0    src/kdefrontend/ui/datasources/importsqldatabasewidget.ui
D  +0    -221  src/kdefrontend/ui/importsqldatabasewidget.ui

https://commits.kde.org/labplot/060b630b98147d9b07d08e04fb97c2ebccde2574

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3e873a2..f3bd111 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -19,6 +19,8 @@ set(GUI_SOURCES
 	${KDEFRONTEND_DIR}/ThemeHandler.cpp
 	${KDEFRONTEND_DIR}/datasources/AsciiOptionsWidget.cpp
 	${KDEFRONTEND_DIR}/datasources/BinaryOptionsWidget.cpp
+	${KDEFRONTEND_DIR}/datasources/DatabaseManagerDialog.cpp
+	${KDEFRONTEND_DIR}/datasources/DatabaseManagerWidget.cpp
 	${KDEFRONTEND_DIR}/datasources/HDFOptionsWidget.cpp
 	${KDEFRONTEND_DIR}/datasources/FileInfoDialog.cpp
 	${KDEFRONTEND_DIR}/datasources/ImageOptionsWidget.cpp
@@ -85,9 +87,11 @@ set(UI_SOURCES
 	${KDEFRONTEND_DIR}/ui/settingsprintingpage.ui
 	${KDEFRONTEND_DIR}/ui/datasources/asciioptionswidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/binaryoptionswidget.ui
+	${KDEFRONTEND_DIR}/ui/datasources/databasemanagerwidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/hdfoptionswidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/imageoptionswidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/importfilewidget.ui
+	${KDEFRONTEND_DIR}/ui/datasources/importsqldatabasewidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/netcdfoptionswidget.ui
 	${KDEFRONTEND_DIR}/ui/datasources/fitsoptionswidget.ui
 	${KDEFRONTEND_DIR}/ui/dockwidgets/axisdock.ui
@@ -123,7 +127,6 @@ set(UI_SOURCES
 	${KDEFRONTEND_DIR}/ui/fitsheadereditwidget.ui
 	${KDEFRONTEND_DIR}/ui/fitsheadereditnewkeywordwidget.ui
 	${KDEFRONTEND_DIR}/ui/fitsheadereditaddunitwidget.ui
-	${KDEFRONTEND_DIR}/ui/importsqldatabasewidget.ui
 )
 
 set(BACKEND_SOURCES
diff --git a/src/kdefrontend/MainWin.cpp b/src/kdefrontend/MainWin.cpp
index 975bdd1..08638fc 100644
--- a/src/kdefrontend/MainWin.cpp
+++ b/src/kdefrontend/MainWin.cpp
@@ -1507,7 +1507,7 @@ void MainWin::importFileDialog(const QString& fileName) {
 	ImportFileDialog* dlg= new ImportFileDialog(this, m_currentAspect, fileName);
 
 	if (dlg->exec() == QDialog::Accepted) {
-		dlg->importTo(statusBar());
+		dlg->import(statusBar());
 		m_project->setChanged(true);
 	}
 
@@ -1520,7 +1520,7 @@ void MainWin::importSqlDialog() {
 	ImportSQLDatabaseDialog* dlg = new ImportSQLDatabaseDialog(this, m_currentAspect);
 
 	if (dlg->exec() == QDialog::Accepted) {
-		dlg->importTo(statusBar());
+		dlg->import(statusBar());
 		m_project->setChanged(true);
 	}
 
diff --git a/src/kdefrontend/datasources/ImportDialog.h \
b/src/kdefrontend/datasources/ImportDialog.h index 81fbc33..dfdfd66 100644
--- a/src/kdefrontend/datasources/ImportDialog.h
+++ b/src/kdefrontend/datasources/ImportDialog.h
@@ -43,6 +43,7 @@ class QVBoxLayout;
 class QComboBox;
 class QGroupBox;
 class QToolButton;
+class QStatusBar;
 
 class ImportDialog : public KDialog {
 	Q_OBJECT
@@ -51,14 +52,15 @@ public:
 	explicit ImportDialog(MainWin*);
 	~ImportDialog();
 
+	virtual void import(QStatusBar*) const = 0;
 	void setCurrentIndex(const QModelIndex&);
 	virtual QString selectedObject() const = 0;
 	virtual void checkOkButton() = 0;
 
 protected:
-	QVBoxLayout* vLayout;
 	void setModel(QAbstractItemModel*, AbstractAspect*);
 
+	QVBoxLayout* vLayout;
 	TreeViewComboBox* cbAddTo;
 	QLabel* lPosition;
 	QComboBox* cbPosition;
diff --git a/src/kdefrontend/datasources/ImportFileDialog.cpp \
b/src/kdefrontend/datasources/ImportFileDialog.cpp index 6cd0c6c..01911ca 100644
--- a/src/kdefrontend/datasources/ImportFileDialog.cpp
+++ b/src/kdefrontend/datasources/ImportFileDialog.cpp
@@ -55,12 +55,10 @@
 	\ingroup kdefrontend
  */
 
-ImportFileDialog::ImportFileDialog(MainWin* parent, AbstractAspect* currentAspect, \
                const QString& fileName, bool fileDataSource) : ImportDialog(parent)
-// , m_mainWin(parent),
-, m_showOptions(false)
-	{
+ImportFileDialog::ImportFileDialog(MainWin* parent, AbstractAspect* currentAspect, \
const QString& fileName, bool fileDataSource) : ImportDialog(parent), \
+	importFileWidget(new ImportFileWidget(this, fileName)), +	m_showOptions(false) {
 
-	importFileWidget = new ImportFileWidget(this, fileName);
 	vLayout->addWidget(importFileWidget);
 
 	setButtons( KDialog::Ok | KDialog::User1 | KDialog::Cancel );
@@ -124,7 +122,7 @@ void ImportFileDialog::importToFileDataSource(FileDataSource* \
source, QStatusBar  /*!
   triggers data import to the currently selected data container
 */
-void ImportFileDialog::importTo(QStatusBar* statusBar) const {
+void ImportFileDialog::import(QStatusBar* statusBar) const {
 	DEBUG_LOG("ImportFileDialog::importTo()");
 	DEBUG_LOG("cbAddTo->currentModelIndex() =" << cbAddTo->currentModelIndex());
 	AbstractAspect* aspect = \
                static_cast<AbstractAspect*>(cbAddTo->currentModelIndex().internalPointer());
                
diff --git a/src/kdefrontend/datasources/ImportFileDialog.h \
b/src/kdefrontend/datasources/ImportFileDialog.h index 511a967..1ca4ccf 100644
--- a/src/kdefrontend/datasources/ImportFileDialog.h
+++ b/src/kdefrontend/datasources/ImportFileDialog.h
@@ -49,7 +49,7 @@ public:
 	virtual void checkOkButton();
 
 	void importToFileDataSource(FileDataSource*, QStatusBar*) const;
-	void importTo(QStatusBar*) const;
+	virtual void import(QStatusBar*) const;
 
 private:
 	ImportFileWidget* importFileWidget;
diff --git a/src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp \
b/src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp index 417300d..786bd85 \
                100644
--- a/src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp
+++ b/src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp
@@ -29,10 +29,10 @@
 
 #include "ImportSQLDatabaseDialog.h"
 #include "ImportSQLDatabaseWidget.h"
-#include "kdefrontend/MainWin.h"
 #include "backend/core/AspectTreeModel.h"
+#include "kdefrontend/MainWin.h"
 
-// #include <QStatusBar>
+#include <QStatusBar>
 
 /*!
     \class ImportSQLDatabaseDialog
@@ -53,13 +53,19 @@ ImportSQLDatabaseDialog::ImportSQLDatabaseDialog(MainWin* parent, \
AbstractAspect  // 	connect( importSQLDatabaseWidget, SIGNAL(statusChanged(QString)), \
m_statusBar, SLOT(showMessage(QString)) );  setCaption(i18n("Import Data to \
Spreadsheet or Matrix"));  setWindowIcon(KIcon("document-import-database"));
-	setAttribute(Qt::WA_DeleteOnClose);
+
+	//restore saved settings
+	KConfigGroup conf(KSharedConfig::openConfig(), "ImportSQLDatabaseDialog");
+	restoreDialogSize(conf);
 }
 
 ImportSQLDatabaseDialog::~ImportSQLDatabaseDialog() {
+	//save current settings
+	KConfigGroup conf(KSharedConfig::openConfig(), "ImportSQLDatabaseDialog");
+	saveDialogSize(conf);
 }
 
-void ImportSQLDatabaseDialog::importTo(QStatusBar*) const {
+void ImportSQLDatabaseDialog::import(QStatusBar*) const {
 	
 }
 
diff --git a/src/kdefrontend/datasources/ImportSQLDatabaseDialog.h \
b/src/kdefrontend/datasources/ImportSQLDatabaseDialog.h index 11ad8cd..356310d 100644
--- a/src/kdefrontend/datasources/ImportSQLDatabaseDialog.h
+++ b/src/kdefrontend/datasources/ImportSQLDatabaseDialog.h
@@ -32,24 +32,18 @@
 
 #include "kdefrontend/datasources/ImportDialog.h"
 
-#include <KDialog>
-#include <QVBoxLayout>
-
 class MainWin;
-class QVBoxLayout;
 class QStatusBar;
 class ImportSQLDatabaseWidget;
-class Project;
-
 
-class ImportSQLDatabaseDialog: public ImportDialog {
+class ImportSQLDatabaseDialog : public ImportDialog {
 	Q_OBJECT
 
 public:
-	explicit ImportSQLDatabaseDialog(MainWin* , AbstractAspect* currentAspect);
+	explicit ImportSQLDatabaseDialog(MainWin*, AbstractAspect*);
 	~ImportSQLDatabaseDialog();
 
-	void importTo(QStatusBar*) const;
+	void import(QStatusBar*) const;
 	virtual QString selectedObject() const;
 	virtual void checkOkButton();
 
diff --git a/src/kdefrontend/datasources/ImportSQLDatabaseWidget.cpp \
b/src/kdefrontend/datasources/ImportSQLDatabaseWidget.cpp index 356f23f..1af4b5b \
                100644
--- a/src/kdefrontend/datasources/ImportSQLDatabaseWidget.cpp
+++ b/src/kdefrontend/datasources/ImportSQLDatabaseWidget.cpp
@@ -26,6 +26,7 @@
  ***************************************************************************/
 
 #include "ImportSQLDatabaseWidget.h"
+#include "DatabaseManagerDialog.h"
 #include "kdefrontend/MainWin.h"
 #include "commonfrontend/widgets/TreeViewComboBox.h"
 #include "backend/core/Project.h"
@@ -38,55 +39,50 @@
 #include <QTreeView>
 
 ImportSQLDatabaseWidget::ImportSQLDatabaseWidget(QWidget* parent):QWidget(parent),
-// , m_mainWin(parent), mainProject(project),
-	cbSheet(0), m_sheet(0), m_aspectTreeModel(0), m_databaseTreeModel(0) {
+	m_aspectTreeModel(0), m_databaseTreeModel(0) {
 	ui.setupUi(this);
 
-	vendorList.append("QDB2");
-	ui.cbVendor->addItem(i18n("DB2"));
-	vendorList.append("QIBASE");
-	ui.cbVendor->addItem(i18n("IBASE"));
-	vendorList.append("QMYSQL");
-	ui.cbVendor->addItem(i18n("MYSQL"));
-	vendorList.append("QOCI");
-	ui.cbVendor->addItem(i18n("OCI"));
-	vendorList.append("QODBC");
-	ui.cbVendor->addItem(i18n("ODBC"));
-	vendorList.append("QPSQL");
-	ui.cbVendor->addItem(i18n("PSQL"));
-	vendorList.append("QSQLITE");
-	ui.cbVendor->addItem(i18n("SQLITE"));
-	vendorList.append("QSQLITE2");
-	ui.cbVendor->addItem(i18n("SQLITE2"));
-	vendorList.append("QTDS");
-	ui.cbVendor->addItem(i18n("TDS"));
+	ui.bDatabaseManager->setIcon(KIcon("network-server-database"));
+	connect( ui.bDatabaseManager, SIGNAL(clicked()), this, SLOT(showDatabaseManager()) \
);  
-	cbSheet = new TreeViewComboBox();
-	setProjectModel();
-	//  TODO: change layout
-	ui.wProjectTree->layout()->addWidget(cbSheet);
-
-	connect( ui.pbConnect, SIGNAL(clicked()), this, SLOT(connectDatabase()) );
-	connect( ui.pbRefreshPreview, SIGNAL(clicked()), this, SLOT(showPreview()) );
-	connect( ui.cbShowPreview, SIGNAL(clicked()), this, SLOT(togglePreviewWidget()) );
-	connect( cbSheet, SIGNAL(currentModelIndexChanged(QModelIndex)), this, \
                SLOT(currentSheetChanged(QModelIndex)) );
-	connect( ui.pbImport, SIGNAL(clicked()), this, SLOT(importData()) );
-	loadSettings();
+// 	vendorList.append("QDB2");
+// 	ui.cbVendor->addItem(i18n("DB2"));
+// 	vendorList.append("QIBASE");
+// 	ui.cbVendor->addItem(i18n("IBASE"));
+// 	vendorList.append("QMYSQL");
+// 	ui.cbVendor->addItem(i18n("MYSQL"));
+// 	vendorList.append("QOCI");
+// 	ui.cbVendor->addItem(i18n("OCI"));
+// 	vendorList.append("QODBC");
+// 	ui.cbVendor->addItem(i18n("ODBC"));
+// 	vendorList.append("QPSQL");
+// 	ui.cbVendor->addItem(i18n("PSQL"));
+// 	vendorList.append("QSQLITE");
+// 	ui.cbVendor->addItem(i18n("SQLITE"));
+// 	vendorList.append("QSQLITE2");
+// 	ui.cbVendor->addItem(i18n("SQLITE2"));
+// 	vendorList.append("QTDS");
+// 	ui.cbVendor->addItem(i18n("TDS"));
+// 
+// 	connect( ui.pbConnect, SIGNAL(clicked()), this, SLOT(connectDatabase()) );
+// 	connect( ui.pbRefreshPreview, SIGNAL(clicked()), this, SLOT(showPreview()) );
+// 	connect( ui.cbShowPreview, SIGNAL(clicked()), this, SLOT(togglePreviewWidget()) \
); +// 	loadSettings();
 }
 
 void ImportSQLDatabaseWidget::loadSettings() {
 	//load last used settings
-	KConfigGroup conf(KSharedConfig::openConfig(), "SQLImport");
-
-	ui.cbVendor->setCurrentIndex( conf.readEntry( "VendorIndex", 0) );
-	ui.leHostName->setText( conf.readEntry( "HostName", "127.0.0.1") );
-	ui.sbPort->setValue( conf.readEntry( "Port", 3306) );
-	ui.leDatabaseName->setText( conf.readEntry( "DatabaseName", "") );
-	ui.leUserName->setText( conf.readEntry("UserName", "root") );
-	ui.lePassword->setText( conf.readEntry("Password", "root") );
-	ui.cbShowPreview->setChecked( conf.readEntry("ShowPreview", false));
-
-	togglePreviewWidget();
+// 	KConfigGroup conf(KSharedConfig::openConfig(), "SQLImport");
+// 
+// 	ui.cbVendor->setCurrentIndex( conf.readEntry( "VendorIndex", 0) );
+// 	ui.leHostName->setText( conf.readEntry( "HostName", "127.0.0.1") );
+// 	ui.sbPort->setValue( conf.readEntry( "Port", 3306) );
+// 	ui.leDatabaseName->setText( conf.readEntry( "DatabaseName", "") );
+// 	ui.leUserName->setText( conf.readEntry("UserName", "root") );
+// 	ui.lePassword->setText( conf.readEntry("Password", "root") );
+// 	ui.cbShowPreview->setChecked( conf.readEntry("ShowPreview", false));
+// 
+// 	togglePreviewWidget();
 }
 
 void ImportSQLDatabaseWidget::setDatabaseModel() {
@@ -123,62 +119,39 @@ void ImportSQLDatabaseWidget::setDatabaseModel() {
 	ui.cbDatabaseTree->setView(databaseTreeView);
 }
 
-void ImportSQLDatabaseWidget::setProjectModel() {
-// 	QList<const char*>  list;
-// 	list<<"Folder"<<"Workbook"<<"Datapicker"<<"DatapickerCurve"<<"Spreadsheet";
-// 
-// 	if (cbSheet)
-// 		cbSheet->setTopLevelClasses(list);
-// 
-// 	list.clear();
-// 	list<<"Spreadsheet";
-// 	if (cbSheet)
-// 		cbSheet->setSelectableClasses(list);
+ImportSQLDatabaseWidget::~ImportSQLDatabaseWidget() {
+// 	if (m_aspectTreeModel)
+// 		delete m_aspectTreeModel;
 // 
-// 	m_aspectTreeModel = new AspectTreeModel(mainProject);
-// 	m_aspectTreeModel->setSelectableAspects(list);
+// 	// save current settings
+// 	KConfigGroup conf(KSharedConfig::openConfig(), "SQLImport");
 // 
-// 	if (cbSheet)
-// 		cbSheet->setModel(m_aspectTreeModel);
-}
-
-void ImportSQLDatabaseWidget::currentSheetChanged(const QModelIndex& index) {
-	m_sheet = static_cast<AbstractAspect*>(index.internalPointer());
-}
-
-ImportSQLDatabaseWidget::~ImportSQLDatabaseWidget() {
-	if (m_aspectTreeModel)
-		delete m_aspectTreeModel;
-
-	// save current settings
-	KConfigGroup conf(KSharedConfig::openConfig(), "SQLImport");
-
-	conf.writeEntry( "VendorIndex", ui.cbVendor->currentIndex() );
-	conf.writeEntry( "HostName", ui.leHostName->text() );
-	conf.writeEntry( "Port", ui.sbPort->value() );
-	conf.writeEntry( "DatabaseName", ui.leDatabaseName->text() );
-	conf.writeEntry( "UserName", ui.leUserName->text() );
-	conf.writeEntry( "Password", ui.lePassword->text() );
-	conf.writeEntry( "ShowPreview", ui.cbShowPreview->isChecked() );
+// 	conf.writeEntry( "VendorIndex", ui.cbVendor->currentIndex() );
+// 	conf.writeEntry( "HostName", ui.leHostName->text() );
+// 	conf.writeEntry( "Port", ui.sbPort->value() );
+// 	conf.writeEntry( "DatabaseName", ui.leDatabaseName->text() );
+// 	conf.writeEntry( "UserName", ui.leUserName->text() );
+// 	conf.writeEntry( "Password", ui.lePassword->text() );
+// 	conf.writeEntry( "ShowPreview", ui.cbShowPreview->isChecked() );
 }
 
 void ImportSQLDatabaseWidget::connectDatabase() {
-	m_db = QSqlDatabase::addDatabase( vendorList.at(ui.cbVendor->currentIndex()) );
-	m_db.setHostName( ui.leHostName->text() );
-	m_db.setPort( ui.sbPort->value() );
-	m_db.setDatabaseName( ui.leDatabaseName->text() );
-	m_db.setUserName( ui.leUserName->text() );
-	m_db.setPassword( ui.lePassword->text() );
-
-	if (m_db.isValid()) {
-		m_db.open();
-		if (m_db.isOpen()) {
-			setDatabaseModel();
-			m_db.close();
-		}
-	}
-
-	updateStatus();
+// 	m_db = QSqlDatabase::addDatabase( vendorList.at(ui.cbVendor->currentIndex()) );
+// 	m_db.setHostName( ui.leHostName->text() );
+// 	m_db.setPort( ui.sbPort->value() );
+// 	m_db.setDatabaseName( ui.leDatabaseName->text() );
+// 	m_db.setUserName( ui.leUserName->text() );
+// 	m_db.setPassword( ui.lePassword->text() );
+// 
+// 	if (m_db.isValid()) {
+// 		m_db.open();
+// 		if (m_db.isOpen()) {
+// 			setDatabaseModel();
+// 			m_db.close();
+// 		}
+// 	}
+// 
+// 	updateStatus();
 }
 
 void ImportSQLDatabaseWidget::previewColumn(QString columnNameList, QString \
tableName, int columnCount, bool showPreview) { @@ -203,34 +176,28 @@ void \
ImportSQLDatabaseWidget::previewColumn(QString columnNameList, QString tabl  row++;
 			}
 		} else {
-			Spreadsheet* spreadsheet = dynamic_cast<Spreadsheet*>(m_sheet);
-			if (spreadsheet) {
-				int prevColumnCount = spreadsheet->columnCount();
-				spreadsheet->setColumnCount(prevColumnCount + columnCount);
-				if (rowCount > spreadsheet->rowCount()) spreadsheet->setRowCount(rowCount);
-				while(searchQuery.next()) {
-					if (row >= ui.sbStartRow->value() && row <= ui.sbEndRow->value()) {
-						for(int index = 0; index < columnCount; index++) {
-							spreadsheet->column(index + \
                prevColumnCount)->setColumnMode(AbstractColumn::Text);
-							spreadsheet->column(index + prevColumnCount)->setTextAt(row - \
                ui.sbStartRow->value(), searchQuery.value(index).toString());
-						}
-					}
-					row++;
-				}
-			}
+			//TODO
+// 			Spreadsheet* spreadsheet = dynamic_cast<Spreadsheet*>(m_sheet);
+// 			if (spreadsheet) {
+// 				int prevColumnCount = spreadsheet->columnCount();
+// 				spreadsheet->setColumnCount(prevColumnCount + columnCount);
+// 				if (rowCount > spreadsheet->rowCount()) spreadsheet->setRowCount(rowCount);
+// 				while(searchQuery.next()) {
+// 					if (row >= ui.sbStartRow->value() && row <= ui.sbEndRow->value()) {
+// 						for(int index = 0; index < columnCount; index++) {
+// 							spreadsheet->column(index + \
prevColumnCount)->setColumnMode(AbstractColumn::Text); +// \
spreadsheet->column(index + prevColumnCount)->setTextAt(row - ui.sbStartRow->value(), \
searchQuery.value(index).toString()); +// 						}
+// 					}
+// 					row++;
+// 				}
+// 			}
 		}
 	}
 
 	updateStatus();
 }
 
-void ImportSQLDatabaseWidget::togglePreviewWidget() {
-	if (ui.cbShowPreview->isChecked())
-		ui.wPreviewTable->setVisible(true);
-	else
-		ui.wPreviewTable->setVisible(false);
-}
-
 void ImportSQLDatabaseWidget::showPreview() {
 	importData(true);
 }
@@ -273,3 +240,19 @@ void ImportSQLDatabaseWidget::updateStatus() {
 
 	emit statusChanged( msg );
 }
+
+/*!
+	shows the database manager where the connections edited and created.
+	The selected connection is selected in the connection combo box in this widget.
+**/
+void ImportSQLDatabaseWidget::showDatabaseManager() {
+	DatabaseManagerDialog* dlg = new DatabaseManagerDialog(this);
+
+	if (dlg->exec() == QDialog::Accepted) {
+		//TODO:
+		//1. add new connections that were created in the database manager to \
ui.cbConnection +		//2. make the connection that were selected in the database \
manager current in ui.cbConnection +	}
+
+	delete dlg;
+}
diff --git a/src/kdefrontend/datasources/ImportSQLDatabaseWidget.h \
b/src/kdefrontend/datasources/ImportSQLDatabaseWidget.h index dae8b9e..70c2d91 100644
--- a/src/kdefrontend/datasources/ImportSQLDatabaseWidget.h
+++ b/src/kdefrontend/datasources/ImportSQLDatabaseWidget.h
@@ -53,8 +53,6 @@ private:
 	QList<QString> vendorList;
 	QList<QString> tableNamesList;
 	QSqlDatabase m_db;
-	TreeViewComboBox* cbSheet;
-	AbstractAspect* m_sheet;
 	AspectTreeModel* m_aspectTreeModel;
 	Project* mainProject;
 	QStandardItemModel* m_databaseTreeModel;
@@ -66,11 +64,10 @@ private:
 	void previewColumn(QString, QString, int, bool showPreview = false);
 
 private slots:
+	void showDatabaseManager();
 	void connectDatabase();
-	void togglePreviewWidget();
 	void showPreview();
 	void importData(bool showPreview = false);
-	void currentSheetChanged(const QModelIndex&);
 
 signals:
 	void statusChanged(QString);
diff --git a/src/kdefrontend/ui/datasources/importsqldatabasewidget.ui \
b/src/kdefrontend/ui/datasources/importsqldatabasewidget.ui new file mode 100644
index 0000000..2f91437
--- /dev/null
+++ b/src/kdefrontend/ui/datasources/importsqldatabasewidget.ui
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ImportSQLDatabaseWidget</class>
+ <widget class="QWidget" name="ImportSQLDatabaseWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>478</width>
+    <height>422</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Database</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_2">
+      <item row="0" column="0">
+       <widget class="QLabel" name="lConnection">
+        <property name="text">
+         <string>Connection</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QComboBox" name="cbConnection">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QPushButton" name="bDatabaseManager">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="lDatabaseTree">
+        <property name="text">
+         <string>Table</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QComboBox" name="cbDatabaseTree"/>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
+      <string>Options</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QTabWidget" name="tabWidget">
+        <property name="currentIndex">
+         <number>0</number>
+        </property>
+        <widget class="QWidget" name="tab">
+         <attribute name="title">
+          <string>Data</string>
+         </attribute>
+         <layout class="QGridLayout" name="gridLayout_3">
+          <item row="0" column="0">
+           <widget class="QLabel" name="lStartRow">
+            <property name="text">
+             <string>Start Row:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="sbStartRow">
+            <property name="minimum">
+             <number>0</number>
+            </property>
+            <property name="maximum">
+             <number>1000</number>
+            </property>
+            <property name="value">
+             <number>0</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="lEndRow">
+            <property name="text">
+             <string>End Row:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="sbEndRow">
+            <property name="minimum">
+             <number>-1</number>
+            </property>
+            <property name="maximum">
+             <number>1000</number>
+            </property>
+            <property name="value">
+             <number>0</number>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="tabDataPreview">
+         <attribute name="title">
+          <string>Preview</string>
+         </attribute>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="lPreviewLines">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>Number of rows to preview:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="sbPreviewLines">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>10000</number>
+            </property>
+            <property name="value">
+             <number>100</number>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="2">
+           <spacer name="horizontalSpacer_2">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>93</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="0" column="3">
+           <widget class="QPushButton" name="pbRefreshPreview">
+            <property name="text">
+             <string>Refresh</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" colspan="4">
+           <widget class="QTableWidget" name="twPreviewTable"/>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/kdefrontend/ui/importsqldatabasewidget.ui \
b/src/kdefrontend/ui/importsqldatabasewidget.ui deleted file mode 100644
index 0ec0ea2..0000000
--- a/src/kdefrontend/ui/importsqldatabasewidget.ui
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ImportSQLDatabaseWidget</class>
- <widget class="QWidget" name="ImportSQLDatabaseWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>528</width>
-    <height>559</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="4" column="0">
-    <widget class="QLabel" name="lPassword">
-     <property name="text">
-      <string>Password</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="1" colspan="3">
-    <widget class="QLineEdit" name="lePassword">
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="1">
-    <widget class="QSpinBox" name="sbStartRow">
-     <property name="minimum">
-      <number>0</number>
-     </property>
-     <property name="maximum">
-      <number>1000</number>
-     </property>
-     <property name="value">
-      <number>0</number>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="1" colspan="2">
-    <widget class="QLineEdit" name="leHostName"/>
-   </item>
-   <item row="1" column="3">
-    <widget class="QLabel" name="lPort">
-     <property name="text">
-      <string>port</string>
-     </property>
-    </widget>
-   </item>
-   <item row="11" column="0" colspan="5">
-    <widget class="QWidget" name="wPreviewTable" native="true">
-     <layout class="QGridLayout" name="gridLayout_2">
-      <item row="0" column="2">
-       <widget class="QPushButton" name="pbRefreshPreview">
-        <property name="text">
-         <string>Refresh</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0" colspan="3">
-       <widget class="QTableWidget" name="twPreviewTable"/>
-      </item>
-      <item row="0" column="0">
-       <widget class="QLabel" name="lPreviewTable">
-        <property name="text">
-         <string>Preview</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>355</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="4" column="4">
-    <widget class="QPushButton" name="pbConnect">
-     <property name="text">
-      <string>Connect</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QLabel" name="lHostName">
-     <property name="text">
-      <string>Host Name</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="1" colspan="3">
-    <widget class="QComboBox" name="cbDatabaseTree"/>
-   </item>
-   <item row="0" column="0">
-    <widget class="QLabel" name="lVendor">
-     <property name="text">
-      <string>Vendor</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0">
-    <widget class="QLabel" name="lDatabaseTree">
-     <property name="text">
-      <string>Database Model:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="4">
-    <widget class="QSpinBox" name="sbPort">
-     <property name="buttonSymbols">
-      <enum>QAbstractSpinBox::NoButtons</enum>
-     </property>
-     <property name="suffix">
-      <string/>
-     </property>
-     <property name="maximum">
-      <number>60000</number>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="4">
-    <widget class="QSpinBox" name="sbEndRow">
-     <property name="minimum">
-      <number>-1</number>
-     </property>
-     <property name="maximum">
-      <number>1000</number>
-     </property>
-     <property name="value">
-      <number>0</number>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="4">
-    <widget class="QPushButton" name="pbImport">
-     <property name="text">
-      <string>Import</string>
-     </property>
-    </widget>
-   </item>
-   <item row="9" column="0" colspan="2">
-    <widget class="QCheckBox" name="cbShowPreview">
-     <property name="text">
-      <string>Show Preview</string>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="0">
-    <widget class="QLabel" name="lStartRow">
-     <property name="text">
-      <string>Start Row:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0">
-    <widget class="QLabel" name="lUserName">
-     <property name="text">
-      <string>User</string>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="2">
-    <widget class="QLabel" name="lEndRow">
-     <property name="text">
-      <string>End Row:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="1" colspan="3">
-    <widget class="QLineEdit" name="leUserName"/>
-   </item>
-   <item row="0" column="1">
-    <widget class="QComboBox" name="cbVendor"/>
-   </item>
-   <item row="2" column="1" colspan="3">
-    <widget class="QLineEdit" name="leDatabaseName"/>
-   </item>
-   <item row="2" column="0">
-    <widget class="QLabel" name="lDatabase">
-     <property name="text">
-      <string>Database Name</string>
-     </property>
-    </widget>
-   </item>
-   <item row="7" column="0" rowspan="2" colspan="4">
-    <widget class="QWidget" name="wProjectTree" native="true">
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <item>
-       <widget class="QLabel" name="lImportSheet">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Import Sheet:</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic