diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kpresenter/KPrTextProperty.cpp | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpresenter/KPrTextProperty.cpp')
-rw-r--r-- | kpresenter/KPrTextProperty.cpp | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/kpresenter/KPrTextProperty.cpp b/kpresenter/KPrTextProperty.cpp new file mode 100644 index 00000000..1f610538 --- /dev/null +++ b/kpresenter/KPrTextProperty.cpp @@ -0,0 +1,139 @@ +// -*- 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> + + The code is mostly a copy from kword/framedia.cc + + 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 "KPrTextProperty.h" + +#include <qcheckbox.h> +#include <qlayout.h> + +#include <klocale.h> +#include <kdebug.h> + +#include "KPrMarginWidget.h" + + +KPrTextProperty::KPrTextProperty( QWidget *parent, const char *name, const MarginsStruct &marginsStruct, + const KoUnit::Unit unit, PropValue protectContent ) +: QWidget( parent, name ) +, m_unit( unit ) +, m_protectContent( protectContent ) +{ + QGridLayout *layout = new QGridLayout( this, 1, 1, 11, 6 ); + + layout->addWidget( m_protectContentCheck = new QCheckBox( i18n( "Protect content" ), this ), 0, 0 ); + layout->addWidget( m_margins = new KPrMarginWidget( this, name, m_unit ), 1, 0 ); + + connect( m_protectContentCheck, SIGNAL( toggled ( bool ) ), + this, SLOT( slotProtectContentChanged( bool ) ) ); + + resize( QSize( 301, 217 ).expandedTo( minimumSizeHint() ) ); + + m_margins->setValues( marginsStruct.leftMargin, marginsStruct.rightMargin, + marginsStruct.topMargin, marginsStruct.bottomMargin ); + + slotReset(); +} + + +KPrTextProperty::~KPrTextProperty() +{ +} + + +int KPrTextProperty::getTextPropertyChange() const +{ + int flags = 0; + + if ( m_protectContentCheck->state() != QButton::NoChange ) + { + if ( ( m_protectContentCheck->isOn() ? STATE_ON : STATE_OFF ) != m_protectContent ) + { + flags |= ProtectContent; + } + + if ( ! m_protectContentCheck->isOn() && m_margins->changed() ) + { + flags |= Margins; + } + } + + return flags; +} + + +MarginsStruct KPrTextProperty::getMarginsStruct() const +{ + MarginsStruct marginsStruct; + marginsStruct.leftMargin = m_margins->leftValue(); + marginsStruct.rightMargin = m_margins->rightValue(); + marginsStruct.topMargin = m_margins->topValue(); + marginsStruct.bottomMargin = m_margins->bottomValue(); + return marginsStruct; +} + + +bool KPrTextProperty::getProtectContent() const +{ + return m_protectContentCheck->isOn(); +} + + +void KPrTextProperty::apply() +{ + int flags = getTextPropertyChange(); + + if ( flags & ProtectContent ) + m_protectContent = m_protectContentCheck->isOn() ? STATE_ON : STATE_OFF; + + if ( flags & Margins ) + m_margins->resetChanged(); +} + + +void KPrTextProperty::slotProtectContentChanged( bool b ) +{ + m_margins->setEnabled( !b ); +} + + +void KPrTextProperty::slotReset() +{ + switch ( m_protectContent ) + { + case STATE_ON: + m_protectContentCheck->setChecked( true ); + break; + case STATE_OFF: + m_protectContentCheck->setChecked( false ); + break; + case STATE_UNDEF: + m_protectContentCheck->setTristate( true ); + m_protectContentCheck->setNoChange(); + break; + default: + m_protectContentCheck->setChecked( false ); + break; + } +} + + +#include "KPrTextProperty.moc" |