19#include "kis_global.h"
20#include "kis_selected_transaction.h"
21#include "kis_selection.h"
23KisSelectedTransaction::KisSelectedTransaction( const TQString& name, KisPaintDeviceSP device) :
24 KisTransaction(name, device),
26 m_hadSelection(device->hasSelection())
28 m_selTransaction = new KisTransaction(name, device->selection().data());
29 if(! m_hadSelection) {
34KisSelectedTransaction::~KisSelectedTransaction()
36 delete m_selTransaction;
39void KisSelectedTransaction::execute()
42 m_selTransaction->execute();
43 if(m_redoHasSelection)
44 m_device->selection();
47 m_device->emitSelectionChanged();
50void KisSelectedTransaction::unexecute()
52 m_redoHasSelection = m_device->hasSelection();
55 m_selTransaction->unexecute();
57 m_device->selection();
60 m_device->emitSelectionChanged();
63void KisSelectedTransaction::unexecuteNoUpdate()
65 m_redoHasSelection = m_device->hasSelection();
67 super::unexecuteNoUpdate();
68 m_selTransaction->unexecuteNoUpdate();
70 m_device->selection();
|