// -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*- /* This file is part of the KDE project Copyright (C) 2005 Thorsten Zachmann <zachmann@kde.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "KPrPictureProperty.h" #include "picturepropertyui.h" #include "KPrPicturePreview.h" #include <knuminput.h> #include <tqradiobutton.h> #include <tqcheckbox.h> #include <tqlayout.h> KPrPictureProperty::KPrPictureProperty( TQWidget *parent, const char *name, const TQPixmap &pixmap, KPrPictureSettingCmd::PictureSettings pictureSettings ) : TQWidget( parent, name ) , m_pictureSettings( pictureSettings ) { TQVBoxLayout *layout = new TQVBoxLayout( this ); layout->addWidget( m_ui = new PicturePropertyUI( this ) ); connect( m_ui->depth0, TQT_SIGNAL( clicked() ), m_ui->picturePreview, TQT_SLOT( slotPictureDepth0() ) ); connect( m_ui->depth1, TQT_SIGNAL( clicked() ), m_ui->picturePreview, TQT_SLOT( slotPictureDepth1() ) ); connect( m_ui->depth8, TQT_SIGNAL( clicked() ), m_ui->picturePreview, TQT_SLOT( slotPictureDepth8() ) ); connect( m_ui->depth16, TQT_SIGNAL( clicked() ), m_ui->picturePreview, TQT_SLOT( slotPictureDepth16() ) ); connect( m_ui->depth32, TQT_SIGNAL( clicked() ), m_ui->picturePreview, TQT_SLOT( slotPictureDepth32() ) ); connect( m_ui->swapRGB, TQT_SIGNAL( toggled( bool ) ), m_ui->picturePreview, TQT_SLOT( slotSwapRGBPicture( bool ) ) ); connect( m_ui->grayscale, TQT_SIGNAL( toggled( bool ) ), m_ui->picturePreview, TQT_SLOT( slotGrayscalPicture( bool ) ) ); connect( m_ui->brightnessInput, TQT_SIGNAL( valueChanged( int ) ), m_ui->picturePreview, TQT_SLOT( slotBrightValue( int ) ) ); m_ui->picturePreview->setPicturePixmap( pixmap ); slotReset(); } KPrPictureProperty::~KPrPictureProperty() { } int KPrPictureProperty::getPicturePropertyChange() const { int flags = 0; KPrPictureSettingCmd::PictureSettings pictureSettings = getPictureSettings(); if ( pictureSettings.depth != m_pictureSettings.depth ) flags |= KPrPictureSettingCmd::Depth; if ( pictureSettings.swapRGB != m_pictureSettings.swapRGB ) flags |= KPrPictureSettingCmd::SwapRGB; if ( pictureSettings.grayscal != m_pictureSettings.grayscal ) flags |= KPrPictureSettingCmd::Grayscal; if ( pictureSettings.bright != m_pictureSettings.bright ) flags |= KPrPictureSettingCmd::Bright; return flags; } KPrPictureSettingCmd::PictureSettings KPrPictureProperty::getPictureSettings() const { KPrPictureSettingCmd::PictureSettings pictureSettings; pictureSettings.mirrorType = m_pictureSettings.mirrorType; pictureSettings.depth = m_ui->picturePreview->getDepth(); pictureSettings.swapRGB = m_ui->swapRGB->isOn(); pictureSettings.grayscal = m_ui->grayscale->isOn(); pictureSettings.bright = m_ui->brightnessInput->value(); return pictureSettings; } void KPrPictureProperty::apply() { int flags = getPicturePropertyChange(); KPrPictureSettingCmd::PictureSettings pictureSettings = getPictureSettings(); if ( flags & KPrPictureSettingCmd::Depth ) m_pictureSettings.depth = pictureSettings.depth; if ( flags & KPrPictureSettingCmd::SwapRGB ) m_pictureSettings.swapRGB = pictureSettings.swapRGB; if ( flags & KPrPictureSettingCmd::Grayscal ) m_pictureSettings.grayscal = pictureSettings.grayscal; if ( flags & KPrPictureSettingCmd::Bright ) m_pictureSettings.bright = pictureSettings.bright; } void KPrPictureProperty::slotReset() { m_ui->depth0->setChecked( m_pictureSettings.depth == 0 ); m_ui->depth1->setChecked( m_pictureSettings.depth == 1 ); m_ui->depth8->setChecked( m_pictureSettings.depth == 8 ); m_ui->depth16->setChecked( m_pictureSettings.depth == 16 ); m_ui->depth32->setChecked( m_pictureSettings.depth == 32 ); m_ui->picturePreview->setDepth( m_pictureSettings.depth ); m_ui->swapRGB->setChecked( m_pictureSettings.swapRGB ); m_ui->grayscale->setChecked( m_pictureSettings.grayscal ); m_ui->brightnessInput->setValue( m_pictureSettings.bright ); } #include "KPrPictureProperty.moc"