~ubuntu-branches/ubuntu/precise/koffice/precise

« back to all changes in this revision

Viewing changes to krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghersi
  • Date: 2010-10-27 17:52:57 UTC
  • mfrom: (0.12.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101027175257-s04zqqk5bs8ckm9o
Tags: 1:2.2.83-0ubuntu1
* Merge with Debian git remaining changes:
 - Add build-deps on librcps-dev, opengtl-dev, libqtgtl-dev, freetds-dev,
   create-resources, libspnav-dev
 - Remove needless build-dep on libwv2-dev
 - koffice-libs recommends create-resources
 - krita recommends pstoedit
 - Keep our patches
* New upstream release 2.3 beta 3
  - Remove debian/patches fixed by upstream
  - Update install files

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
#include <khbox.h>
52
52
#include <kicon.h>
53
53
 
54
 
#include "KoSliderCombo.h"
55
54
#include <KoDocumentSectionView.h>
56
55
#include "KoColorSpace.h"
57
56
 
64
63
#include <kis_node.h>
65
64
 
66
65
#include "widgets/kis_cmb_composite.h"
 
66
#include "widgets/kis_slider_spin_box.h"
67
67
#include "kis_view2.h"
68
68
#include "kis_node_manager.h"
69
69
#include "kis_node_model.h"
81
81
 
82
82
    QWidget* mainWidget = new QWidget(this);
83
83
    setWidget(mainWidget);
 
84
    m_delayTimer.setSingleShot(true);
84
85
 
85
86
    m_wdgLayerBox->setupUi(mainWidget);
86
87
 
87
88
    setMinimumSize(mainWidget->minimumSizeHint());
88
89
 
89
 
    m_wdgLayerBox->listLayers->viewport()->installEventFilter(this);
90
90
    m_wdgLayerBox->listLayers->setDragDropMode(QAbstractItemView::InternalMove);
91
91
    m_wdgLayerBox->listLayers->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
92
92
 
156
156
 
157
157
    connect(m_wdgLayerBox->bnProperties, SIGNAL(clicked()), SLOT(slotPropertiesClicked()));
158
158
    connect(m_wdgLayerBox->bnDuplicate, SIGNAL(clicked()), SLOT(slotDuplicateClicked()));
159
 
    connect(m_wdgLayerBox->doubleOpacity, SIGNAL(valueChanged(qreal, bool)), SLOT(slotOpacityChanged(qreal, bool)));
 
159
    connect(m_wdgLayerBox->doubleOpacity, SIGNAL(valueChanged(qreal)), SLOT(slotOpacitySliderMoved(qreal)));
 
160
    connect(&m_delayTimer, SIGNAL(timeout()), SLOT(slotOpacityChanged()));
160
161
    connect(m_wdgLayerBox->cmbComposite, SIGNAL(activated(const QString&)), SLOT(slotCompositeOpChanged(const QString&)));
161
162
 
162
163
}
214
215
{
215
216
    Q_ASSERT(! m_image.isNull());
216
217
 
217
 
    m_wdgLayerBox->bnDelete->setEnabled(m_nodeManager->activeNode());
218
 
    m_wdgLayerBox->bnRaise->setEnabled(m_nodeManager->activeNode()
219
 
                                       && (m_nodeManager->activeNode()->nextSibling()
220
 
                                           || (m_nodeManager->activeNode()->parent()
221
 
                                               && m_nodeManager->activeNode()->parent() != m_image->root())));
222
 
 
223
 
    m_wdgLayerBox->bnLower->setEnabled(m_nodeManager->activeNode() && m_nodeManager->activeNode()->prevSibling());
224
 
 
225
 
    m_wdgLayerBox->doubleOpacity->setEnabled(m_nodeManager->activeNode());
226
 
    m_wdgLayerBox->doubleOpacity->setDecimals(0);
227
 
 
228
 
    m_wdgLayerBox->cmbComposite->setEnabled(m_nodeManager->activeNode());
229
 
 
230
 
    if (KisNodeSP active = m_nodeManager->activeNode()) {
 
218
    KisNodeSP active = m_nodeManager->activeNode();
 
219
    
 
220
    m_wdgLayerBox->bnDelete->setEnabled(active);
 
221
    m_wdgLayerBox->bnRaise->setEnabled(active && (active->nextSibling()
 
222
                                           || (active->parent() && active->parent() != m_image->root())));
 
223
 
 
224
    m_wdgLayerBox->bnLower->setEnabled(active && active->prevSibling());
 
225
    m_wdgLayerBox->bnDuplicate->setEnabled(active);
 
226
    m_wdgLayerBox->bnProperties->setEnabled(active);
 
227
 
 
228
    m_wdgLayerBox->doubleOpacity->setEnabled(active);
 
229
    m_wdgLayerBox->doubleOpacity->setRange(0, 100, 0);
 
230
 
 
231
    m_wdgLayerBox->cmbComposite->setEnabled(active);
 
232
 
 
233
    if (active) {
231
234
        if (m_nodeManager->activePaintDevice())
232
235
            slotFillCompositeOps(m_nodeManager->activeColorSpace());
233
236
        else
382
385
 
383
386
    for (int i = 0, n = l.count(); i < n; ++i) {
384
387
        KisNodeSP node = m_nodeModel->nodeFromIndex(l.at(i));
385
 
        m_nodeManager->removeNode(node);
 
388
        if (!node->systemLocked()) {
 
389
            m_nodeManager->removeNode(node);        
 
390
        }
386
391
    }
387
392
    m_nodeManager->updateGUI();
388
393
}
420
425
    m_nodeManager->nodeCompositeOpChanged(m_nodeManager->activeColorSpace()->compositeOp(_compositeOp));
421
426
}
422
427
 
423
 
void KisLayerBox::slotOpacityChanged(qreal opacity, bool final)
424
 
{
425
 
    m_nodeManager->nodeOpacityChanged(opacity, final);
426
 
}
 
428
void KisLayerBox::slotOpacityChanged()
 
429
{
 
430
    m_nodeManager->nodeOpacityChanged(m_newOpacity, true);
 
431
}
 
432
 
 
433
void KisLayerBox::slotOpacitySliderMoved(qreal opacity)
 
434
{
 
435
    m_newOpacity = opacity;
 
436
    m_delayTimer.start(200);
 
437
}
 
438
 
 
439
 
427
440
 
428
441
#include "kis_layer_box.moc"