00001 #ifndef INFOFIELDENTER_H_ 00002 #define INFOFIELDENTER_H_ 00003 00004 #include <QDialog> 00005 #include <QWidget> 00006 #include <QLabel> 00007 #include <QLineEdit> 00008 #include <QDialogButtonBox> 00009 #include <QPushButton> 00010 #include <QGridLayout> 00011 #include <QToolButton> 00012 00013 // Виджет ввода инфополей Title, Author, Url, Tags... 00014 00015 class infofieldenter : public QWidget 00016 { 00017 Q_OBJECT 00018 00019 public: 00020 infofieldenter(QWidget *parent=0); 00021 ~infofieldenter(); 00022 00023 void set_focus_to_start(void); 00024 00025 bool check_field_name(QString name); 00026 QString get_field(QString name); 00027 void set_field(QString name,QString value); 00028 00029 public slots: 00030 00031 void expand_info_click(void); 00032 00033 private: 00034 00035 // Ввод названия записи 00036 QLabel *recordname_label; 00037 QLineEdit *recordname; 00038 00039 // Ввод автора 00040 QLabel *recordauthor_label; 00041 QLineEdit *recordauthor; 00042 00043 // Ввод Url 00044 QLabel *recordurl_label; 00045 QLineEdit *recordurl; 00046 00047 // Ввод текстовых меток 00048 QLabel *recordtags_label; 00049 QLineEdit *recordtags; 00050 00051 // Кнопка, раскрывающая и скрывающая поля author, url, tags 00052 QToolButton *expand_info; 00053 00054 // Размещалка элементов 00055 QGridLayout *infofieldlayout; 00056 00057 void setup_ui(void); 00058 void setup_signals(void); 00059 void assembly(void); 00060 00061 void expand_info_on_display(QString expand); 00062 00063 }; 00064 00065 #endif /* INFOFIELDENTER_H_ */