void RenderWidget::slotUpdateButtons(KUrl url)
{
if (m_view.out_file->url().isEmpty()) m_view.buttonStart->setEnabled(false);
- else m_view.buttonStart->setEnabled(true);
+ else {
+ updateButtons(); // This also checks whether the selected format is available
+ //m_view.buttonStart->setEnabled(true);
+ }
if (url != 0) {
QListWidgetItem *item = m_view.size_list->currentItem();
QString extension = item->data(ExtensionRole).toString();
void RenderWidget::slotUpdateButtons()
{
if (m_view.out_file->url().isEmpty()) m_view.buttonStart->setEnabled(false);
- else m_view.buttonStart->setEnabled(true);
+ else updateButtons(); // This also checks whether the selected format is available
+ //else m_view.buttonStart->setEnabled(true);
}
void RenderWidget::slotSaveProfile()
QListWidgetItem *item = m_view.size_list->currentItem();
if (!item) return;
- const QString dest = m_view.out_file->url().path();
+ QString dest = m_view.out_file->url().path();
if (dest.isEmpty()) return;
+
+ // Check whether target file has an extension.
+ // If not, ask whether extension should be added or not.
+ QString extension = item->data(ExtensionRole).toString();
+ if (!dest.endsWith(extension)) {
+ if (KMessageBox::questionYesNo(this, i18n("File has no extension. Add extension (%1)?", extension)) == KMessageBox::Yes) {
+ dest.append("." + extension);
+ }
+ }
+
QFile f(dest);
if (f.exists()) {
if (KMessageBox::warningYesNo(this, i18n("Output file already exists. Do you want to overwrite it?")) != KMessageBox::Yes)
}
+/**
+ * Called when a new format or size has been selected.
+ */
void RenderWidget::refreshParams()
{
+ // Format not available (e.g. codec not installed); Disable start button
QListWidgetItem *item = m_view.size_list->currentItem();
if (!item || item->isHidden()) {
m_view.advanced_params->clear();