OSDN Git Service

Bump version.
[lamexp/LameXP.git] / src / Dialog_MainWindow.h
index 307bb58..0990cd0 100644 (file)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2015 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2020 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
+// it under the terms of the GNU GENERAL PUBLIC LICENSE as published by
 // the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version, but always including the *additional*
-// restrictions defined in the "License.txt" file.
+// (at your option) any later version; always including the non-optional
+// LAMEXP GNU GENERAL PUBLIC LICENSE ADDENDUM. See "License.txt" file!
 //
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -40,9 +40,9 @@ class QLabel;
 class QMenu;
 class QUrl;
 class QModelIndex;
+class QEventLoop;
 class SettingsModel;
 class WorkingBanner;
-class lamexp_icon_t;
 
 //UIC forward declartion
 namespace Ui
@@ -78,7 +78,7 @@ private slots:
        void aftenDRCModeChanged(int value);
        void aftenFastAllocationChanged(bool checked);
        void aftenSearchSizeChanged(int value);
-       void autoDetectInstancesChanged(bool checked);
+       void autoDetectInstancesChanged(const bool checked);
        void bitrateManagementEnabledChanged(bool checked);
        void bitrateManagementMaxChanged(int value);
        void bitrateManagementMinChanged(int value);
@@ -106,6 +106,9 @@ private slots:
        void encodeButtonClicked(void);
        void exportCsvContextActionTriggered(void);
        void fileDownButtonClicked(void);
+       void fileExtAddButtonClicked();
+       void fileExtModelChanged();
+       void fileExtRemoveButtonClicked();
        void fileUpButtonClicked(void);
        void findFileContextActionTriggered(void);
        void forceStereoDownmixEnabledChanged(bool checked);
@@ -121,6 +124,7 @@ private slots:
        void importCsvContextActionTriggered(void);
        void initOutputFolderModel(void);
        void initOutputFolderModel_doAsync(void);
+       void keepOriginalDateTimeChanged(bool checked);
        void languageActionActivated(QAction *action);
        void languageFromFileActionActivated(bool checked);
        void makeFolderButtonClicked(void);
@@ -151,9 +155,14 @@ private slots:
        void previewContextActionTriggered(void);
        void refreshFolderContextActionTriggered(void);
        void removeFileButtonClicked(void);
-       void renameOutputEnabledChanged(bool checked);
+       void renameButtonClicked(bool checked);
+       void renameOutputEnabledChanged(const bool &checked);
        void renameOutputPatternChanged(void);
-       void renameOutputPatternChanged(const QString &text, bool silent = false);
+       void renameOutputPatternChanged(const QString &text, const bool &silent = false);
+       void renameRegExpEnabledChanged(const bool &checked);
+       void renameRegExpValueChanged(void);
+       void renameRegExpSearchChanged (const QString &text, const bool &silent = false);
+       void renameRegExpReplaceChanged(const QString &text, const bool &silent = false);
        void resetAdvancedOptionsButtonClicked(void);
        void restoreCursor(void);
        void samplingRateChanged(int value);
@@ -176,7 +185,7 @@ private slots:
        void updateBitrate(int value);
        void updateEncoder(int id = 0);
        void updateLameAlgoQuality(int value);
-       void updateMaximumInstances(int value);
+       void updateMaximumInstances(const int value);
        void updateRCMode(int id);
        void useCustomTempFolderChanged(bool checked);
        void visitHomepageActionActivated(void);
@@ -198,33 +207,50 @@ private:
        Ui::MainWindow *ui; //for Qt UIC
 
        void addFiles(const QStringList &files);
-       void addFolder(const QString &path, bool recursive = false, bool delayed = false);
-       bool checkForUpdates(void);
+       void addFolder(const QString &path, bool recursive = false, bool delayed = false, QString filter = QString());
+       bool MainWindow::checkForUpdates(bool &haveNewVersion);
        void initializeTranslation(void);
        void refreshFavorites(void);
        void openDocumentLink(QAction *const action);
-       
+       void moveSelectedFiles(const bool &up);
+
+       void showBanner(const QString &text);
+       void showBanner(const QString &text, QThread *const thread);
+       void showBanner(const QString &text, QEventLoop *const eventLoop);
+       void showBanner(const QString &text, bool &flag, const bool &test);
+
        bool m_accepted;
        bool m_firstTimeShown;
        uint m_outputFolderViewInitCounter;
        bool m_outputFolderViewCentering;
 
-       WorkingBanner *m_banner;
-       QList<QUrl> *m_droppedFileList;
-       QStringList *m_delayedFileList;
-       QTimer *m_delayedFileTimer;
-       DropBox *m_dropBox;
-       QLabel *m_dropNoteLabel;
-       FileListModel *m_fileListModel;
-       QFileSystemModelEx *m_fileSystemModel;
-       MessageHandlerThread *m_messageHandler;
+       FileListModel           *const m_fileListModel;
        AudioFileModel_MetaInfo *const m_metaData;
-       MetaInfoModel *m_metaInfoModel;
-       QMenu *m_outputFolderContextMenu;
-       SettingsModel *m_settings;
-       QMenu *m_sourceFilesContextMenu;
-       QMenu *m_outputFolderFavoritesMenu;
-       QLabel *m_outputFolderNoteBox;
+       SettingsModel           *const m_settings;
+
+       QScopedPointer<WorkingBanner>      m_banner;
+       QScopedPointer<MetaInfoModel>      m_metaInfoModel;
+       QScopedPointer<QFileSystemModelEx> m_fileSystemModel;
+       
+       QScopedPointer<QList<QUrl>> m_droppedFileList;
+       QScopedPointer<QStringList> m_delayedFileList;
+       QScopedPointer<QTimer>      m_delayedFileTimer;
+       QScopedPointer<DropBox>     m_dropBox;
+       QScopedPointer<QLabel>      m_dropNoteLabel;
+
+       QScopedPointer<MessageHandlerThread> m_messageHandler;
+       QScopedPointer<QLabel>               m_outputFolderNoteBox;
+
+       QScopedPointer<QMenu> m_outputFolderContextMenu;
+       QScopedPointer<QMenu> m_sourceFilesContextMenu;
+       QScopedPointer<QMenu> m_outputFolderFavoritesMenu;
+
+       QScopedPointer<QActionGroup> m_languageActionGroup;
+       QScopedPointer<QActionGroup> m_styleActionGroup;
+       QScopedPointer<QActionGroup> m_tabActionGroup;
+       QScopedPointer<QButtonGroup> m_encoderButtonGroup;
+       QScopedPointer<QButtonGroup> m_modeButtonGroup;
+       QScopedPointer<QButtonGroup> m_overwriteButtonGroup;
 
        QAction *m_findFileContextAction;
        QAction *m_previewContextAction;
@@ -235,16 +261,10 @@ private:
        QAction *m_addFavoriteFolderAction;
        QAction *m_exportCsvContextAction;
        QAction *m_importCsvContextAction;
-       QActionGroup *m_languageActionGroup;
-       QActionGroup *m_styleActionGroup;
-       QActionGroup *m_tabActionGroup;
-       QButtonGroup *m_encoderButtonGroup;
-       QButtonGroup *m_modeButtonGroup;
-       QButtonGroup *m_overwriteButtonGroup;
-
-       CustomEventFilter *m_evenFilterCornerWidget;
-       CustomEventFilter *m_evenFilterCustumParamsHelp;
-       CustomEventFilter *m_evenFilterOutputFolderMouse;
-       CustomEventFilter *m_evenFilterOutputFolderView;
-       CustomEventFilter *m_evenFilterCompressionTab;
+
+       QScopedPointer<CustomEventFilter> m_evenFilterCornerWidget;
+       QScopedPointer<CustomEventFilter> m_evenFilterCustumParamsHelp;
+       QScopedPointer<CustomEventFilter> m_evenFilterOutputFolderMouse;
+       QScopedPointer<CustomEventFilter> m_evenFilterOutputFolderView;
+       QScopedPointer<CustomEventFilter> m_evenFilterCompressionTab;
 };