diff options
Diffstat (limited to 'src/utilities/setup/setuplighttable.cpp')
| -rw-r--r-- | src/utilities/setup/setuplighttable.cpp | 133 | 
1 files changed, 133 insertions, 0 deletions
| diff --git a/src/utilities/setup/setuplighttable.cpp b/src/utilities/setup/setuplighttable.cpp new file mode 100644 index 00000000..0ed01eab --- /dev/null +++ b/src/utilities/setup/setuplighttable.cpp @@ -0,0 +1,133 @@ +/* ============================================================ + * + * This file is a part of digiKam project + * http://www.digikam.org + *  + * Date        : 2007-05-11 + * Description : setup Light Table tab. + * + * Copyright (C) 2007 by Gilles Caulier <caulier dot gilles at gmail dot com> + * + * 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, 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. + * + * ============================================================ */ + +// TQt includes. + +#include <tqlayout.h> +#include <tqcolor.h> +#include <tqhbox.h> +#include <tqvgroupbox.h> +#include <tqlabel.h> +#include <tqwhatsthis.h> +#include <tqcheckbox.h> + +// KDE includes. + +#include <tdelocale.h> +#include <kdialog.h> +#include <tdeconfig.h> +#include <tdeapplication.h> + +// Local includes. + +#include "setuplighttable.h" +#include "setuplighttable.moc" + +namespace Digikam +{ +class SetupLightTablePriv +{ +public: + +    SetupLightTablePriv() +    { +        hideToolBar          = 0; +        autoSyncPreview      = 0; +        autoLoadOnRightPanel = 0; +        loadFullImageSize    = 0; +    } + +    TQCheckBox *hideToolBar; +    TQCheckBox *autoSyncPreview; +    TQCheckBox *autoLoadOnRightPanel; +    TQCheckBox *loadFullImageSize; +}; + +SetupLightTable::SetupLightTable(TQWidget* parent ) +               : TQWidget(parent) +{ +    d = new SetupLightTablePriv; +    TQVBoxLayout *layout = new TQVBoxLayout( parent, 0, KDialog::spacingHint() ); + +    // -------------------------------------------------------- + +    TQVGroupBox *interfaceOptionsGroup = new TQVGroupBox(i18n("Interface Options"), parent); + + +    d->autoSyncPreview = new TQCheckBox(i18n("Synchronize panels automatically"), interfaceOptionsGroup); +    TQWhatsThis::add( d->autoSyncPreview, i18n("<p>Set this option to automatically synchronize " +                     "zooming and panning between left and right panels if the images have " +                     "the same size.")); + +    d->autoLoadOnRightPanel = new TQCheckBox(i18n("Selecting a thumbbar item loads image to the right panel"), +                                            interfaceOptionsGroup); +    TQWhatsThis::add( d->autoLoadOnRightPanel, i18n("<p>Set this option to automatically load an image " +                     "into the right panel when the corresponding item is selected on the thumbbar.")); + +    d->loadFullImageSize = new TQCheckBox(i18n("Load full image size"), interfaceOptionsGroup); +    TQWhatsThis::add( d->loadFullImageSize, i18n("<p>Set this option to load full image size " +                     "into the preview panel instead of a reduced size. Because this option will take more time " +                     "to load images, use it only if you have a fast computer.")); + +    d->hideToolBar = new TQCheckBox(i18n("H&ide toolbar in fullscreen mode"), interfaceOptionsGroup); + +    // -------------------------------------------------------- + +    layout->addWidget(interfaceOptionsGroup); +    layout->addStretch(); + +    // -------------------------------------------------------- + +    readSettings(); +} + +SetupLightTable::~SetupLightTable() +{ +    delete d; +} + +void SetupLightTable::readSettings() +{ +    TDEConfig* config = kapp->config(); +    TQColor Black(TQt::black); +    TQColor White(TQt::white); +    config->setGroup("LightTable Settings"); +    d->hideToolBar->setChecked(config->readBoolEntry("FullScreen Hide ToolBar", false)); +    d->autoSyncPreview->setChecked(config->readBoolEntry("Auto Sync Preview", true)); +    d->autoLoadOnRightPanel->setChecked(config->readBoolEntry("Auto Load Right Panel", true)); +    d->loadFullImageSize->setChecked(config->readBoolEntry("Load Full Image size", false)); +} + +void SetupLightTable::applySettings() +{ +    TDEConfig* config = kapp->config(); +    config->setGroup("LightTable Settings"); +    config->writeEntry("FullScreen Hide ToolBar", d->hideToolBar->isChecked()); +    config->writeEntry("Auto Sync Preview", d->autoSyncPreview->isChecked()); +    config->writeEntry("Auto Load Right Panel", d->autoLoadOnRightPanel->isChecked()); +    config->writeEntry("Load Full Image size", d->loadFullImageSize->isChecked()); +    config->sync(); +} + +}  // namespace Digikam + | 
