summaryrefslogtreecommitdiffstats
path: root/src/fetch/configwidget.cpp
blob: e268bb37e2ea9fdbea2ec71bb9d9cd5f1158ee5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/***************************************************************************
    copyright            : (C) 2003-2006 by Robby Stephenson
    email                : robby@periapsis.org
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of version 2 of the GNU General Public License as  *
 *   published by the Free Software Foundation;                            *
 *                                                                         *
 ***************************************************************************/

#include "configwidget.h"

#include <kconfig.h>
#include <klocale.h>
#include <kaccelmanager.h>

#include <tqvgroupbox.h>
#include <tqlayout.h>

using Tellico::Fetch::ConfigWidget;

ConfigWidget::ConfigWidget(TQWidget* parent_) : TQWidget(parent_), m_modified(false), m_accepted(false) {
  TQHBoxLayout* boxLayout = new TQHBoxLayout(this);
  boxLayout->setSpacing(10);

  TQGroupBox* vbox = new TQVGroupBox(i18n("Source Options"), this);
  boxLayout->addWidget(vbox, 10 /*stretch*/);

  m_optionsWidget = new TQWidget(vbox);
}

void ConfigWidget::addFieldsWidget(const StringMap& customFields_, const TQStringList& fieldsToAdd_) {
  if(customFields_.isEmpty()) {
    return;
  }

  TQVGroupBox* box = new TQVGroupBox(i18n("Available Fields"), this);
  static_cast<TQBoxLayout*>(layout())->addWidget(box);
  for(StringMap::ConstIterator it = customFields_.begin(); it != customFields_.end(); ++it) {
    TQCheckBox* cb = new TQCheckBox(it.data(), box);
    m_fields.insert(it.key(), cb);
    if(fieldsToAdd_.contains(it.key())) {
      cb->setChecked(true);
    }
    connect(cb, TQT_SIGNAL(clicked()), TQT_SLOT(slotSetModified()));
  }

  KAcceleratorManager::manage(this);

  return;
}

void ConfigWidget::saveFieldsConfig(KConfigGroup& config_) const {
  TQStringList fields;
  for(TQDictIterator<TQCheckBox> it(m_fields); it.current(); ++it) {
    if(it.current()->isChecked()) {
      fields << it.currentKey();
    }
  }
  config_.writeEntry(TQString::fromLatin1("Custom Fields"), fields);
}

#include "configwidget.moc"