File indexing completed on 2024-04-28 05:46:35
0001 /* 0002 SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de> 0003 SPDX-FileCopyrightText: 2014-2017 Andrius Štikonas <andrius@stikonas.eu> 0004 0005 SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 0008 #if !defined(RESIZEDIALOG_H) 0009 0010 #define RESIZEDIALOG_H 0011 0012 #include "gui/sizedialogbase.h" 0013 0014 class Partition; 0015 class Device; 0016 0017 /** Let the user resize or move a Partition. 0018 0019 @author Volker Lanz <vl@fidra.de> 0020 */ 0021 class ResizeDialog : public SizeDialogBase 0022 { 0023 public: 0024 ResizeDialog(QWidget* parent, Device& device, Partition& p, qint64 minFirst, qint64 maxLast); 0025 ~ResizeDialog(); 0026 0027 public: 0028 bool isModified() const; 0029 qint64 resizedFirstSector() const { 0030 return m_ResizedFirstSector; 0031 } 0032 qint64 resizedLastSector() const { 0033 return m_ResizedLastSector; 0034 } 0035 0036 void accept() override; 0037 void reject() override; 0038 0039 protected: 0040 bool canGrow() const override; 0041 bool canShrink() const override; 0042 bool canMove() const override; 0043 void setupDialog() override; 0044 void setDirty() override; 0045 void rollback(); 0046 void setResizedFirstSector(qint64 s) { 0047 m_ResizedFirstSector = s; 0048 } 0049 void setResizedLastSector(qint64 s) { 0050 m_ResizedLastSector = s; 0051 } 0052 0053 qint64 originalFirstSector() const { 0054 return m_OriginalFirstSector; 0055 } 0056 qint64 originalLastSector() const { 0057 return m_OriginalLastSector; 0058 } 0059 0060 private: 0061 qint64 m_OriginalFirstSector; 0062 qint64 m_OriginalLastSector; 0063 qint64 m_ResizedFirstSector; 0064 qint64 m_ResizedLastSector; 0065 }; 0066 0067 #endif