28
28
#include <QHBoxLayout>
29
29
#include <QPushButton>
31
33
#include <QClipboard>
32
34
#include <QTextStream>
33
35
#include <QApplication>
34
36
#include "config.h"
36
#include <kfiledialog.h>
38
#include <QFileDialog>
37
#include "iplatformtools.h"
40
38
#include "textimporter.h"
41
39
#include "importparser.h"
42
#include "configstore.h"
40
#include "importconfig.h"
43
41
#include "contexthelp.h"
44
42
#include "formatlistedit.h"
45
#include "qtcompatmac.h"
47
* @param platformTools platform tools
50
48
* @param parent parent widget
51
49
* @param trackDataModel track data to be filled with imported values
53
TextImportDialog::TextImportDialog(QWidget* parent,
51
TextImportDialog::TextImportDialog(IPlatformTools* platformTools,
54
53
TrackDataModel* trackDataModel) :
55
QDialog(parent), m_textImporter(new TextImporter(trackDataModel))
54
QDialog(parent), m_platformTools(platformTools),
55
m_textImporter(new TextImporter(trackDataModel))
57
57
setObjectName(QLatin1String("TextImportDialog"));
58
setWindowTitle(i18n("Import from File/Clipboard"));
58
setWindowTitle(tr("Import from File/Clipboard"));
59
59
setSizeGripEnabled(true);
61
61
QVBoxLayout* vboxLayout = new QVBoxLayout(this);
63
63
QString formatToolTip = ImportParser::getFormatToolTip();
64
64
m_formatListEdit = new FormatListEdit(
65
QStringList() << i18n("Format:")
65
QStringList() << tr("Format:")
68
68
QStringList() << QString()
72
72
vboxLayout->addWidget(m_formatListEdit);
74
74
QHBoxLayout* buttonLayout = new QHBoxLayout;
75
QPushButton* helpButton = new QPushButton(i18n("&Help"), this);
75
QPushButton* helpButton = new QPushButton(tr("&Help"), this);
76
76
helpButton->setAutoDefault(false);
77
77
buttonLayout->addWidget(helpButton);
78
78
connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp()));
79
QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this);
79
QPushButton* saveButton = new QPushButton(tr("&Save Settings"), this);
80
80
saveButton->setAutoDefault(false);
81
81
buttonLayout->addWidget(saveButton);
82
82
connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig()));
83
83
buttonLayout->addStretch();
84
QPushButton* fileButton = new QPushButton(i18n("From F&ile"), this);
84
QPushButton* fileButton = new QPushButton(tr("From F&ile"), this);
85
85
fileButton->setAutoDefault(false);
86
86
buttonLayout->addWidget(fileButton);
87
87
connect(fileButton, SIGNAL(clicked()), this, SLOT(fromFile()));
88
QPushButton* clipButton = new QPushButton(i18n("From Clip&board"), this);
88
QPushButton* clipButton = new QPushButton(tr("From Clip&board"), this);
89
89
clipButton->setAutoDefault(false);
90
90
buttonLayout->addWidget(clipButton);
91
91
connect(clipButton, SIGNAL(clicked()), this, SLOT(fromClipboard()));
92
QPushButton* closeButton = new QPushButton(i18n("&Close"), this);
92
QPushButton* closeButton = new QPushButton(tr("&Close"), this);
93
93
closeButton->setAutoDefault(false);
94
94
buttonLayout->addWidget(closeButton);
95
95
connect(closeButton, SIGNAL(clicked()), this, SLOT(accept()));
118
118
void TextImportDialog::setFormatFromConfig()
120
120
m_formatListEdit->setFormats(
121
QList<QStringList>() << ConfigStore::s_genCfg.m_importFormatNames
122
<< ConfigStore::s_genCfg.m_importFormatHeaders
123
<< ConfigStore::s_genCfg.m_importFormatTracks,
124
ConfigStore::s_genCfg.m_importFormatIdx);
121
QList<QStringList>() << ImportConfig::instance().m_importFormatNames
122
<< ImportConfig::instance().m_importFormatHeaders
123
<< ImportConfig::instance().m_importFormatTracks,
124
ImportConfig::instance().m_importFormatIdx);
136
136
if (!fn.isEmpty()) {
138
138
if (file.open(QIODevice::ReadOnly)) {
139
ConfigStore::s_genCfg.m_importDir = QFileInfo(file).dir().path();
139
ImportConfig::instance().m_importDir = QFileInfo(file).dir().path();
140
140
QTextStream stream(&file);
141
141
QString text = stream.readAll();
142
142
if (!text.isNull() &&
160
160
void TextImportDialog::fromFile()
163
#ifdef CONFIG_USE_KDE
164
KFileDialog::getOpenFileName(ConfigStore::s_genCfg.m_importDir, QString::null, this)
166
QFileDialog::getOpenFileName(this, QString(),
167
ConfigStore::s_genCfg.m_importDir, QString(), 0,
168
ConfigStore::s_miscCfg.m_dontUseNativeDialogs
169
? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0))
162
importFromFile(m_platformTools->getOpenFileName(this, QString(),
163
ImportConfig::instance().m_importDir, QString(), 0)
194
187
void TextImportDialog::saveConfig()
196
189
QList<QStringList> formats = m_formatListEdit->getFormats(
197
&ConfigStore::s_genCfg.m_importFormatIdx);
198
ConfigStore::s_genCfg.m_importFormatNames = formats.at(0);
199
ConfigStore::s_genCfg.m_importFormatHeaders = formats.at(1);
200
ConfigStore::s_genCfg.m_importFormatTracks = formats.at(2);
190
&ImportConfig::instance().m_importFormatIdx);
191
ImportConfig::instance().m_importFormatNames = formats.at(0);
192
ImportConfig::instance().m_importFormatHeaders = formats.at(1);
193
ImportConfig::instance().m_importFormatTracks = formats.at(2);
202
195
setFormatFromConfig();