You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tellico/src/fetch/configwidget.h

80 lines
2.4 KiB

/***************************************************************************
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; *
* *
***************************************************************************/
#ifndef FETCHCONFIGWIDGET_H
#define FETCHCONFIGWIDGET_H
#include "../datavectors.h"
#include <tqwidget.h>
#include <tqdict.h>
#include <tqcheckbox.h>
class TDEConfigGroup;
class TQStringList;
namespace Tellico {
namespace Fetch {
/**
* @author Robby Stephenson
*/
class ConfigWidget : public TQWidget {
TQ_OBJECT
public:
ConfigWidget(TQWidget* parent);
virtual ~ConfigWidget() {}
void setAccepted(bool accepted_) { m_accepted = accepted_; }
bool shouldSave() const { return m_modified && m_accepted; }
/**
* Saves any configuration options. The config group must be
* set before calling this function.
*
* @param config_ The TDEConfig pointer
*/
virtual void saveConfig(TDEConfigGroup& config) = 0;
/**
* Called when a fetcher data source is removed. Useful for any cleanup work necessary.
* The ExecExternalFetcher might need to remove the script, for example.
* Because of the way the ConfigDialog is setup, easier to have that in the ConfigWidget
* class than in the Fetcher class itself
*/
virtual void removed() {}
virtual TQString preferredName() const = 0;
signals:
void signalName(const TQString& name);
public slots:
void slotSetModified(bool modified_ = true) { m_modified = modified_; }
protected:
TQWidget* optionsWidget() { return m_optionsWidget; }
void addFieldsWidget(const StringMap& customFields, const TQStringList& fieldsToAdd);
void saveFieldsConfig(TDEConfigGroup& config) const;
private:
bool m_modified;
bool m_accepted;
TQWidget* m_optionsWidget;
TQDict<TQCheckBox> m_fields;
};
}
}
#endif