Name shortcut zu mailadler
This commit is contained in:
@@ -1,151 +1,30 @@
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core)
|
||||
|
||||
add_executable(shotcut WIN32 MACOSX_BUNDLE
|
||||
abstractproducerwidget.cpp abstractproducerwidget.h
|
||||
actions.cpp actions.h
|
||||
autosavefile.cpp autosavefile.h
|
||||
commands/filtercommands.cpp commands/filtercommands.h
|
||||
commands/markercommands.cpp commands/markercommands.h
|
||||
commands/playlistcommands.cpp commands/playlistcommands.h
|
||||
commands/subtitlecommands.cpp commands/subtitlecommands.h
|
||||
commands/timelinecommands.cpp commands/timelinecommands.h
|
||||
commands/undohelper.cpp commands/undohelper.h
|
||||
controllers/filtercontroller.cpp controllers/filtercontroller.h
|
||||
controllers/scopecontroller.cpp controllers/scopecontroller.h
|
||||
database.cpp database.h
|
||||
dialogs/actionsdialog.cpp dialogs/actionsdialog.h
|
||||
dialogs/addencodepresetdialog.cpp dialogs/addencodepresetdialog.h
|
||||
dialogs/addencodepresetdialog.ui
|
||||
dialogs/alignaudiodialog.cpp dialogs/alignaudiodialog.h
|
||||
dialogs/alignmentarray.cpp dialogs/alignmentarray.h
|
||||
dialogs/bitratedialog.h dialogs/bitratedialog.cpp
|
||||
dialogs/customprofiledialog.cpp dialogs/customprofiledialog.h
|
||||
dialogs/customprofiledialog.ui
|
||||
dialogs/durationdialog.cpp dialogs/durationdialog.h
|
||||
dialogs/durationdialog.ui
|
||||
dialogs/editmarkerdialog.cpp dialogs/editmarkerdialog.h
|
||||
dialogs/filedatedialog.cpp dialogs/filedatedialog.h
|
||||
dialogs/filedownloaddialog.cpp dialogs/filedownloaddialog.h
|
||||
dialogs/listselectiondialog.cpp dialogs/listselectiondialog.h
|
||||
dialogs/listselectiondialog.ui
|
||||
dialogs/longuitask.cpp dialogs/longuitask.h
|
||||
dialogs/multifileexportdialog.cpp dialogs/multifileexportdialog.h
|
||||
dialogs/resourcedialog.cpp dialogs/resourcedialog.h
|
||||
dialogs/saveimagedialog.cpp dialogs/saveimagedialog.h
|
||||
dialogs/slideshowgeneratordialog.cpp dialogs/slideshowgeneratordialog.h
|
||||
dialogs/speechdialog.h dialogs/speechdialog.cpp
|
||||
dialogs/subtitletrackdialog.cpp dialogs/subtitletrackdialog.h
|
||||
dialogs/systemsyncdialog.cpp dialogs/systemsyncdialog.h
|
||||
dialogs/systemsyncdialog.ui
|
||||
dialogs/textviewerdialog.cpp dialogs/textviewerdialog.h
|
||||
dialogs/textviewerdialog.ui
|
||||
dialogs/transcodedialog.cpp dialogs/transcodedialog.h
|
||||
dialogs/transcodedialog.ui
|
||||
dialogs/transcribeaudiodialog.cpp dialogs/transcribeaudiodialog.h
|
||||
dialogs/unlinkedfilesdialog.cpp dialogs/unlinkedfilesdialog.h
|
||||
dialogs/unlinkedfilesdialog.ui
|
||||
docks/encodedock.cpp docks/encodedock.h
|
||||
docks/encodedock.ui
|
||||
docks/filesdock.cpp docks/filesdock.h
|
||||
docks/filesdock.ui
|
||||
docks/filtersdock.cpp docks/filtersdock.h
|
||||
docks/jobsdock.cpp docks/jobsdock.h
|
||||
docks/jobsdock.ui
|
||||
docks/keyframesdock.cpp docks/keyframesdock.h
|
||||
docks/markersdock.cpp docks/markersdock.h
|
||||
docks/notesdock.cpp docks/notesdock.h
|
||||
docks/playlistdock.cpp docks/playlistdock.h
|
||||
docks/playlistdock.ui
|
||||
docks/recentdock.cpp docks/recentdock.h
|
||||
docks/recentdock.ui
|
||||
docks/scopedock.cpp docks/scopedock.h
|
||||
docks/subtitlesdock.cpp docks/subtitlesdock.h
|
||||
docks/timelinedock.cpp docks/timelinedock.h
|
||||
FlatpakWrapperGenerator.cpp FlatpakWrapperGenerator.h
|
||||
htmlgenerator.h htmlgenerator.cpp
|
||||
jobqueue.cpp jobqueue.h
|
||||
jobs/abstractjob.cpp jobs/abstractjob.h
|
||||
jobs/bitrateviewerjob.h jobs/bitrateviewerjob.cpp
|
||||
jobs/dockerpulljob.h jobs/dockerpulljob.cpp
|
||||
jobs/encodejob.cpp jobs/encodejob.h
|
||||
jobs/ffmpegjob.cpp jobs/ffmpegjob.h
|
||||
jobs/ffprobejob.cpp jobs/ffprobejob.h
|
||||
jobs/gopro2gpxjob.cpp jobs/gopro2gpxjob.h
|
||||
jobs/htmlgeneratorjob.cpp jobs/htmlgeneratorjob.h
|
||||
jobs/kokorodokijob.cpp jobs/kokorodokijob.h
|
||||
jobs/meltjob.cpp jobs/meltjob.h
|
||||
jobs/postjobaction.cpp jobs/postjobaction.h
|
||||
jobs/qimagejob.cpp jobs/qimagejob.h
|
||||
jobs/screencapturejob.cpp jobs/screencapturejob.h
|
||||
jobs/videoqualityjob.cpp jobs/videoqualityjob.h
|
||||
jobs/whisperjob.cpp jobs/whisperjob.h
|
||||
main.cpp
|
||||
mainwindow.cpp mainwindow.h
|
||||
mainwindow.ui
|
||||
mltcontroller.cpp mltcontroller.h
|
||||
mltxmlchecker.cpp mltxmlchecker.h
|
||||
models/actionsmodel.cpp models/actionsmodel.h
|
||||
models/alignclipsmodel.cpp models/alignclipsmodel.h
|
||||
models/attachedfiltersmodel.cpp models/attachedfiltersmodel.h
|
||||
models/audiolevelstask.cpp models/audiolevelstask.h
|
||||
models/extensionmodel.cpp models/extensionmodel.h
|
||||
models/keyframesmodel.cpp models/keyframesmodel.h
|
||||
models/markersmodel.cpp models/markersmodel.h
|
||||
models/metadatamodel.cpp models/metadatamodel.h
|
||||
models/motiontrackermodel.h models/motiontrackermodel.cpp
|
||||
models/multitrackmodel.cpp models/multitrackmodel.h
|
||||
models/playlistmodel.cpp models/playlistmodel.h
|
||||
models/resourcemodel.cpp models/resourcemodel.h
|
||||
models/subtitles.cpp models/subtitles.h
|
||||
models/subtitlesmodel.cpp models/subtitlesmodel.h
|
||||
models/subtitlesselectionmodel.cpp models/subtitlesselectionmodel.h
|
||||
openotherdialog.cpp openotherdialog.h
|
||||
openotherdialog.ui
|
||||
player.cpp player.h
|
||||
proxymanager.cpp proxymanager.h
|
||||
qmltypes/colordialog.h qmltypes/colordialog.cpp
|
||||
qmltypes/colorpickeritem.cpp qmltypes/colorpickeritem.h
|
||||
qmltypes/colorwheelitem.cpp qmltypes/colorwheelitem.h
|
||||
qmltypes/filedialog.h qmltypes/filedialog.cpp
|
||||
qmltypes/fontdialog.h qmltypes/fontdialog.cpp
|
||||
qmltypes/messagedialog.h qmltypes/messagedialog.cpp
|
||||
qmltypes/qmlapplication.cpp qmltypes/qmlapplication.h
|
||||
qmltypes/qmleditmenu.cpp qmltypes/qmleditmenu.h
|
||||
qmltypes/qmlextension.cpp qmltypes/qmlextension.h
|
||||
qmltypes/qmlfile.cpp qmltypes/qmlfile.h
|
||||
qmltypes/qmlfilter.cpp qmltypes/qmlfilter.h
|
||||
qmltypes/qmlmarkermenu.cpp qmltypes/qmlmarkermenu.h
|
||||
qmltypes/qmlmetadata.cpp qmltypes/qmlmetadata.h
|
||||
qmltypes/qmlproducer.cpp qmltypes/qmlproducer.h
|
||||
qmltypes/qmlprofile.cpp qmltypes/qmlprofile.h
|
||||
qmltypes/qmlrichtext.cpp qmltypes/qmlrichtext.h
|
||||
qmltypes/qmlrichtextmenu.cpp qmltypes/qmlrichtextmenu.h
|
||||
qmltypes/qmlutilities.cpp qmltypes/qmlutilities.h
|
||||
qmltypes/qmlview.cpp qmltypes/qmlview.h
|
||||
qmltypes/thumbnailprovider.cpp qmltypes/thumbnailprovider.h
|
||||
qmltypes/timelineitems.cpp qmltypes/timelineitems.h
|
||||
resources.qrc
|
||||
scrubbar.cpp scrubbar.h
|
||||
settings.cpp settings.h
|
||||
sharedframe.cpp sharedframe.h
|
||||
shotcut_mlt_properties.h
|
||||
transcoder.cpp transcoder.h
|
||||
screencapture/rectangleselector.cpp
|
||||
screencapture/rectangleselector.h
|
||||
screencapture/screencapture.cpp
|
||||
screencapture/screencapture.h
|
||||
screencapture/toolbarwidget.cpp
|
||||
screencapture/toolbarwidget.h
|
||||
screencapture/windowpicker.cpp
|
||||
screencapture/windowpicker.h
|
||||
spatialmedia/box.cpp spatialmedia/box.h
|
||||
spatialmedia/container.cpp spatialmedia/container.h
|
||||
spatialmedia/mpeg4_container.cpp spatialmedia/mpeg4_container.h
|
||||
spatialmedia/sa3d.cpp spatialmedia/sa3d.h
|
||||
spatialmedia/spatialmedia.cpp spatialmedia/spatialmedia.h
|
||||
transportcontrol.h
|
||||
util.cpp util.h
|
||||
videowidget.cpp videowidget.h
|
||||
widgets/alsawidget.cpp widgets/alsawidget.h
|
||||
widgets/alsawidget.ui
|
||||
widgets/audiometerwidget.cpp widgets/audiometerwidget.h
|
||||
@@ -269,26 +148,18 @@ add_custom_target(OTHER_FILES
|
||||
target_link_libraries(shotcut
|
||||
PRIVATE
|
||||
CuteLogger
|
||||
PkgConfig::mlt++
|
||||
PkgConfig::FFTW
|
||||
Qt6::Charts
|
||||
Qt6::Multimedia
|
||||
Qt6::Network
|
||||
Qt6::OpenGL
|
||||
Qt6::OpenGLWidgets
|
||||
Qt6::QuickControls2
|
||||
Qt6::QuickWidgets
|
||||
Qt6::Sql
|
||||
Qt6::WebSockets
|
||||
Qt6::Widgets
|
||||
Qt6::Xml
|
||||
)
|
||||
if(UNIX AND NOT APPLE)
|
||||
target_link_libraries(shotcut PRIVATE Qt6::DBus X11::X11)
|
||||
target_link_libraries(shotcut PRIVATE Qt6::DBus)
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE QML_SRC "qml/*")
|
||||
target_sources(shotcut PRIVATE ${QML_SRC})
|
||||
# QML files disabled during mail client migration
|
||||
# file(GLOB_RECURSE QML_SRC "qml/*")
|
||||
# target_sources(shotcut PRIVATE ${QML_SRC})
|
||||
|
||||
target_include_directories(shotcut PRIVATE ${CMAKE_SOURCE_DIR}/CuteLogger/include)
|
||||
target_compile_definitions(shotcut PRIVATE SHOTCUT_VERSION="${SHOTCUT_VERSION}")
|
||||
|
||||
66
src/main.cpp
66
src/main.cpp
@@ -21,12 +21,10 @@
|
||||
#include "mainwindow.h"
|
||||
#include "settings.h"
|
||||
|
||||
#include <framework/mlt_log.h>
|
||||
// #include <framework/mlt_log.h> // MLT disabled
|
||||
#include <QCommandLineParser>
|
||||
#include <QFile>
|
||||
#include <QProcess>
|
||||
#include <QQuickStyle>
|
||||
#include <QQuickWindow>
|
||||
#include <QSysInfo>
|
||||
#include <QtGlobal>
|
||||
#include <QtWidgets>
|
||||
@@ -49,6 +47,7 @@ __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
|
||||
|
||||
static const int kMaxCacheCount = 5000;
|
||||
|
||||
/* MLT log handler disabled - MLT framework removed
|
||||
static void mlt_log_handler(void *service, int mlt_level, const char *format, va_list args)
|
||||
{
|
||||
if (mlt_level > mlt_log_get_level())
|
||||
@@ -75,32 +74,33 @@ static void mlt_log_handler(void *service, int mlt_level, const char *format, va
|
||||
break;
|
||||
}
|
||||
QString message;
|
||||
mlt_properties properties = service ? MLT_SERVICE_PROPERTIES((mlt_service) service) : NULL;
|
||||
if (properties) {
|
||||
char *mlt_type = mlt_properties_get(properties, "mlt_type");
|
||||
char *service_name = mlt_properties_get(properties, "mlt_service");
|
||||
char *resource = mlt_properties_get(properties, "resource");
|
||||
if (!resource || resource[0] != '<' || resource[strlen(resource) - 1] != '>')
|
||||
mlt_type = mlt_properties_get(properties, "mlt_type");
|
||||
if (service_name)
|
||||
message = QStringLiteral("[%1 %2] ").arg(mlt_type, service_name);
|
||||
else
|
||||
message = QString::asprintf("[%s %p] ", mlt_type, service);
|
||||
if (resource)
|
||||
message.append(QStringLiteral("\"%1\" ").arg(resource));
|
||||
message.append(QString::vasprintf(format, args));
|
||||
message.replace('\n', "");
|
||||
} else {
|
||||
message = QString::vasprintf(format, args);
|
||||
message.replace('\n', "");
|
||||
// mlt_properties properties = service ? MLT_SERVICE_PROPERTIES((mlt_service) service) : NULL;
|
||||
// if (properties) {
|
||||
// char *mlt_type = mlt_properties_get(properties, "mlt_type");
|
||||
// char *service_name = mlt_properties_get(properties, "mlt_service");
|
||||
// char *resource = mlt_properties_get(properties, "resource");
|
||||
// if (!resource || resource[0] != '<' || resource[strlen(resource) - 1] != '>')
|
||||
// mlt_type = mlt_properties_get(properties, "mlt_type");
|
||||
// if (service_name)
|
||||
// message = QStringLiteral("[%1 %2] ").arg(mlt_type, service_name);
|
||||
// else
|
||||
// message = QString::asprintf("[%s %p] ", mlt_type, service);
|
||||
// if (resource)
|
||||
// message.append(QStringLiteral("\"%1\" ").arg(resource));
|
||||
// message.append(QString::vasprintf(format, args));
|
||||
// message.replace('\n', "");
|
||||
// } else {
|
||||
// message = QString::vasprintf(format, args);
|
||||
// message.replace('\n', "");
|
||||
// }
|
||||
// cuteLogger->write(cuteLoggerLevel,
|
||||
// __FILE__,
|
||||
// __LINE__,
|
||||
// "MLT",
|
||||
// cuteLogger->defaultCategory().toLatin1().constData(),
|
||||
// message);
|
||||
}
|
||||
cuteLogger->write(cuteLoggerLevel,
|
||||
__FILE__,
|
||||
__LINE__,
|
||||
"MLT",
|
||||
cuteLogger->defaultCategory().toLatin1().constData(),
|
||||
message);
|
||||
}
|
||||
*/
|
||||
|
||||
class Application : public QApplication
|
||||
{
|
||||
@@ -262,11 +262,11 @@ public:
|
||||
consoleAppender->setFormat(fileAppender->format());
|
||||
cuteLogger->registerAppender(consoleAppender);
|
||||
|
||||
mlt_log_set_level(MLT_LOG_VERBOSE);
|
||||
#else
|
||||
mlt_log_set_level(MLT_LOG_INFO);
|
||||
#endif
|
||||
mlt_log_set_callback(mlt_log_handler);
|
||||
// mlt_log_set_level(MLT_LOG_VERBOSE);
|
||||
// #else
|
||||
// mlt_log_set_level(MLT_LOG_INFO);
|
||||
// #endif
|
||||
// mlt_log_set_callback(mlt_log_handler); // MLT disabled
|
||||
cuteLogger->logToGlobalInstance("qml", true);
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
|
||||
1094
src/mainwindow.cpp
1094
src/mainwindow.cpp
File diff suppressed because it is too large
Load Diff
209
src/mainwindow.h
209
src/mainwindow.h
@@ -18,9 +18,6 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include "mltcontroller.h"
|
||||
#include "mltxmlchecker.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QMainWindow>
|
||||
#include <QMutex>
|
||||
@@ -36,94 +33,76 @@
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
class Player;
|
||||
class RecentDock;
|
||||
class EncodeDock;
|
||||
class JobsDock;
|
||||
class PlaylistDock;
|
||||
class QUndoStack;
|
||||
class QActionGroup;
|
||||
class FilterController;
|
||||
class ScopeController;
|
||||
class FilesDock;
|
||||
class FiltersDock;
|
||||
class TimelineDock;
|
||||
class AutoSaveFile;
|
||||
class QNetworkReply;
|
||||
class KeyframesDock;
|
||||
class MarkersDock;
|
||||
class NotesDock;
|
||||
class SubtitlesDock;
|
||||
class ScreenCapture;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum LayoutMode { Custom = 0, Logging, Editing, Effects, Color, Audio, PlayerOnly };
|
||||
enum LayoutMode { Custom = 0, Logging, Editing, Effects, Color, Audio }; // PlayerOnly removed
|
||||
|
||||
static MainWindow &singleton();
|
||||
~MainWindow();
|
||||
void open(Mlt::Producer *producer, bool play = true);
|
||||
// void open(Mlt::Producer *producer, bool play = true); // DISABLED: MLT
|
||||
bool continueModified();
|
||||
bool continueJobsRunning();
|
||||
QUndoStack *undoStack() const;
|
||||
bool saveXML(const QString &filename, bool withRelativePaths = true);
|
||||
static void changeTheme(const QString &theme);
|
||||
PlaylistDock *playlistDock() const { return m_playlistDock; }
|
||||
TimelineDock *timelineDock() const { return m_timelineDock; }
|
||||
FilterController *filterController() const { return m_filterController; }
|
||||
Mlt::Playlist *playlist() const;
|
||||
bool isPlaylistValid() const;
|
||||
Mlt::Producer *multitrack() const;
|
||||
bool isMultitrackValid() const;
|
||||
// PlaylistDock *playlistDock() const { return m_playlistDock; } // DISABLED
|
||||
// TimelineDock *timelineDock() const { return m_timelineDock; } // DISABLED
|
||||
// FilterController *filterController() const { return m_filterController; } // DISABLED
|
||||
// Mlt::Playlist *playlist() const; // DISABLED: MLT
|
||||
// bool isPlaylistValid() const; // DISABLED: MLT
|
||||
// Mlt::Producer *multitrack() const; // DISABLED: MLT
|
||||
// bool isMultitrackValid() const; // DISABLED: MLT
|
||||
void doAutosave();
|
||||
void setFullScreen(bool isFullScreen);
|
||||
QString untitledFileName() const;
|
||||
void setProfile(const QString &profile_name);
|
||||
// void setProfile(const QString &profile_name); // DISABLED: video
|
||||
QString fileName() const { return m_currentFile; }
|
||||
bool isSourceClipMyProject(QString resource = MLT.resource(), bool withDialog = true);
|
||||
bool keyframesDockIsVisible() const;
|
||||
// bool isSourceClipMyProject(QString resource = MLT.resource(), bool withDialog = true); // DISABLED: MLT
|
||||
// bool keyframesDockIsVisible() const; // DISABLED: video
|
||||
|
||||
void keyPressEvent(QKeyEvent *);
|
||||
void keyReleaseEvent(QKeyEvent *);
|
||||
void hideSetDataDirectory();
|
||||
QMenu *customProfileMenu() const { return m_customProfileMenu; }
|
||||
QAction *actionAddCustomProfile() const;
|
||||
QAction *actionProfileRemove() const;
|
||||
QActionGroup *profileGroup() const { return m_profileGroup; }
|
||||
void buildVideoModeMenu(QMenu *topMenu,
|
||||
QMenu *&customMenu,
|
||||
QActionGroup *group,
|
||||
QAction *addAction,
|
||||
QAction *removeAction);
|
||||
void newProject(const QString &filename, bool isProjectFolder = false);
|
||||
void addCustomProfile(const QString &name, QMenu *menu, QAction *action, QActionGroup *group);
|
||||
void removeCustomProfiles(const QStringList &profiles, QDir &dir, QMenu *menu, QAction *action);
|
||||
QUuid timelineClipUuid(int trackIndex, int clipIndex);
|
||||
void replaceInTimeline(const QUuid &uuid, Mlt::Producer &producer);
|
||||
void replaceAllByHash(const QString &hash, Mlt::Producer &producer, bool isProxy = false);
|
||||
// QMenu *customProfileMenu() const { return m_customProfileMenu; } // DISABLED: video
|
||||
// QAction *actionAddCustomProfile() const; // DISABLED: video
|
||||
// QAction *actionProfileRemove() const; // DISABLED: video
|
||||
// QActionGroup *profileGroup() const { return m_profileGroup; } // DISABLED: video
|
||||
// void buildVideoModeMenu(...); // DISABLED: video
|
||||
// void newProject(const QString &filename, bool isProjectFolder = false); // DISABLED: video
|
||||
// void addCustomProfile(...); // DISABLED: video
|
||||
// void removeCustomProfiles(...); // DISABLED: video
|
||||
// QUuid timelineClipUuid(int trackIndex, int clipIndex); // DISABLED: video
|
||||
// void replaceInTimeline(const QUuid &uuid, Mlt::Producer &producer); // DISABLED: MLT
|
||||
// void replaceAllByHash(const QString &hash, Mlt::Producer &producer, bool isProxy = false); // DISABLED: MLT
|
||||
bool isClipboardNewer() const { return m_clipboardUpdatedAt > m_sourceUpdatedAt; }
|
||||
int mltIndexForTrack(int trackIndex) const;
|
||||
int bottomVideoTrackIndex() const;
|
||||
void cropSource(const QRectF &rect);
|
||||
void getMarkerRange(int position, int *start, int *end);
|
||||
void getSelectionRange(int *start, int *end);
|
||||
Mlt::Playlist *binPlaylist();
|
||||
void showInFiles(const QString &filePath);
|
||||
void turnOffHardwareDecoder();
|
||||
// int mltIndexForTrack(int trackIndex) const; // DISABLED: video
|
||||
// int bottomVideoTrackIndex() const; // DISABLED: video
|
||||
// void cropSource(const QRectF &rect); // DISABLED: video
|
||||
// void getMarkerRange(int position, int *start, int *end); // DISABLED: video
|
||||
// void getSelectionRange(int *start, int *end); // DISABLED: video
|
||||
// Mlt::Playlist *binPlaylist(); // DISABLED: MLT
|
||||
// void showInFiles(const QString &filePath); // DISABLED: video
|
||||
// void turnOffHardwareDecoder(); // DISABLED: video
|
||||
|
||||
signals:
|
||||
void audioChannelsChanged();
|
||||
void processingModeChanged();
|
||||
void producerOpened(bool withReopen = true);
|
||||
void profileChanged();
|
||||
void openFailed(QString);
|
||||
// void audioChannelsChanged(); // DISABLED: video
|
||||
// void processingModeChanged(); // DISABLED: video
|
||||
// void producerOpened(bool withReopen = true); // DISABLED: video
|
||||
// void profileChanged(); // DISABLED: video
|
||||
// void openFailed(QString); // DISABLED: video
|
||||
void aboutToShutDown();
|
||||
void renameRequested();
|
||||
void serviceInChanged(int delta, Mlt::Service *);
|
||||
void serviceOutChanged(int delta, Mlt::Service *);
|
||||
// void renameRequested(); // DISABLED: video
|
||||
// void serviceInChanged(int delta, Mlt::Service *); // DISABLED: MLT
|
||||
// void serviceOutChanged(int delta, Mlt::Service *); // DISABLED: MLT
|
||||
|
||||
protected:
|
||||
MainWindow();
|
||||
@@ -139,86 +118,86 @@ private:
|
||||
void registerDebugCallback();
|
||||
void connectUISignals();
|
||||
void setupAndConnectUndoStack();
|
||||
void setupAndConnectPlayerWidget();
|
||||
// void setupAndConnectPlayerWidget(); // DISABLED
|
||||
void setupLayoutSwitcher();
|
||||
void centerLayoutInRemainingToolbarSpace();
|
||||
void setupAndConnectDocks();
|
||||
void setupMenuFile();
|
||||
void setupMenuView();
|
||||
void connectVideoWidgetSignals();
|
||||
// void centerLayoutInRemainingToolbarSpace(); // DISABLED
|
||||
// void setupAndConnectDocks(); // DISABLED: mostly video
|
||||
// void setupMenuFile(); // DISABLED
|
||||
// void setupMenuView(); // DISABLED
|
||||
// void connectVideoWidgetSignals(); // DISABLED
|
||||
void setupSettingsMenu();
|
||||
void setupOpenOtherMenu();
|
||||
void setupActions();
|
||||
QAction *addProfile(QActionGroup *actionGroup, const QString &desc, const QString &name);
|
||||
QAction *addLayout(QActionGroup *actionGroup, const QString &name);
|
||||
void readPlayerSettings();
|
||||
// QAction *addProfile(...); // DISABLED: video
|
||||
// QAction *addLayout(...); // DISABLED: video
|
||||
// void readPlayerSettings(); // DISABLED: video
|
||||
void readWindowSettings();
|
||||
void writeSettings();
|
||||
void configureVideoWidget();
|
||||
// void configureVideoWidget(); // DISABLED: video
|
||||
void setCurrentFile(const QString &filename);
|
||||
void updateWindowTitle();
|
||||
void changeAudioChannels(bool checked, int channels);
|
||||
void changeDeinterlacer(bool checked, const char *method);
|
||||
void changeInterpolation(bool checked, const char *method);
|
||||
// void changeAudioChannels(bool checked, int channels); // DISABLED: video
|
||||
// void changeDeinterlacer(bool checked, const char *method); // DISABLED: video
|
||||
// void changeInterpolation(bool checked, const char *method); // DISABLED: video
|
||||
bool checkAutoSave(QString &url);
|
||||
bool saveConvertedXmlFile(MltXmlChecker &checker, QString &fileName);
|
||||
bool saveRepairedXmlFile(MltXmlChecker &checker, QString &fileName);
|
||||
void setAudioChannels(int channels);
|
||||
void setProcessingMode(ShotcutSettings::ProcessingMode mode);
|
||||
void showSaveError();
|
||||
void setPreviewScale(int scale);
|
||||
void setVideoModeMenu();
|
||||
void resetVideoModeMenu();
|
||||
void resetDockCorners();
|
||||
void showIncompatibleProjectMessage(const QString &shotcutVersion);
|
||||
// bool saveConvertedXmlFile(MltXmlChecker &checker, QString &fileName); // DISABLED: MLT
|
||||
// bool saveRepairedXmlFile(MltXmlChecker &checker, QString &fileName); // DISABLED: MLT
|
||||
// void setAudioChannels(int channels); // DISABLED: video
|
||||
// void setProcessingMode(ShotcutSettings::ProcessingMode mode); // DISABLED: video
|
||||
// void showSaveError(); // DISABLED
|
||||
// void setPreviewScale(int scale); // DISABLED: video
|
||||
// void setVideoModeMenu(); // DISABLED: video
|
||||
// void resetVideoModeMenu(); // DISABLED: video
|
||||
// void resetDockCorners(); // DISABLED: video
|
||||
// void showIncompatibleProjectMessage(const QString &shotcutVersion); // DISABLED
|
||||
void restartAfterChangeTheme();
|
||||
void backup();
|
||||
void backupPeriodically();
|
||||
bool confirmProfileChange();
|
||||
bool confirmRestartExternalMonitor();
|
||||
void resetFilterMenuIfNeeded();
|
||||
// bool confirmProfileChange(); // DISABLED: video
|
||||
// bool confirmRestartExternalMonitor(); // DISABLED: video
|
||||
// void resetFilterMenuIfNeeded(); // DISABLED: video
|
||||
|
||||
Ui::MainWindow *ui;
|
||||
Player *m_player;
|
||||
QDockWidget *m_propertiesDock;
|
||||
RecentDock *m_recentDock;
|
||||
EncodeDock *m_encodeDock;
|
||||
// Player *m_player; // DISABLED
|
||||
// QDockWidget *m_propertiesDock; // DISABLED
|
||||
// RecentDock *m_recentDock; // DISABLED
|
||||
// EncodeDock *m_encodeDock; // DISABLED
|
||||
JobsDock *m_jobsDock;
|
||||
PlaylistDock *m_playlistDock;
|
||||
TimelineDock *m_timelineDock;
|
||||
// PlaylistDock *m_playlistDock; // DISABLED
|
||||
// TimelineDock *m_timelineDock; // DISABLED
|
||||
QString m_currentFile;
|
||||
bool m_isKKeyPressed;
|
||||
// bool m_isKKeyPressed; // DISABLED
|
||||
QUndoStack *m_undoStack;
|
||||
QDockWidget *m_historyDock;
|
||||
QActionGroup *m_profileGroup;
|
||||
QActionGroup *m_externalGroup;
|
||||
QActionGroup *m_decklinkGammaGroup{nullptr};
|
||||
QActionGroup *m_keyerGroup;
|
||||
QActionGroup *m_layoutGroup;
|
||||
QActionGroup *m_previewScaleGroup;
|
||||
FiltersDock *m_filtersDock;
|
||||
FilterController *m_filterController;
|
||||
ScopeController *m_scopeController;
|
||||
QMenu *m_customProfileMenu;
|
||||
QMenu *m_decklinkGammaMenu{nullptr};
|
||||
QMenu *m_keyerMenu;
|
||||
QStringList m_multipleFiles;
|
||||
bool m_multipleFilesLoading;
|
||||
bool m_isPlaylistLoaded;
|
||||
// QDockWidget *m_historyDock; // DISABLED
|
||||
// QActionGroup *m_profileGroup; // DISABLED: video
|
||||
// QActionGroup *m_externalGroup; // DISABLED: video
|
||||
// QActionGroup *m_decklinkGammaGroup{nullptr}; // DISABLED: video
|
||||
// QActionGroup *m_keyerGroup; // DISABLED: video
|
||||
// QActionGroup *m_layoutGroup; // DISABLED: video
|
||||
// QActionGroup *m_previewScaleGroup; // DISABLED: video
|
||||
// FiltersDock *m_filtersDock; // DISABLED: video
|
||||
// FilterController *m_filterController; // DISABLED: video
|
||||
// ScopeController *m_scopeController; // DISABLED: video
|
||||
// QMenu *m_customProfileMenu; // DISABLED: video
|
||||
// QMenu *m_decklinkGammaMenu{nullptr}; // DISABLED: video
|
||||
// QMenu *m_keyerMenu; // DISABLED: video
|
||||
// QStringList m_multipleFiles; // DISABLED: video
|
||||
// bool m_multipleFilesLoading; // DISABLED: video
|
||||
// bool m_isPlaylistLoaded; // DISABLED: video
|
||||
QActionGroup *m_languagesGroup;
|
||||
QSharedPointer<AutoSaveFile> m_autosaveFile;
|
||||
QMutex m_autosaveMutex;
|
||||
QTimer m_autosaveTimer;
|
||||
int m_exitCode;
|
||||
QScopedPointer<QAction> m_statusBarAction;
|
||||
// QScopedPointer<QAction> m_statusBarAction; // DISABLED
|
||||
QNetworkAccessManager m_network;
|
||||
QString m_upgradeUrl;
|
||||
KeyframesDock *m_keyframesDock;
|
||||
// QString m_upgradeUrl; // DISABLED
|
||||
// KeyframesDock *m_keyframesDock; // DISABLED: video
|
||||
QDateTime m_clipboardUpdatedAt;
|
||||
QDateTime m_sourceUpdatedAt;
|
||||
MarkersDock *m_markersDock;
|
||||
NotesDock *m_notesDock;
|
||||
SubtitlesDock *m_subtitlesDock;
|
||||
// MarkersDock *m_markersDock; // DISABLED: video
|
||||
// NotesDock *m_notesDock; // DISABLED: video
|
||||
// SubtitlesDock *m_subtitlesDock; // DISABLED: video
|
||||
std::unique_ptr<QWidget> m_producerWidget;
|
||||
FilesDock *m_filesDock;
|
||||
ScreenCapture *m_screenCapture;
|
||||
|
||||
@@ -126,20 +126,14 @@ void ShotcutSettings::migrateLayout()
|
||||
void ShotcutSettings::log()
|
||||
{
|
||||
LOG_INFO() << "language" << language();
|
||||
LOG_INFO() << "deinterlacer" << playerDeinterlacer();
|
||||
LOG_INFO() << "external monitor" << playerExternal();
|
||||
LOG_INFO() << "GPU processing" << playerGPU();
|
||||
LOG_INFO() << "interpolation" << playerInterpolation();
|
||||
LOG_INFO() << "video mode" << playerProfile();
|
||||
LOG_INFO() << "realtime" << playerRealtime();
|
||||
LOG_INFO() << "audio channels" << playerAudioChannels();
|
||||
#if defined(Q_OS_WIN) || defined(Q_OS_LINUX)
|
||||
if (::qEnvironmentVariableIsSet("SDL_AUDIODRIVER")) {
|
||||
LOG_INFO() << "audio driver" << ::qgetenv("SDL_AUDIODRIVER");
|
||||
} else {
|
||||
LOG_INFO() << "audio driver" << playerAudioDriver();
|
||||
}
|
||||
#endif
|
||||
// Video settings logging disabled
|
||||
// LOG_INFO() << "deinterlacer" << playerDeinterlacer();
|
||||
// LOG_INFO() << "external monitor" << playerExternal();
|
||||
// LOG_INFO() << "GPU processing" << playerGPU();
|
||||
// LOG_INFO() << "interpolation" << playerInterpolation();
|
||||
// LOG_INFO() << "video mode" << playerProfile();
|
||||
// LOG_INFO() << "realtime" << playerRealtime();
|
||||
// LOG_INFO() << "audio channels" << playerAudioChannels();
|
||||
}
|
||||
|
||||
QString ShotcutSettings::language() const
|
||||
|
||||
22
src/util.cpp
22
src/util.cpp
@@ -17,17 +17,17 @@
|
||||
|
||||
#include "util.h"
|
||||
|
||||
#include "FlatpakWrapperGenerator.h"
|
||||
#include "Logger.h"
|
||||
#include "dialogs/transcodedialog.h"
|
||||
#include "mainwindow.h"
|
||||
#include "proxymanager.h"
|
||||
#include "qmltypes/qmlapplication.h"
|
||||
#include "settings.h"
|
||||
#include "shotcut_mlt_properties.h"
|
||||
#include "transcoder.h"
|
||||
#include <MltChain.h>
|
||||
#include <MltProducer.h>
|
||||
// #include "FlatpakWrapperGenerator.h" // DISABLED
|
||||
// #include "dialogs/transcodedialog.h" // DISABLED
|
||||
// #include "proxymanager.h" // DISABLED
|
||||
// #include "qmltypes/qmlapplication.h" // DISABLED
|
||||
// #include "shotcut_mlt_properties.h" // DISABLED: MLT
|
||||
// #include "transcoder.h" // DISABLED: MLT
|
||||
// #include <MltChain.h> // DISABLED: MLT
|
||||
// #include <MltProducer.h> // DISABLED: MLT
|
||||
|
||||
#include <QApplication>
|
||||
#include <QCamera>
|
||||
@@ -153,6 +153,7 @@ bool Util::warnIfNotWritable(const QString &filePath, QWidget *parent, const QSt
|
||||
return false;
|
||||
}
|
||||
|
||||
/* DISABLED: MLT producer title
|
||||
QString Util::producerTitle(const Mlt::Producer &producer)
|
||||
{
|
||||
QString result;
|
||||
@@ -169,6 +170,7 @@ QString Util::producerTitle(const Mlt::Producer &producer)
|
||||
return QString::fromUtf8(p.get(kShotcutCaptionProperty));
|
||||
return Util::baseName(ProxyManager::resource(p));
|
||||
}
|
||||
*/
|
||||
|
||||
QString Util::removeFileScheme(QUrl &url, bool fromPercentEncoding)
|
||||
{
|
||||
@@ -363,6 +365,7 @@ QTemporaryFile *Util::writableTemporaryFile(const QString &filePath, const QStri
|
||||
}
|
||||
}
|
||||
|
||||
/* DISABLED: MLT applyCustomProperties
|
||||
void Util::applyCustomProperties(Mlt::Producer &destination, Mlt::Producer &source, int in, int out)
|
||||
{
|
||||
Mlt::Properties p(destination);
|
||||
@@ -419,6 +422,7 @@ void Util::applyCustomProperties(Mlt::Producer &destination, Mlt::Producer &sour
|
||||
}
|
||||
destination.set_in_and_out(in, out);
|
||||
}
|
||||
*/
|
||||
|
||||
QString Util::getFileHash(const QString &path)
|
||||
{
|
||||
@@ -441,6 +445,7 @@ QString Util::getFileHash(const QString &path)
|
||||
return QString();
|
||||
}
|
||||
|
||||
/* DISABLED: MLT getHash
|
||||
QString Util::getHash(Mlt::Properties &properties)
|
||||
{
|
||||
QString hash = properties.get(kShotcutHashProperty);
|
||||
@@ -460,6 +465,7 @@ QString Util::getHash(Mlt::Properties &properties)
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
*/
|
||||
|
||||
bool Util::hasDriveLetter(const QString &path)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user