File indexing completed on 2024-05-05 04:51:45
0001 /* 0002 SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef K3BFILLSTATUSDISPLAY_H 0007 #define K3BFILLSTATUSDISPLAY_H 0008 0009 #include <QMouseEvent> 0010 #include <QPaintEvent> 0011 #include <QFrame> 0012 0013 class QPaintEvent; 0014 class QMouseEvent; 0015 namespace K3b { 0016 class Doc; 0017 class Msf; 0018 0019 namespace Device { 0020 class Device; 0021 } 0022 0023 class FillStatusDisplayWidget : public QWidget 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 FillStatusDisplayWidget( Doc* doc, QWidget* parent ); 0029 ~FillStatusDisplayWidget() override; 0030 0031 QSize sizeHint() const override; 0032 QSize minimumSizeHint() const override; 0033 0034 const K3b::Msf& cdSize() const; 0035 0036 public Q_SLOTS: 0037 void setShowTime( bool b ); 0038 void setCdSize( const K3b::Msf& size ); 0039 0040 Q_SIGNALS: 0041 void contextMenu( const QPoint& ); 0042 0043 protected: 0044 void mousePressEvent( QMouseEvent* ) override; 0045 void paintEvent(QPaintEvent*) override; 0046 0047 private: 0048 class Private; 0049 Private* d; 0050 }; 0051 0052 0053 class FillStatusDisplay : public QFrame 0054 { 0055 Q_OBJECT 0056 0057 public: 0058 explicit FillStatusDisplay(Doc* doc, QWidget *parent=0); 0059 ~FillStatusDisplay() override; 0060 0061 public Q_SLOTS: 0062 void showSize(); 0063 void showTime(); 0064 0065 protected: 0066 void setupPopupMenu(); 0067 0068 private Q_SLOTS: 0069 void slotAutoSize(); 0070 void slot74Minutes(); 0071 void slot80Minutes(); 0072 void slot100Minutes(); 0073 void slotDvd4_7GB(); 0074 void slotDvdDoubleLayer(); 0075 void slotWhy44(); 0076 void slotBD25(); 0077 void slotBD50(); 0078 void slotCustomSize(); 0079 void slotMenuButtonClicked(); 0080 void slotPopupMenu(const QPoint&); 0081 void slotDetermineSize(); 0082 void slotDocChanged(); 0083 void slotMediumChanged( K3b::Device::Device* dev ); 0084 void slotUpdateDisplay(); 0085 0086 void slotLoadUserDefaults(); 0087 void slotSaveUserDefaults(); 0088 0089 protected: 0090 bool event( QEvent* ) override; 0091 0092 private: 0093 class Private; 0094 Private* d; 0095 }; 0096 } 0097 0098 #endif