diff options
Diffstat (limited to 'kiconedit/kiconconfig.cpp')
-rw-r--r-- | kiconedit/kiconconfig.cpp | 589 |
1 files changed, 0 insertions, 589 deletions
diff --git a/kiconedit/kiconconfig.cpp b/kiconedit/kiconconfig.cpp deleted file mode 100644 index d50fbc86..00000000 --- a/kiconedit/kiconconfig.cpp +++ /dev/null @@ -1,589 +0,0 @@ -/* - TDE Icon Editor - a small graphics drawing program for the TDE - Copyright (C) 1998 Thomas Tanghus (tanghus@kde.org) - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This program 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 - 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 <stdlib.h> - -#include <tqcheckbox.h> -#include <tqlayout.h> -#include <tqlineedit.h> -#include <tqvbox.h> -#include <tqbuttongroup.h> -#include <tqradiobutton.h> - -#include <tdeaccel.h> -#include <kbuttonbox.h> -#include <tdeapplication.h> -#include <tdelocale.h> -#include <kcolorbutton.h> -#include <tdefiledialog.h> -#include <tdemessagebox.h> -#include <kdebug.h> -#include <kurlrequester.h> - -#include "kiconconfig.h" -#include "kiconedit.h" - -#ifndef PICS_INCLUDED -#define PICS_INCLUDED -#include "pics/logo.xpm" -#endif - -// little helper: -static inline TQPixmap loadIcon( const char * name ) -{ - return TDEGlobal::instance()->iconLoader() - ->loadIcon( TQString::fromLatin1(name), TDEIcon::NoGroup, TDEIcon::SizeMedium ); -} - -KTemplateEditDlg::KTemplateEditDlg(TQWidget *parent) - : KDialogBase(parent, "KTemplateEditDlg", true, i18n( "Icon Template" ), - Ok|Cancel ) -{ - TQFrame *frame = makeMainWidget(); - TQVBoxLayout *ml = new TQVBoxLayout(frame); - TQGroupBox *grp = new TQGroupBox(i18n("Template"), frame); - grp->setColumnLayout(0, Qt::Vertical); - grp->layout()->setSpacing(spacingHint()); - grp->layout()->setMargin(marginHint()); - TQGridLayout *l = new TQGridLayout(grp->layout()); - - ln_name = new TQLineEdit( grp ); - connect( ln_name, TQT_SIGNAL( textChanged( const TQString & ) ), - TQT_SLOT( slotTextChanged() ) ); - TQLabel* lb_name = new TQLabel( ln_name, i18n( "Description:" ), grp ); - - ln_path = new KURLRequester(grp); - connect( ln_path, TQT_SIGNAL( textChanged( const TQString & ) ), - TQT_SLOT( slotTextChanged() ) ); - TQLabel* lb_path = new TQLabel( ln_path, i18n( "Path:" ), grp ); - - l->addWidget(lb_name, 0, 0); - l->addWidget(ln_name, 0, 1); - l->addWidget(lb_path, 1, 0); - l->addWidget(ln_path, 1, 1); - - ml->addWidget( grp, 1); - - slotTextChanged(); - - setMinimumSize( 400, 150 ); -} - -void KTemplateEditDlg::slotTextChanged() -{ - TQString name = ln_name->text(), path = ln_path->url(); - enableButtonOK(name.length() && path.length()); -} - -void KTemplateEditDlg::setName(const TQString & name) -{ - ln_name->setText(name); -} - -TQString KTemplateEditDlg::name() -{ - return ln_name->text(); -} - -void KTemplateEditDlg::setPath(const TQString & path) -{ - ln_path->setURL(path); -} - -TQString KTemplateEditDlg::path() -{ - return ln_path->url(); -} - -KTemplateConfig::KTemplateConfig(TQWidget *parent) : TQWidget(parent) -{ - kdDebug(4640) << "KTemplateConfig constructor" << endl; - - btadd = btremove = btedit = 0L; - - TQGroupBox* grp = new TQGroupBox( i18n( "Templates" ), this ); - grp->setColumnLayout( 0, Qt::Horizontal ); - - templates = new TDEIconListBox( grp ); - connect( templates, TQT_SIGNAL( highlighted( int ) ), - TQT_SLOT( checkSelection( int ) ) ); - connect( templates, TQT_SIGNAL(doubleClicked( TQListBoxItem * ) ), - TQT_SLOT( edit() ) ); - - TQVBoxLayout* ml = new TQVBoxLayout( this ); - ml->addWidget( grp ); - - TQVBoxLayout* l = new TQVBoxLayout( grp->layout(), KDialog::spacingHint() ); - l->addWidget( templates ); - - for( unsigned int i = 0; i < TDEIconTemplateContainer::self()->count(); i++ ) - templates->insertItem( new TDEIconListBoxItem( *TDEIconTemplateContainer::self()->at( i ) ) ) ; - - KButtonBox *bbox = new KButtonBox( grp ); - - btadd = bbox->addButton( i18n( "&Add..." ) ); - connect( btadd, TQT_SIGNAL( clicked() ), TQT_SLOT( add() ) ); - - btedit = bbox->addButton( i18n( "&Edit..." ) ); - connect( btedit, TQT_SIGNAL( clicked() ), TQT_SLOT( edit() ) ); - btedit->setEnabled( false ); - - btremove = bbox->addButton( i18n( "&Remove" ) ); - connect( btremove, TQT_SIGNAL( clicked() ), TQT_SLOT( remove() ) ); - btremove->setEnabled( false ); - - bbox->addStretch( 1 ); - - bbox->layout(); - l->addWidget( bbox ); -} - -KTemplateConfig::~KTemplateConfig() -{ -} - -void KTemplateConfig::saveSettings() -{ - kdDebug(4640) << "KTemplateConfig::saveSettings" << endl; - - TDEIconTemplateContainer::self()->clear(); - - for(int i = 0; i < (int)templates->count(); i++) - { - TDEIconTemplateContainer::self()->append(templates->iconTemplate(i)); - } - TDEIconTemplateContainer::self()->save(); - kdDebug(4640) << "KTemplateConfig::saveSettings - done" << endl; - -} - -void KTemplateConfig::checkSelection(int) -{ - kdDebug(4640) << "KTemplateConfig::checkSelection" << endl; - if(templates->currentItem() != -1) - { - if(btremove) btremove->setEnabled(true); - if(btedit) btedit->setEnabled(true); - } - else - { - if(btremove) btremove->setEnabled(false); - if(btedit) btedit->setEnabled(false); - } - kdDebug(4640) << "KTemplateConfig::checkSelection - done" << endl; -} - -void KTemplateConfig::remove() -{ - templates->removeItem(templates->currentItem()); -} - -void KTemplateConfig::add() -{ - KTemplateEditDlg dlg(this); - if(dlg.exec()) - { - TDEIconTemplate it; - it.path = dlg.path(); - it.title = dlg.name(); - templates->insertItem(new TDEIconListBoxItem(it)); - } -} - -void KTemplateConfig::edit() -{ - KTemplateEditDlg dlg(this); - dlg.setPath(templates->path(templates->currentItem())); - dlg.setName(templates->text(templates->currentItem())); - templates->item(templates->currentItem()); - if(dlg.exec()) - { - //Edit the entry - TDEIconTemplate &it=templates->iconTemplate(templates->currentItem()); - it.path = dlg.path(); - it.title = dlg.name(); - static_cast<TDEIconListBoxItem*>(templates->item(templates->currentItem()))->reloadIcon(); - templates->update(); - } -} - -KBackgroundConfig::KBackgroundConfig( TQWidget* parent ) - : TQWidget( parent ) -{ - kdDebug(4640) << "KBackgroundConfig - constructor" << endl; - - lb_ex = 0L; - - TDEIconEditProperties *props = TDEIconEditProperties::self(); - - pixpath = props->bgPixmap(); - pix.load(pixpath); - if(pix.isNull()) - { - kdDebug(4640) << "BGPIX: " << pixpath << " not valid!" << endl; - TQPixmap pmlogo((const char**)logo); - pix = pmlogo; - } - - TQVBoxLayout *mainLayout = new TQVBoxLayout( this ); - - TQGroupBox *grp1 = new TQGroupBox( i18n( "Select Background" ), this ); - grp1->setColumnLayout(0, Qt::Vertical ); - grp1->layout()->setSpacing( KDialog::spacingHint() ); - grp1->layout()->setMargin( KDialog::marginHint() ); - mainLayout->addWidget( grp1 ); - - TQGridLayout *grp1Layout = new TQGridLayout( grp1->layout(), 3, 2 ); - - TQButtonGroup* btngrp = new TQButtonGroup( grp1 ); - btngrp->setExclusive( true ); - btngrp->setFrameStyle( TQFrame::NoFrame ); - connect( btngrp, TQT_SIGNAL( clicked( int ) ), TQT_SLOT( slotBackgroundMode( int ) ) ); - grp1Layout->addWidget( btngrp, 0, 0 ); - - TQVBoxLayout *bgl = new TQVBoxLayout( btngrp, 5 ); - - TQRadioButton *rbc = new TQRadioButton( i18n( "Use co&lor" ), btngrp ); - btngrp->insert( rbc, 0 ); - bgl->addWidget( rbc ); - - TQRadioButton *rbp = new TQRadioButton( i18n( "Use pix&map" ), btngrp ); - btngrp->insert( rbp, 1 ); - bgl->addWidget( rbp ); - - bgl->addStretch( 1 ); - - TQVBox *bbox = new TQVBox( grp1 ); - grp1Layout->addWidget( bbox, 0, 1 ); - - btcolor = new KColorButton(props->bgColor(), bbox) ; - connect(btcolor, TQT_SIGNAL(changed(const TQColor &)), - TQT_SLOT( selectColor(const TQColor &))); - - btpix = new TQPushButton(i18n( "Choose..." ), bbox); - connect( btpix, TQT_SIGNAL( clicked() ), TQT_SLOT( selectPixmap() ) ); - - TQGroupBox *grp2 = new TQGroupBox( i18n( "Preview" ), this ); - mainLayout->addWidget( grp2, 1 ); - - TQBoxLayout *l2 = new TQVBoxLayout( grp2, 15 ); - - l2->addSpacing( 10 ); - - lb_ex = new TQLabel( grp2 ); - lb_ex->setFrameStyle( TQFrame::Panel | TQFrame::Sunken ); - l2->addWidget( lb_ex ); - -/* - l1->addWidget( btngrp, 0, AlignLeft ); - l1->addLayout( l1r ); -*/ - bgmode = props->bgMode(); - - if( bgmode == TQWidget::FixedPixmap ) - { - btngrp->setButton( 1 ); - btcolor->setEnabled( false ); - lb_ex->setBackgroundPixmap( pix ); - } - else - { - btngrp->setButton( 0 ); - btpix->setEnabled( false ); - lb_ex->setBackgroundColor(btcolor->color()); - } -} - -KBackgroundConfig::~KBackgroundConfig() -{ -} - -void KBackgroundConfig::slotBackgroundMode(int id) -{ - if(id == 0) - { - bgmode = TQWidget::FixedColor; - btpix->setEnabled(false); - btcolor->setEnabled(true); - if(lb_ex) - lb_ex->setBackgroundColor(btcolor->color()); - } - else - { - bgmode = TQWidget::FixedPixmap; - btpix->setEnabled(true); - btcolor->setEnabled(false); - if(lb_ex) - lb_ex->setBackgroundPixmap(pix); - } -} - -void KBackgroundConfig::saveSettings() -{ - kdDebug(4640) << "KBackgroundConfig::saveSettings" << endl; - TDEIconEditProperties *props = TDEIconEditProperties::self(); - props->setBgMode( bgmode ); - props->setBgPixmap( pixpath ); - props->setBgColor( btcolor->color() ); - kdDebug(4640) << "KBackgroundConfig::saveSettings - done" << endl; -} - -void KBackgroundConfig::selectColor(const TQColor & newColor) -{ - lb_ex->setBackgroundColor(newColor); -} - -void KBackgroundConfig::selectPixmap() -{ - // KURL url = KFileDialog::getOpenURL("/", "*.xpm"); - KURL url = KFileDialog::getImageOpenURL("/"); - - if( url.isEmpty() ) - return; - - if( !url.isLocalFile() ) - { - KMessageBox::sorry( 0L, i18n( "Only local files are supported yet." ) ); - return; - } - - TQPixmap p(url.path()); - - if( !p.isNull() ) - { - lb_ex->setBackgroundPixmap( p ); - pixpath = url.path(); - } -} - -KMiscConfig::KMiscConfig(TQWidget *parent) : TQWidget(parent) -{ - kdDebug(4640) << "KMiscConfig - constructor" << endl; - - TDEIconEditProperties* props = TDEIconEditProperties::self(); - - TQBoxLayout *ml = new TQVBoxLayout( this, 0, 5 ); - - TQCheckBox *cbp = new TQCheckBox( i18n( "Paste &transparent pixels" ), this ); - connect( cbp, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( pasteMode( bool ) ) ); - ml->addWidget(cbp); - - TQCheckBox *cbr = new TQCheckBox( i18n( "Show &rulers" ), this ); - connect( cbr, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( showRulers( bool ) ) ); - ml->addWidget(cbr); - - TQButtonGroup* btngrp = new TQButtonGroup( i18n( "Transparency Display" ), this); - btngrp->setExclusive( true ); - connect( btngrp, TQT_SIGNAL( clicked( int ) ), TQT_SLOT( slotTransparencyDisplayType( int ) ) ); - ml->addWidget( btngrp ); - - TQVBoxLayout *tgl = new TQVBoxLayout( btngrp, KDialog::marginHint(), KDialog::spacingHint() ); - tgl->insertSpacing(0, 10); - - TQHBoxLayout *hl = new TQHBoxLayout(tgl); - - TQRadioButton *solidColorRButton = new TQRadioButton( i18n( "&Solid color:" ), btngrp ); - btngrp->insert( solidColorRButton, 0 ); - hl->addWidget( solidColorRButton ); - - m_solidColorButton = new KColorButton(props->transparencySolidColor(), btngrp); - btngrp->insert( m_solidColorButton, 2 ); - hl->addWidget(m_solidColorButton); - //connect(btcolor, TQT_SIGNAL(changed(const TQColor &)), - // TQT_SLOT( selectColor(const TQColor &))); - - TQRadioButton *checkerboardRButton = new TQRadioButton( i18n( "Checker&board" ), btngrp ); - btngrp->insert( checkerboardRButton, 1 ); - tgl->addWidget( checkerboardRButton ); - - TQGridLayout *grid = new TQGridLayout(tgl, 3, 3); - grid->addColSpacing(0, 40); - grid->setColStretch(1, 1); - grid->setColStretch(2, 1); - - m_checkerboardSizeCombo = new TQComboBox(btngrp); - m_checkerboardSizeCombo->insertItem( i18n( "Small" ) ); - m_checkerboardSizeCombo->insertItem( i18n( "Medium" ) ); - m_checkerboardSizeCombo->insertItem( i18n( "Large" ) ); - m_checkerboardSizeCombo->setCurrentItem(props->checkerboardSize()); - - TQLabel *label = new TQLabel(m_checkerboardSizeCombo, i18n("Si&ze:"), btngrp); - - grid->addWidget(label, 0, 1); - grid->addWidget(m_checkerboardSizeCombo, 0, 2); - - m_checkerboardColor1Button = new KColorButton(props->checkerboardColor1(), btngrp); - label = new TQLabel(m_checkerboardColor1Button, i18n("Color &1:"), btngrp); - - grid->addWidget(label, 1, 1); - grid->addWidget(m_checkerboardColor1Button, 1, 2); - - m_checkerboardColor2Button = new KColorButton(props->checkerboardColor2(), btngrp); - label = new TQLabel(m_checkerboardColor2Button, i18n("Color &2:"), btngrp); - - grid->addWidget(label, 2, 1); - grid->addWidget(m_checkerboardColor2Button, 2, 2); - - if(props->transparencyDisplayType() == TDEIconEditGrid::TRD_CHECKERBOARD) - { - checkerboardRButton->setChecked(true); - m_checkerboardColor1Button->setEnabled(true); - m_checkerboardColor2Button->setEnabled(true); - m_checkerboardSizeCombo->setEnabled(true); - - solidColorRButton->setChecked(false); - m_solidColorButton->setEnabled(false); - } - else - { - checkerboardRButton->setChecked(false); - m_checkerboardColor1Button->setEnabled(false); - m_checkerboardColor2Button->setEnabled(false); - m_checkerboardSizeCombo->setEnabled(false); - - solidColorRButton->setChecked(true); - m_solidColorButton->setEnabled(true); - } - - ml->addStretch(1); - - cbp->setChecked( props->pasteTransparent() ); - cbr->setChecked( props->showRulers() ); -} - -KMiscConfig::~KMiscConfig() -{ - -} - -void KMiscConfig::saveSettings() -{ - kdDebug(4640) << "KMiscConfig::saveSettings" << endl; - TDEIconEditProperties* props = TDEIconEditProperties::self(); - props->setPasteTransparent( pastemode ); - props->setShowRulers( showrulers ); - if(m_solidColorButton->isEnabled()) - { - props->setTransparencyDisplayType(TDEIconEditGrid::TRD_SOLIDCOLOR); - props->setTransparencySolidColor(m_solidColorButton->color()); - } - else - { - props->setTransparencyDisplayType(TDEIconEditGrid::TRD_CHECKERBOARD); - props->setCheckerboardColor1(m_checkerboardColor1Button->color()); - props->setCheckerboardColor2(m_checkerboardColor2Button->color()); - props->setCheckerboardSize((TDEIconEditGrid::CheckerboardSize)m_checkerboardSizeCombo->currentItem()); - } -} - -void KMiscConfig::pasteMode(bool mode) -{ - pastemode = mode; -} - -void KMiscConfig::showRulers(bool mode) -{ - showrulers = mode; -} - -void KMiscConfig::slotTransparencyDisplayType(int id) -{ - if(id == 0) - { - m_checkerboardColor1Button->setEnabled(false); - m_checkerboardColor2Button->setEnabled(false); - m_checkerboardSizeCombo->setEnabled(false); - - m_solidColorButton->setEnabled(true); - } - else - if(id == 1) - { - m_checkerboardColor1Button->setEnabled(true); - m_checkerboardColor2Button->setEnabled(true); - m_checkerboardSizeCombo->setEnabled(true); - - m_solidColorButton->setEnabled(false); - } -} - -TDEIconConfig::TDEIconConfig(TQWidget *parent) - : KDialogBase(KDialogBase::IconList, i18n("Configure"), - KDialogBase::Help | - KDialogBase::Ok | - KDialogBase::Apply | - KDialogBase::Cancel, - KDialogBase::Ok, - parent, "configDialog", true, true) -{ - setHelp(TQString()); - //KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); - connect(this, TQT_SIGNAL(finished()), this, TQT_SLOT(finis())); - - TQVBox* page = addVBoxPage(i18n("Icon Templates"), TQString(), loadIcon("icons")); - temps = new KTemplateConfig(page); - - page = addVBoxPage(i18n("Background"), TQString(), loadIcon("background")); - backs = new KBackgroundConfig(page); - - page = addVBoxPage(i18n("Icon Grid"), TQString(), loadIcon("kiconedit")); - misc = new KMiscConfig(page); - - TQSize min(300, 400); - - if (300 < sizeHint().width()) { min.setWidth(sizeHint().width()); } - if (400 < sizeHint().height()) { min.setHeight(sizeHint().height()); } - - resize(min); -} - -TDEIconConfig::~TDEIconConfig() -{ - //delete dict; -} - -void TDEIconConfig::slotApply() -{ - kdDebug(4640) << "TDEIconEditConfig::saveSettings" << endl; - - temps->saveSettings(); - backs->saveSettings(); - misc->saveSettings(); - - for (TDEIconEdit* window = TDEIconEdit::windowList.first(); - window; - window = TDEIconEdit::windowList.next()) - { - window->updateProperties(); - } -} - -void TDEIconConfig::slotOk() -{ - slotApply(); - KDialogBase::slotOk(); -} - -void TDEIconConfig::finis() -{ - delayedDestruct(); -} - -#include "kiconconfig.moc" |