#ifndef RM_FRAME_LIST_H #define RM_FRAME_LIST_H #include "../rm_include.h" #include "rm_widget_base.h" #include class FMButton; class QComboBox; class RMWidgetVideoList; extern int g_type_button_colors[]; extern int g_type_button_colors2[]; #if (RM_MODEL == RM_MODEL_TYPE_TB4000 && USE_DATE_FILTER) class FMDatePicker; #endif class RMFrameList : public RMWidgetBase { Q_OBJECT public: static RMFrameList* getInstance() { return _instance; } static RMFrameList* instance(QWidget* parent = nullptr); #if !(RECORD_TYPE_COMBO_UI) #if (RM_MODEL != RM_MODEL_TYPE_TB4000) QList buttons; FMButton* normalButton; FMButton* eventButton; #if (RM_MODEL == RM_MODEL_TYPE_XLDR_88) FMButton* allButton; FMButton* parkButton; #elif (RM_MODEL == RM_MODEL_TYPE_TBD360) FMButton* parkButton; #else FMButton* allButton; #endif #endif // RM_MODEL_TYPE_TB4000 #if !(SUB_MODEL_KEIYO_360) #if (RM_MODEL == RM_MODEL_TYPE_KEIYO1 || RM_MODEL == RM_MODEL_TYPE_MBJ5010 || RM_MODEL == RM_MODEL_TYPE_FC_DR232W || RM_MODEL == RM_MODEL_TYPE_BV2000 || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL_TYPE_EMT_KR) FMButton* parkButton; //#if (RM_MODEL != RM_MODEL_TYPE_MH9000) FMButton* manualButton; //#endif // NO MANUAL #endif // MODELS #endif // SUB_MODEL_KEIYO_360 #else QComboBox* typeCombo; #endif // #if !(RECORD_TYPE_COMBO_UI) RMWidgetVideoList* listWidget; #if (RM_MODEL != RM_MODEL_TYPE_TB4000) FMButton* backupButton; #endif // TB4000 #if (RM_MODEL == RM_MODEL_TYPE_TB4000) #if (USE_DATE_FILTER) FMDatePicker* datePicker; #endif // USE_DATE_FILTER FMButton* thumbNailButton1; // 1시간 FMButton* thumbNailButton2; // 세부 QLabel* countSimple; QLabel* countAll; FMButton* sortButton1; FMButton* sortButton2; FMButton* listSimpleButton; FMButton* listAllButton; //! \brief 썸네일과 영상이 날짜별로 정렬 되어 있는 폴더인지 확인 //! \param path: 폴더명 //! \return static bool isRootFolder(QString path); #endif // RM_MODEL_TYPE_TB4000 void openFolder(QString folderPath); protected: static RMFrameList* _instance; explicit RMFrameList(QWidget *parent = nullptr); QVBoxLayout* layout; void createTitle(); #if (RM_MODEL == RM_MODEL_TYPE_TB4000) void createDatePicker(); #elif (RM_MODEL != RM_MODEL_TYPE_AN6000) void createTypeButtons(); #endif // RM_MODEL_TYPE_TB4000 #if !(REMOVE_ALL_SHORT_CUTS) QShortcut* backupShortCut; #endif #if (LIVE_LANGUAGE_CHANGE && MODEL_STANDARD) void refreshLanguage(); #endif #if !(DUAL_VIEWER) QLabel* _titleLabel; #endif public slots: #if (RECORD_TYPE_COMBO_UI) void onToggleGroup(int selected); #else // RECORD_TYPE_COMBO_UI #if (RM_MODEL == RM_MODEL_TYPE_TB4000) void onAllList(); #else void onToggleGroup(); #endif // RM_MODEL_TYPE_TB4000 #endif // #if !(RECORD_TYPE_COMBO_UI) void onOpen(); void onBackup(); void onListUpdate(bool bLoading,RMVideoItem* item); #if !(SINGLE_SAVE_FILE) void onItemChecked(bool bSelected); #endif void onBackupStarted(); void onBackupEnded(); void onBackupPaused(bool bPaused); #if (LIVE_LANGUAGE_CHANGE && MODEL_STANDARD) void onLanguageChange(RMLanguage::LANGUAGE_TYPE language); #endif #if (RM_MODEL == RM_MODEL_TYPE_TB4000) void onThumbnail(); void onTypeOrSort(); //! \brief 외부에서 타입 변경 //! \param bSimple void onTypeChanged(); #endif #if (USE_VERSION_CHECK) void onStartVersionCheck(); #endif }; #endif // RM_CONTROL_LIST_H