You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/kexi/tests/startup/main.cpp

120 lines
4.3 KiB

/* This file is part of the KDE project
Copyright (C) 2003 Jaroslaw Staniek <js@iidea.pl>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include <kdebug.h>
#include <kapplication.h>
//#include <tableview/kexitableview.h>
/*#include <kexidb/drivermanager.h>
#include <kexidb/driver.h>
#include <kexidb/connection.h>
#include <kexidb/cursor.h>*/
#include "main/startup/KexiStartupDialog.h"
#include "main/startup/KexiConnSelector.h"
#include "core/kexiprojectset.h"
#include "core/kexiprojectdata.h"
int main(int argc, char* argv[])
{
KApplication app(argc, argv, "startup");
// Widget w;
// app.setMainWidget(&w);
/* KexiTableView tv;
app.setMainWidget(&tv);
KexiTableViewData data;
KexiTableViewColumn col;
col.type = QVariant::Int; col.caption = "Id"; data.addColumn( col );
col.type = QVariant::String; col.caption = "Name"; data.addColumn( col );
col.type = QVariant::Int; col.caption = "Age"; data.addColumn( col );
tv.setData(&data, false);
tv.show();*/
//some connection data
KexiDBConnectionSet connset;
KexiDB::ConnectionData *conndata;
conndata = new KexiDB::ConnectionData();
conndata->name = "My connection 1";
conndata->driverName = "mysql";
conndata->hostName = "host.net";
conndata->userName = "user";
connset.addConnectionData(conndata);
conndata = new KexiDB::ConnectionData();
conndata->name = "My connection 2";
conndata->driverName = "mysql";
conndata->hostName = "myhost.org";
conndata->userName = "otheruser";
conndata->port = 53121;
connset.addConnectionData(conndata);
//some recent projects data
KexiProjectData *prjdata;
prjdata = new KexiProjectData( *conndata, "bigdb", "Big DB" );
prjdata->setCaption("My Big Project");
prjdata->setDescription("This is my first biger project started yesterday. Have fun!");
KexiProjectSet prj_set;
prj_set.addProjectData(prjdata);
KexiStartupDialog startup(KexiStartupDialog::Everything, 0, connset, prj_set, 0, "dlg");
int e=startup.exec();
kdDebug() << (e==QDialog::Accepted ? "Accepted" : "Rejected") << endl;
if (e==QDialog::Accepted) {
int r = startup.result();
if (r==KexiStartupDialog::TemplateResult) {
kdDebug() << "Template key == " << startup.selectedTemplateKey() << endl;
if (startup.selectedTemplateKey()=="blank") {
#if 0
KexiConnSelectorDialog sel(connset, 0,"sel");
e = sel.exec();
kdDebug() << (e==QDialog::Accepted ? "Accepted" : "Rejected") << endl;
if (e==QDialog::Accepted) {
kdDebug() << "Selected conn. type: " << (sel.selectedConnectionType()==KexiConnSelectorWidget::FileBased ? "File based" : "Server based") << endl;
if (sel.selectedConnectionType()==KexiConnSelectorWidget::ServerBased) {
kdDebug() << "SERVER: " << sel.selectedConnectionData()->serverInfoString() << endl;
}
}
#endif
}
}
else if (r==KexiStartupDialog::OpenExistingResult) {
kdDebug() << "Existing project --------" << endl;
QString selFile = startup.selectedExistingFile();
if (!selFile.isEmpty())
kdDebug() << "Project File: " << selFile << endl;
else if (startup.selectedExistingConnection()) {
kdDebug() << "Existing connection: " << startup.selectedExistingConnection()->serverInfoString() << endl;
//ok, now we are trying to show daabases for this conenction to this user
//todo
}
}
else if (r==KexiStartupDialog::OpenRecentResult) {
kdDebug() << "Recent project --------" << endl;
const KexiProjectData *data = startup.selectedProjectData();
if (data) {
kdDebug() << "Selected project: database=" << data->databaseName()
<< " connection=" << data->constConnectionData()->serverInfoString() << endl;
}
}
}
}