OSDN Git Service

Some code refactoring and clean-up.
[lamexp/LameXP.git] / src / Dialog_MainWindow.h
index fd6580c..da56c8d 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2012 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
@@ -34,6 +34,7 @@ class QButtonGroup;
 class FileListModel;
 class AbstractEncoder;
 class QMenu;
+class DropBox;
 
 class MainWindow: public QMainWindow, private Ui::MainWindow
 {
@@ -46,76 +47,156 @@ public:
        bool isAccepted() { return m_accepted; }
 
 private slots:
-       void windowShown(void);
        void aboutButtonClicked(void);
-       void encodeButtonClicked(void);
-       void closeButtonClicked(void);
+       void addFileDelayed(const QString &filePath, bool tryASAP = false);
        void addFilesButtonClicked(void);
+       void addFilesDelayed(const QStringList &filePaths, bool tryASAP = false);
+       void addFavoriteFolderActionTriggered(void);
+       void addFolderDelayed(const QString &folderPath, bool recursive);
+       void aftenCodingModeChanged(int value);
+       void aftenDRCModeChanged(int value);
+       void aftenFastAllocationChanged(bool checked);
+       void aftenSearchSizeChanged(int value);
+       void autoDetectInstancesChanged(bool checked);
+       void bitrateManagementEnabledChanged(bool checked);
+       void bitrateManagementMaxChanged(int value);
+       void bitrateManagementMinChanged(int value);
+       void browseCustomTempFolderButtonClicked(void);
+       void centerOutputFolderModel(void);
+       void centerOutputFolderModel_doAsync(void);
+       void channelModeChanged(int value);
+       void checkForBetaUpdatesActionTriggered(bool checked);
+       void checkUpdatesActionActivated(void);
        void clearFilesButtonClicked(void);
-       void removeFileButtonClicked(void);
+       void clearMetaButtonClicked(void);
+       void closeButtonClicked(void);
+       void customParamsChanged(void);
+       void customTempFolderChanged(const QString &text);
+       void disableNeroAacNotificationsActionTriggered(bool checked);
+       void disableShellIntegrationActionTriggered(bool);
+       void disableSlowStartupNotificationsActionTriggered(bool checked);
+       void disableSoundsActionTriggered(bool checked);
+       void disableUpdateReminderActionTriggered(bool checked);
+       void documentActionActivated(void);
+       void editMetaButtonClicked(void);
+       void encodeButtonClicked(void);
+       void exportCsvContextActionTriggered(void);
        void fileDownButtonClicked(void);
        void fileUpButtonClicked(void);
-       void showDetailsButtonClicked(void);
-       void tabPageChanged(int idx);
-       void tabActionActivated(QAction *action);
-       void styleActionActivated(QAction *action);
-       void outputFolderViewClicked(const QModelIndex &index);
-       void makeFolderButtonClicked(void);
-       void gotoHomeFolderButtonClicked(void);
+       void findFileContextActionTriggered(void);
+       void forceStereoDownmixEnabledChanged(bool checked);
        void gotoDesktopButtonClicked(void);
+       void gotoFavoriteFolder(void);
+       void gotoHomeFolderButtonClicked(void);
        void gotoMusicFolderButtonClicked(void);
-       void checkUpdatesActionActivated(void);
-       void visitHomepageActionActivated(void);
-       void openFolderActionActivated(void);
-       void notifyOtherInstance(void);
-       void addFileDelayed(const QString &filePath);
        void handleDelayedFiles(void);
-       void editMetaButtonClicked(void);
-       void clearMetaButtonClicked(void);
-       void updateEncoder(int id);
-       void updateRCMode(int id);
-       void updateBitrate(int value);
-       void sourceModelChanged(void);
+       void hibernateComputerActionTriggered(bool checked);
+       void importCueSheetActionTriggered(bool checked);
+       void importCsvContextActionTriggered(void);
+       void initOutputFolderModel(void);
+       void languageActionActivated(QAction *action);
+       void languageFromFileActionActivated(bool checked);
+       void makeFolderButtonClicked(void);
        void metaTagsEnabledChanged(void);
+       void neroAAC2PassChanged(bool checked);
+       void neroAACProfileChanged(int value);
+       void normalizationEnabledChanged(bool checked);
+       void normalizationMaxVolumeChanged(double volume);
+       void normalizationModeChanged(int mode);
+       void notifyOtherInstance(void);
+       void openFolderActionActivated(void);
+       void outputFolderContextMenu(const QPoint &pos);
+       void outputFolderDirectoryLoaded(const QString &path);
+       void outputFolderEditFinished(void);
+       void outputFolderItemExpanded(const QModelIndex &item);
+       void outputFolderRowsInserted(const QModelIndex &parent, int start, int end);
+       void outputFolderViewClicked(const QModelIndex &index);
+       void outputFolderViewMoved(const QModelIndex &index);
        void playlistEnabledChanged(void);
-       void saveToSourceFolderChanged(void);
-       void restoreCursor(void);
-       void sourceFilesContextMenu(const QPoint &pos);
+       void prependRelativePathChanged(void);
        void previewContextActionTriggered(void);
-       void findFileContextActionTriggered(void);
-       void disableUpdateReminderActionTriggered(bool checked);
-       void disableSoundsActionTriggered(bool checked);
-       void outputFolderContextMenu(const QPoint &pos);
+       void removeFileButtonClicked(void);
+       void renameOutputEnabledChanged(bool checked);
+       void renameOutputPatternChanged(void);
+       void renameOutputPatternChanged(const QString &text);
+       void resetAdvancedOptionsButtonClicked(void);
+       void restoreCursor(void);
+       void samplingRateChanged(int value);
+       void saveToSourceFolderChanged(void);
+       void showAnnounceBox(void);
+       void showDetailsButtonClicked(void);
+       void showDropBoxWidgetActionTriggered(bool checked);
        void showFolderContextActionTriggered(void);
-       void installWMADecoderActionTriggered(bool checked);
+       void showRenameMacros(const QString &text);
+       void sourceFilesContextMenu(const QPoint &pos);
+       void sourceFilesScrollbarMoved(int);
+       void sourceModelChanged(void);
+       void styleActionActivated(QAction *action);
+       void tabActionActivated(QAction *action);
+       void tabPageChanged(int idx);
+       void toneAdjustBassChanged(double value);
+       void toneAdjustTrebleChanged(double value);
+       void toneAdjustTrebleReset(void);
+       void updateBitrate(int value);
+       void updateEncoder(int id);
+       void updateLameAlgoQuality(int value);
+       void updateMaximumInstances(int value);
+       void updateRCMode(int id);
+       void useCustomTempFolderChanged(bool checked);
+       void visitHomepageActionActivated(void);
+       void windowShown(void);
 
 protected:
-       void showEvent(QShowEvent *event);
-       void dragEnterEvent(QDragEnterEvent *event);
-       void dropEvent(QDropEvent *event);
-       void closeEvent(QCloseEvent *event);
-       void resizeEvent(QResizeEvent *event);
-       bool eventFilter(QObject *obj, QEvent *event);
+       virtual void changeEvent(QEvent *e);
+       virtual void closeEvent(QCloseEvent *event);
+       virtual void dragEnterEvent(QDragEnterEvent *event);
+       virtual void dropEvent(QDropEvent *event);
+       virtual bool eventFilter(QObject *obj, QEvent *event);
+       virtual void resizeEvent(QResizeEvent *event);
+       virtual void showEvent(QShowEvent *event);
+       virtual bool event(QEvent *e);
+       virtual bool winEvent(MSG *message, long *result);
 
 private:
        void addFiles(const QStringList &files);
-
+       void addFolder(const QString &path, bool recursive = false, bool delayed = false);
+       bool checkForUpdates(void);
+       void refreshFavorites(void);
+       
        bool m_accepted;
        bool m_firstTimeShown;
-       FileListModel *m_fileListModel;
-       QFileSystemModelEx *m_fileSystemModel;
-       QActionGroup *m_tabActionGroup;
-       QActionGroup *m_styleActionGroup;
-       QButtonGroup *m_encoderButtonGroup;
-       QButtonGroup *m_modeButtonGroup;
+       bool m_outputFolderViewInitialized;
+       bool m_outputFolderViewCentering;
+
+       const bool m_neroEncoderAvailable;
+       const bool m_fhgEncoderAvailable;
+       const bool m_qaacEncoderAvailable;
+
        WorkingBanner *m_banner;
-       MessageHandlerThread *m_messageHandler;
        QStringList *m_delayedFileList;
        QTimer *m_delayedFileTimer;
+       DropBox *m_dropBox;
+       QLabel *m_dropNoteLabel;
+       FileListModel *m_fileListModel;
+       QFileSystemModelEx *m_fileSystemModel;
+       MessageHandlerThread *m_messageHandler;
        AudioFileModel *m_metaData;
        MetaInfoModel *m_metaInfoModel;
+       QMenu *m_outputFolderContextMenu;
        SettingsModel *m_settings;
-       QLabel *m_dropNoteLabel;
        QMenu *m_sourceFilesContextMenu;
-       QMenu *m_outputFolderContextMenu;
+       QMenu *m_outputFolderFavoritesMenu;
+
+       QAction *m_findFileContextAction;
+       QAction *m_previewContextAction;
+       QAction *m_showDetailsContextAction;
+       QAction *m_showFolderContextAction;
+       QAction *m_addFavoriteFolderAction;
+       QAction *m_exportCsvContextAction;
+       QAction *m_importCsvContextAction;
+       QActionGroup *m_languageActionGroup;
+       QActionGroup *m_styleActionGroup;
+       QActionGroup *m_tabActionGroup;
+       QButtonGroup *m_encoderButtonGroup;
+       QButtonGroup *m_modeButtonGroup;
 };