1 #include "export-confluence-dialog.h"
9 #include "mainwindow.h"
12 extern QDir vymBaseDir;
13 extern Settings settings;
15 extern Main *mainWindow;
17 ExportConfluenceDialog::ExportConfluenceDialog(QWidget *parent)
24 connect(ui.createPageButton, SIGNAL(clicked(bool)), this,
25 SLOT(pageButtonPressed()));
26 connect(ui.updatePageButton, SIGNAL(clicked(bool)), this,
27 SLOT(pageButtonPressed()));
29 // signals and slots connections
30 connect(ui.mapCenterToPageNameCheckBox, SIGNAL(toggled(bool)), this,
31 SLOT(mapCenterToPageNameCheckBoxPressed(bool)));
32 connect(ui.lineEditURL, SIGNAL(textChanged(const QString &)), this,
34 connect(ui.lineEditPageName, SIGNAL(textChanged(const QString &)), this,
35 SLOT(pageNameChanged()));
37 connect(ui.exportButton, &QPushButton::clicked, this, &ExportConfluenceDialog::doExport);
39 connect(ui.openPageButton, &QPushButton::clicked, this, &ExportConfluenceDialog::openUrl);
42 void ExportConfluenceDialog::setCreateNewPage(bool b) { ui.createPageButton->setChecked(b); }
44 bool ExportConfluenceDialog::getCreateNewPage() { return ui.createPageButton->isChecked(); }
46 void ExportConfluenceDialog::openUrl()
48 mainWindow->openURL(ui.lineEditURL->text());
51 QString ExportConfluenceDialog::getUrl() { return url; }
53 QString ExportConfluenceDialog::getPageName() { return pageName; }
55 void ExportConfluenceDialog::setPageNameHint(const QString &s)
59 void ExportConfluenceDialog::readSettings()
62 .localValue(filepath, "/export/confluence/url",
65 ui.lineEditURL->setText(url);
68 ui.createPageButton->setChecked(
70 .localValue(filepath, "/export/confluence/createNewPage", true).toBool());
72 ui.updatePageButton->setChecked(!
74 .localValue(filepath, "/export/confluence/createNewPage", false).toBool());
75 if (ui.createPageButton->isChecked())
76 pageName = settings.localValue(filepath, "/export/confluence/pageName",
77 "New page created on " + QDateTime::currentDateTime().toString()).toString();
80 ui.lineEditPageName->setText(pageName);
82 ui.includeMapImageCheckBox->setChecked(
83 settings.localValue (filepath,
84 "/export/confluence/includeMapImage", "true").toBool());
86 ui.includeImagesCheckBox->setChecked(
87 settings.localValue (filepath,
88 "/export/confluence/includeImages", "true").toBool());
90 /* FIXME-3 cleanup the copied HTML parameters
91 includeImages = settings.localValue (filepath,
92 "/export/confluence/includeImages", "true").toBool();
93 ui.includeImagesCheckBox->setChecked(includeImages);
95 useTOC = settings.localValue (filepath, "/export/confluence/useTOC",
96 "true").toBool(); ui.TOCCheckBox->setChecked(useTOC);
98 useTaskFlags = settings.localValue (filepath,
99 "/export/confluence/useTaskFlags", "true").toBool();
100 ui.taskFlagsCheckBox->setChecked(useTaskFlags);
102 useUserFlags = settings.localValue (filepath,
103 "/export/confluence/useUserFlags", "true").toBool();
104 ui.userFlagsCheckBox->setChecked(useUserFlags);
108 ui.useNumberingCheckBox->setChecked(
109 settings.localValue (filepath,
110 "/export/confluence/useNumbering", "true").toBool());
111 ui.mapCenterToPageNameCheckBox->setChecked(
112 settings.localValue(filepath, "/export/confluence/mapCenterToPageName", true)
114 ui.textColorCheckBox->setChecked(
115 settings.localValue(filepath, "/export/confluence/useTextColor", false)
118 ui.saveSettingsInMapCheckBox->setChecked(
120 .localValue(filepath, "/export/confluence/saveSettingsInMap", true)
127 void ExportConfluenceDialog::saveSettings()
129 // Save options to settings file
130 // (but don't save at destructor, which
131 // is called for "cancel", too)
132 if (!ui.saveSettingsInMapCheckBox->isChecked())
133 settings.clearLocal(filepath, "/export/confluence");
135 settings.setLocalValue(
136 filepath, "/export/confluence/saveSettingsInMap",
138 settings.setLocalValue (
139 filepath, "/export/confluence/includeMapImage",
140 ui.includeMapImageCheckBox->isChecked());
141 settings.setLocalValue (
142 filepath, "/export/confluence/includeImages",
143 ui.includeImagesCheckBox->isChecked());
144 // settings.setLocalValue (filepath, "/export/confluence/useTOC",
146 settings.setLocalValue (
147 filepath, "/export/confluence/useNumbering",
148 ui.useNumberingCheckBox->isChecked());
149 settings.setLocalValue(filepath,
150 "/export/confluence/mapCenterToPageName",
151 ui.mapCenterToPageNameCheckBox->isChecked());
152 settings.setLocalValue(filepath,
153 "/export/confluence/useTextColor",
154 ui.textColorCheckBox->isChecked());
155 settings.setLocalValue(filepath,
156 "/export/confluence/useNumbering",
157 ui.useNumberingCheckBox->isChecked());
158 settings.setLocalValue(filepath, "/export/confluence/url", url);
159 settings.setLocalValue(filepath, "/export/confluence/pageName", pageName);
160 settings.setLocalValue(filepath, "/export/confluence/createNewPage", ui.createPageButton->isChecked());
164 void ExportConfluenceDialog::setURL(const QString &u) { url = u; }
166 void ExportConfluenceDialog::setPageName(const QString &s) { pageName = s; }
168 void ExportConfluenceDialog::setFilePath(const QString &s) { filepath = s; }
170 void ExportConfluenceDialog::setMapName(const QString &s) { mapname = s; }
172 bool ExportConfluenceDialog::useTextColor()
174 return ui.textColorCheckBox->isChecked();
177 bool ExportConfluenceDialog::mapCenterToPageName()
179 return ui.mapCenterToPageNameCheckBox->isChecked();
182 bool ExportConfluenceDialog::useNumbering()
184 return ui.useNumberingCheckBox->isChecked();
187 bool ExportConfluenceDialog::includeMapImage()
189 return ui.includeMapImageCheckBox->isChecked();
192 bool ExportConfluenceDialog::includeImages()
194 return ui.includeImagesCheckBox->isChecked();
197 void ExportConfluenceDialog::doExport()
202 void ExportConfluenceDialog::pageButtonPressed()
204 if (ui.createPageButton->isChecked()) {
205 ui.URLLabel->setText("URL of parent page");
206 ui.pageNameLabel->setText("Page title (required)");
209 ui.URLLabel->setText("URL of existing page");
210 ui.pageNameLabel->setText("Page title (optional)");
214 void ExportConfluenceDialog::URLChanged() // FIXME-2 remove this and similar methods
216 url = ui.lineEditURL->text();
219 void ExportConfluenceDialog::pageNameChanged()
221 pageName = ui.lineEditPageName->text();
224 void ExportConfluenceDialog::mapCenterToPageNameCheckBoxPressed(bool b)
226 if (ui.mapCenterToPageNameCheckBox->isChecked())
228 ui.lineEditPageName->setText(pageNameHint);
229 ui.lineEditPageName->setEnabled(false); // FIXME-2 better set readonly
232 ui.lineEditPageName->show();
233 ui.lineEditPageName->setEnabled(true);