summaryrefslogtreecommitdiffstats
path: root/src/fetcherconfigdialog.h
blob: e53c808c632b6512b5d0a7facd33230be889cca9 (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
67
68
69
70
/***************************************************************************
    copyright            : (C) 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 TELLICO_FETCHERCONFIGDIALOG_H
#define TELLICO_FETCHERCONFIGDIALOG_H

#include "fetch/fetch.h"
#include "fetch/configwidget.h"

#include <kdialogbase.h>

#include <tqintdict.h>

class KLineEdit;
class TQCheckBox;
class TQWidgetStack;

namespace Tellico {
  namespace GUI {
    class ComboBox;
  }

/**
 * @author Robby Stephenson
 */
class FetcherConfigDialog : public KDialogBase {
Q_OBJECT
  TQ_OBJECT

public:
  FetcherConfigDialog(TQWidget* parent);
  FetcherConfigDialog(const TQString& sourceName, Fetch::Type type, bool updateOverwrite,
                      Fetch::ConfigWidget* configWidget, TQWidget* parent);

  TQString sourceName() const;
  Fetch::Type sourceType() const;
  bool updateOverwrite() const;
  Fetch::ConfigWidget* configWidget() const;

private slots:
  void slotNewSourceSelected(int idx);
  void slotNameChanged(const TQString& name);
  void slotPossibleNewName(const TQString& name);

private:
  void init(Fetch::Type type);

  bool m_newSource : 1;
  bool m_useDefaultName : 1;
  Fetch::ConfigWidget* m_configWidget;
  TQLabel* m_iconLabel;
  KLineEdit* m_nameEdit;
  GUI::ComboBox* m_typeCombo;
  TQCheckBox* m_cbOverwrite;
  TQWidgetStack* m_stack;
  TQIntDict<Fetch::ConfigWidget> m_configWidgets;
};

} // end namespace
#endif