[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi
From: Jarosław Staniek <staniek () kde ! org>
Date: 2010-06-03 19:52:07
Message-ID: 20100603195207.C6421AC8C8 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1134266 by staniek:
Migration
*When source filename is preselected (e.g. when opening mdb file with Kexi), do not \
display the source name selection page
*Append proper extension is not present, e.g. .kexi (regression in 2.x)
M +4 -0 doc/dev/CHANGELOG-Kexi-js
M +27 -0 main/startup/KexiStartupFileWidget.cpp
M +17 -11 migration/importwizard.cpp
M +3 -0 migration/importwizard.h
--- trunk/koffice/kexi/doc/dev/CHANGELOG-Kexi-js #1134265:1134266
@@ -99,6 +99,10 @@
~~~~~~~~~~~~~~~~ 2.3 alpha 1 ~~~~~~~~~~~~~~~~
+Migration
+*When source filename is preselected (e.g. when opening mdb file with Kexi), do not \
display the source name selection page +*Append proper extension is not present, e.g. \
.kexi (regression in 2.x) +
**** TODO: setting "enabled" property to false does not work
Forms
*Image Box widget:
--- trunk/koffice/kexi/main/startup/KexiStartupFileWidget.cpp #1134265:1134266
@@ -339,6 +339,33 @@
return false;
}
+ if (!currentFilter().isEmpty()) {
+ if (d->mode & SavingFileBasedDB) {
+ const QStringList filters( currentFilter().split(" ") );
+ QString path = highlightedFile();
+ kDebug()<< "filter:" << filters << "path:" << path;
+ QString ext( QFileInfo(path).suffix() );
+ bool hasExtension = false;
+ foreach (const QString& filter, filters) {
+ const QString f( filter.trimmed() );
+ hasExtension = !f.mid(2).isEmpty() && ext==f.mid(2);
+ if (hasExtension)
+ break;
+ }
+ if (!hasExtension) {
+ //no extension: add one
+ QString defaultExtension( d->defaultExtension );
+ if (defaultExtension.isEmpty()) {
+ defaultExtension = filters.first().trimmed().mid(2); //first one
+ }
+ path += (QLatin1String(".")+defaultExtension);
+ kDebug() << "appended extension" << path;
+ setSelection( path );
+ d->highlightedUrl = KUrl(path);
+ }
+ }
+ }
+
kDebug() << "KexiStartupFileWidget::checkURL() path: " << d->highlightedUrl;
// kDebug() << "KexiStartupFileWidget::checkURL() fname: " << url.fileName();
//todo if ( url.isLocalFile() ) {
--- trunk/koffice/kexi/migration/importwizard.cpp #1134265:1134266
@@ -103,6 +103,8 @@
// m_srcTypeCombo->setCurrentText( driverName );
// showPage( m_srcConnPage );
+ setAppropriate(m_srcConnPageItem, false);
+ setAppropriate(m_srcDBPageItem, false);
m_srcConn->showSimpleConn();
m_srcConn->setSelectedFileName(m_predefinedDatabaseName);
@@ -145,6 +147,14 @@
m_args->clear();
}
+QString ImportWizard::selectedSourceFileName() const
+{
+ if (m_predefinedDatabaseName.isEmpty())
+ return m_srcConn->selectedFileName();
+
+ return m_predefinedDatabaseName;
+}
+
//===========================================================
//
void ImportWizard::setupIntro()
@@ -484,11 +494,7 @@
void ImportWizard::arriveDstTitlePage()
{
if (fileBasedSrcSelected()) {
- QString fname;
- if (m_predefinedDatabaseName.isEmpty())
- fname = m_srcConn->selectedFileName();
- else
- fname = m_predefinedDatabaseName;
+ const QString fname(selectedSourceFileName());
QString suggestedDBName(QFileInfo(fname).fileName());
const QFileInfo fi(suggestedDBName);
suggestedDBName = suggestedDBName.left(suggestedDBName.length()
@@ -607,12 +613,12 @@
QString ImportWizard::driverNameForSelectedSource()
{
if (fileBasedSrcSelected()) {
- KMimeType::Ptr ptr = \
KMimeType::findByFileContent(m_srcConn->selectedFileName()); + KMimeType::Ptr \
ptr = KMimeType::findByFileContent(selectedSourceFileName()); if (!ptr
|| ptr.data()->name() == "application/octet-stream"
|| ptr.data()->name() == "text/plain") {
//try by URL:
- ptr = KMimeType::findByUrl(m_srcConn->selectedFileName());
+ ptr = KMimeType::findByUrl(selectedSourceFileName());
}
return ptr ? m_migrateManager.driverForMimeType(ptr.data()->name()) : \
QString(); }
@@ -743,7 +749,7 @@
md->destination = new KexiProjectData(*cdata, dbname);
if (fileBasedSrcSelected()) {
KexiDB::ConnectionData* conn_data = new KexiDB::ConnectionData();
- conn_data->setFileName(m_srcConn->selectedFileName());
+ conn_data->setFileName(selectedSourceFileName());
md->source = conn_data;
md->sourceName.clear();
} else {
@@ -855,7 +861,7 @@
{
if (currentPage() == m_srcConnPageItem) {
if (fileBasedSrcSelected()
- && /*! @todo use KUrl? \
*/!QFileInfo(m_srcConn->selectedFileName()).isFile()) { + && /*! @todo \
use KUrl? */!QFileInfo(selectedSourceFileName()).isFile()) {
KMessageBox::sorry(this, i18n("Select source database filename."));
return;
@@ -870,7 +876,7 @@
if (!import || m_migrateManager.error()) {
QString dbname;
if (fileBasedSrcSelected())
- dbname = m_srcConn->selectedFileName();
+ dbname = selectedSourceFileName();
else
dbname = m_srcConn->selectedConnectionData()
? m_srcConn->selectedConnectionData()->serverInfoString() : \
QString(); @@ -978,7 +984,7 @@
void ImportWizard::slotOptionsButtonClicked()
{
- QPointer<OptionsDialog> dlg = new OptionsDialog(m_srcConn->selectedFileName(), \
m_sourceDBEncoding, this); + QPointer<OptionsDialog> dlg = new \
OptionsDialog(selectedSourceFileName(), m_sourceDBEncoding, this); if \
(QDialog::Accepted == dlg->exec()) {
if (m_sourceDBEncoding != dlg->encodingComboBox()->selectedEncoding()) {
m_sourceDBEncoding = dlg->encodingComboBox()->selectedEncoding();
--- trunk/koffice/kexi/migration/importwizard.h #1134265:1134266
@@ -119,6 +119,9 @@
void arriveFinishPage();
void arriveImportingPage();
+ //! @return source filename selected by user or preselected one (if present)
+ QString selectedSourceFileName() const;
+
QWidget *m_introPageWidget, *m_srcConnPageWidget, *m_srcDBPageWidget,
*m_dstTypePageWidget, *m_dstPageWidget, *m_importTypePageWidget, \
*m_importingPageWidget, *m_finishPageWidget;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic