X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2FDialog_MainWindow.h;h=9e572640937918edf149ff769bb76471734883f2;hb=9f2bffd2fd0c35e71c5fa55c9a3763a013283be1;hp=87153907945c2f147e21e48ffe6b8bdff71a1f53;hpb=571df62e39b16e4e2fce46c406ebaa2dfe932dab;p=lamexp%2FLameXP.git diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 87153907..9e572640 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // LameXP - Audio Encoder Front-End -// Copyright (C) 2004-2010 LoRd_MuldeR +// Copyright (C) 2004-2013 LoRd_MuldeR // // 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 @@ -21,22 +21,32 @@ #pragma once -#include "../tmp/UIC_MainWindow.h" - -//#include "Model_FileList.h" +#include //Class declarations -class QFileSystemModel; -class WorkingBanner; -class MessageHandlerThread; +class AbstractEncoder; class AudioFileModel; +class CustomEventFilter; +class DropBox; +class FileListModel; +class MessageHandlerThread; class MetaInfoModel; -class SettingsModel; +class QActionGroup; class QButtonGroup; -class FileListModel; -class AbstractEncoder; +class QFileSystemModelEx; +class QLabel; +class QMenu; +class QModelIndex; +class SettingsModel; +class WorkingBanner; + +//UIC forward declartion +namespace Ui { + class MainWindow; +} -class MainWindow: public QMainWindow, private Ui::MainWindow +//MainWindow class +class MainWindow: public QMainWindow { Q_OBJECT @@ -47,66 +57,179 @@ 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 compressionTabEventOccurred(QWidget*, QEvent*); + void customParamsChanged(void); + void customParamsHelpRequested(QWidget *obj, QEvent *event); + 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 goUpFolderContextActionTriggered(void); 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 initOutputFolderModel_doAsync(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 opusSettingsChanged(void); + void outputFolderContextMenu(const QPoint &pos); + void outputFolderDirectoryLoaded(const QString &path); + void outputFolderEditFinished(void); + void outputFolderItemExpanded(const QModelIndex &item); + void outputFolderMouseEventOccurred(QWidget *sender, QEvent *event); + void outputFolderViewEventOccurred(QWidget *sender, QEvent *event); + void outputFolderRowsInserted(const QModelIndex &parent, int start, int end); + void outputFolderViewClicked(const QModelIndex &index); + void outputFolderViewMoved(const QModelIndex &index); + void overwriteModeChanged(int id); void playlistEnabledChanged(void); - void saveToSourceFolderChanged(void); + void prependRelativePathChanged(void); + void previewContextActionTriggered(void); + void refreshFolderContextActionTriggered(void); + 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 showCustomParamsHelpScreen(const QString &toolName, const QString &command); + void showDetailsButtonClicked(void); + void showDropBoxWidgetActionTriggered(bool checked); + void showFolderContextActionTriggered(void); + 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 void keyPressEvent(QKeyEvent *e); + virtual bool event(QEvent *e); + virtual bool winEvent(MSG *message, long *result); private: - void addFiles(const QStringList &files); + 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 initializeTranslation(void); + void refreshFavorites(void); + bool m_accepted; bool m_firstTimeShown; - FileListModel *m_fileListModel; - QFileSystemModel *m_fileSystemModel; - QActionGroup *m_tabActionGroup; - QActionGroup *m_styleActionGroup; - QButtonGroup *m_encoderButtonGroup; - QButtonGroup *m_modeButtonGroup; + uint m_outputFolderViewInitCounter; + 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_outputFolderFavoritesMenu; + QLabel *m_outputFolderNoteBox; + + QAction *m_findFileContextAction; + QAction *m_previewContextAction; + QAction *m_showDetailsContextAction; + QAction *m_showFolderContextAction; + QAction *m_refreshFolderContextAction; + QAction *m_goUpFolderContextAction; + 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_evenFilterCustumParamsHelp; + CustomEventFilter *m_evenFilterOutputFolderMouse; + CustomEventFilter *m_evenFilterOutputFolderView; + CustomEventFilter *m_evenFilterCompressionTab; };