summaryrefslogtreecommitdiffstats
path: root/kcontrol/filetypes/filetypedetails.h
blob: 23c8c63b6834bf53b35a52824112b4106330eefc (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
#ifndef _FILETYPEDETAILS_H
#define _FILETYPEDETAILS_H

#include <tqtabwidget.h>
class TypesListItem;
class TDEIconButton;
class TQLineEdit;
class TQListBox;
class TQButtonGroup;
class TQCheckBox;
class TQRadioButton;
class TQPushButton;
class KServiceListWidget;

/**
 * This widget contains the right part of the file type configuration
 * dialog, that shows the details for a file type.
 * It is implemented as a separate class so that it can be used by
 * the keditfiletype program to show the details of a single mimetype.
 */
class FileTypeDetails : public TQTabWidget
{
  TQ_OBJECT
public:
  FileTypeDetails(TQWidget *parent = 0, const char *name = 0);

  void setTypeItem( TypesListItem * item );

protected:
  void updateRemoveButton();
  void updateAskSave();

signals:
  void embedMajor(const TQString &major, bool &embed); // To adjust whether major type is being embedded
  void changed(bool);

protected slots:
  void updateIcon(TQString icon);
  void updateDescription(const TQString &desc);
  void addExtension();
  void removeExtension();
  void enableExtButtons(int index);
  void slotAutoEmbedClicked(int button);
  void slotAskSaveToggled(bool);

private:
  TypesListItem * m_item;

  // First tab - General
  TDEIconButton *iconButton;
  TQListBox *extensionLB;
  TQPushButton *addExtButton, *removeExtButton;
  TQLineEdit *description;
  KServiceListWidget *serviceListWidget;

  // Second tab - Embedding
  TQButtonGroup *m_autoEmbed;
  KServiceListWidget *embedServiceListWidget;
  TQRadioButton *m_rbOpenSeparate;
  TQCheckBox *m_chkAskSave;
  TQRadioButton *m_rbGroupSettings;
};

#endif