RabbitCommon v2.3.3
Loading...
Searching...
No Matches
UndoCommand.cpp
1// Copyright Copyright (c) Kang Lin studio, All Rights Reserved
2// Author Kang Lin <kl222@126.com>
3
4#include "UndoCommand.h"
5#include <QLoggingCategory>
6
7static Q_LOGGING_CATEGORY(log, "RabbitCommon.Browser.File.Undo")
8CNewFolder::CNewFolder(QString szPath)
9 : QUndoCommand()
10 , m_szPath(szPath)
11{}
12
13void CNewFolder::undo()
14{
15 bool bRet = false;
16 QDir d(m_szPath);
17 if(d.exists())
18 bRet = d.rmdir(m_szPath);
19 qDebug(log) << "CNewFolder::undo()" << bRet << m_szPath;
20}
21
22void CNewFolder::redo()
23{
24 bool bRet = false;
25 QDir d(m_szPath);
26 if(!d.exists())
27 bRet = d.mkdir(m_szPath);
28#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
29 setObsolete(!bRet);
30#endif
31 qDebug(log) << "CNewFolder::redo()" << bRet << m_szPath;
32}
33
34CDeleteFolder::CDeleteFolder(QString szPath)
35 : QUndoCommand()
36 , m_szPath(szPath)
37{}
38
39void CDeleteFolder::undo()
40{
41 bool bRet = false;
42 QDir d(m_szPath);
43 if(!d.exists())
44 bRet = d.mkdir(m_szPath);
45#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
46 setObsolete(!bRet);
47#endif
48 qDebug(log) << "CDeleteFolder::undo()" << bRet << m_szPath;
49}
50
51void CDeleteFolder::redo()
52{
53 bool bRet = false;
54 QDir d(m_szPath);
55 if(d.exists())
56 bRet = d.rmdir(m_szPath);
57#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
58 setObsolete(!bRet);
59#endif
60 qDebug(log) << "CDeleteFolder::redo()" << bRet << m_szPath;
61}
62
63CChange::CChange(const QModelIndex &index, CFileBrowser *pThis)
64 : QUndoCommand()
65 , m_pThis(pThis)
66 , m_Index(index)
67{
68 QFileSystemModel* model = m_pThis->m_pModel;
69 if(model)
70 setText(model->filePath(index));
71}
72
73CChange::~CChange()
74{
75 qDebug(log) << "CChange::~CChange()";
76}
77
78void CChange::undo()
79{
80 qDebug(log) << "CChange::undo()" << m_Index;
81 m_pThis->m_pTree->setCurrentIndex(m_Index);
82 m_pThis->slotClicked(m_Index);
83 m_pThis->m_pTree->doItemsLayout();
84 m_pThis->m_pTree->scrollTo(m_Index);
85}
86
87void CChange::redo()
88{
89 qDebug(log) << "CChange::redo()" << m_Index;
90 m_pThis->slotClicked(m_Index);
91 m_pThis->m_pTree->setCurrentIndex(m_Index);
92 m_pThis->m_pTree->doItemsLayout();
93 m_pThis->m_pTree->scrollTo(m_Index);
94}
File browser.
Definition FileBrowser.h:26