proxy: add dedicated Proxy dialog and preferences fields
- New ProxyDialog (Tools > Proxy Settings..., plus 'Proxy Settings...' in the project panel and timeline Proxy submenus) unifying global proxy settings, per-footage custom presets, generation and deletion in one place instead of three scattered entry points; this also fixes the Tools menu action opening the wrong preferences tab - Preferences Disk tab gains an 'include audio in proxies' checkbox and an ffmpeg executable path field (blank = auto-detect) - Add ProxyDialog smoke tests
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#include "common/define.h"
|
||||
#include "core.h"
|
||||
#include "dialog/footageproperties/footageproperties.h"
|
||||
#include "dialog/proxy/proxydialog.h"
|
||||
#include "dialog/sequence/sequence.h"
|
||||
#include "projectexplorerundo.h"
|
||||
#include "codec/proxymanager.h"
|
||||
@@ -470,6 +471,11 @@ void ProjectExplorer::ShowContextMenu()
|
||||
}));
|
||||
connect(delete_proxy, &QAction::triggered, this,
|
||||
&ProjectExplorer::DeleteProxiesForSelectedFootage);
|
||||
|
||||
QAction *proxy_settings =
|
||||
proxy_menu->addAction(tr("Proxy Settings..."));
|
||||
connect(proxy_settings, &QAction::triggered, this,
|
||||
&ProjectExplorer::ShowProxyDialogForSelectedFootage);
|
||||
}
|
||||
|
||||
Q_UNUSED(all_items_are_footage_or_sequence)
|
||||
@@ -690,6 +696,12 @@ void ProjectExplorer::DeleteProxiesForSelectedFootage()
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectExplorer::ShowProxyDialogForSelectedFootage()
|
||||
{
|
||||
ProxyDialog d(this, GetSelectedProxyFootage(context_menu_items_));
|
||||
d.exec();
|
||||
}
|
||||
|
||||
void ProjectExplorer::ViewSelectionChanged()
|
||||
{
|
||||
QItemSelectionModel *model = static_cast<QItemSelectionModel *>(sender());
|
||||
|
||||
@@ -198,6 +198,8 @@ private slots:
|
||||
|
||||
void DeleteProxiesForSelectedFootage();
|
||||
|
||||
void ShowProxyDialogForSelectedFootage();
|
||||
|
||||
void ViewSelectionChanged();
|
||||
};
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "codec/proxymanager.h"
|
||||
#include "core.h"
|
||||
#include "common/range.h"
|
||||
#include "dialog/proxy/proxydialog.h"
|
||||
#include "dialog/sequence/sequence.h"
|
||||
#include "dialog/speedduration/speeddurationdialog.h"
|
||||
#include "node/block/transition/transition.h"
|
||||
@@ -1236,6 +1237,12 @@ void TimelineWidget::DeleteProxiesForSelectedClips()
|
||||
}
|
||||
}
|
||||
|
||||
void TimelineWidget::ShowProxyDialogForSelectedClips()
|
||||
{
|
||||
ProxyDialog d(this, GetSelectedProxyFootage(selected_blocks_));
|
||||
d.exec();
|
||||
}
|
||||
|
||||
void TimelineWidget::RecordingCallback(const QString &filename,
|
||||
const TimeRange &time,
|
||||
const Track::Reference &track)
|
||||
@@ -1784,6 +1791,11 @@ void TimelineWidget::ShowContextMenu()
|
||||
}));
|
||||
connect(delete_proxy, &QAction::triggered, this,
|
||||
&TimelineWidget::DeleteProxiesForSelectedClips);
|
||||
|
||||
QAction *proxy_settings =
|
||||
proxy_menu->addAction(tr("Proxy Settings..."));
|
||||
connect(proxy_settings, &QAction::triggered, this,
|
||||
&TimelineWidget::ShowProxyDialogForSelectedClips);
|
||||
}
|
||||
|
||||
if (clip->connected_viewer()) {
|
||||
|
||||
@@ -117,6 +117,8 @@ public:
|
||||
|
||||
void DeleteProxiesForSelectedClips();
|
||||
|
||||
void ShowProxyDialogForSelectedClips();
|
||||
|
||||
void RecordingCallback(const QString &filename, const TimeRange &time,
|
||||
const Track::Reference &track);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user