00001 #include "editor.h"
00002 #include "metaeditor.h"
00003 #include "main.h"
00004
00005 metaeditor::metaeditor(void) : editor(DISABLE_ASSEMBLY)
00006 {
00007 setup_labels();
00008 meta_assembly();
00009 }
00010
00011
00012 metaeditor::~metaeditor(void)
00013 {
00014
00015 }
00016
00017 void metaeditor::setup_labels(void)
00018 {
00019
00020 record_name=new QLabel(this);
00021 record_name->setTextInteractionFlags(Qt::TextSelectableByMouse |
00022 Qt::TextSelectableByKeyboard);
00023 record_name->setVisible(false);
00024 record_name->setWordWrap(true);
00025
00026
00027 record_author=new QLabel(this);
00028 record_author->setTextInteractionFlags(Qt::TextSelectableByMouse |
00029 Qt::TextSelectableByKeyboard);
00030 record_author->setVisible(false);
00031 record_author->setWordWrap(true);
00032
00033
00034 label_url=new QLabel(this);
00035 label_url->setText(tr("<B>Url:</B> "));
00036 label_url->setVisible(false);
00037
00038 record_url=new QLabel(this);
00039 record_url->setTextInteractionFlags(Qt::TextSelectableByMouse |
00040 Qt::TextSelectableByKeyboard |
00041 Qt::LinksAccessibleByMouse |
00042 Qt::LinksAccessibleByKeyboard);
00043 record_url->setVisible(false);
00044 record_url->setWordWrap(true);
00045
00046
00047 label_tags=new QLabel(this);
00048 label_tags->setText(tr("<B>Tags:</B> "));
00049 label_tags->setVisible(false);
00050
00051 record_tags=new QLabel(this);
00052 record_tags->setTextInteractionFlags(Qt::TextSelectableByMouse |
00053 Qt::TextSelectableByKeyboard);
00054 record_tags->setVisible(false);
00055 record_tags->setWordWrap(true);
00056
00057 }
00058
00059 void metaeditor::meta_assembly(void)
00060 {
00061 metaeditor_assembly_layout=new QGridLayout(this);
00062 metaeditor_assembly_layout->setObjectName(QString::fromUtf8("metaeditor_assembly_layout"));
00063
00064 metaeditor_assembly_layout->addLayout(textformat_buttons_layout, 0,0, 1,2);
00065 metaeditor_assembly_layout->addWidget(record_name, 1,0, 1,2);
00066 metaeditor_assembly_layout->addWidget(record_author, 2,0, 1,2);
00067 metaeditor_assembly_layout->addWidget(textarea, 3,0, 1,2);
00068
00069 metaeditor_assembly_layout->addWidget(label_url, 4,0);
00070 metaeditor_assembly_layout->addWidget(record_url, 4,1);
00071
00072 metaeditor_assembly_layout->addWidget(label_tags, 5,0);
00073 metaeditor_assembly_layout->addWidget(record_tags, 5,1);
00074
00075 metaeditor_assembly_layout->setColumnStretch(1,1);
00076
00077
00078 setLayout(metaeditor_assembly_layout);
00079
00080
00081
00082 QLayout *lt;
00083 lt=layout();
00084 lt->setContentsMargins(0,2,0,0);
00085 }
00086
00087
00088
00089 void metaeditor::set_field(QString n,QString v)
00090 {
00091 if (n=="name") set_name(v);
00092 else if(n=="author")set_author(v);
00093 else if(n=="url") set_url(v);
00094 else if(n=="tags") set_tags(v);
00095 else
00096 critical_error("metaeditor.set_field Undestand field "+n+" with value "+v);
00097 }
00098
00099
00100 void metaeditor::clear_all(void)
00101 {
00102 set_name("");
00103 set_author("");
00104 set_url("");
00105 set_tags("");
00106 set_textarea("");
00107 }
00108
00109
00110 void metaeditor::set_name(QString name)
00111 {
00112 record_name->setVisible(true);
00113 record_name->setText("<b>"+name+"</b>");
00114 }
00115
00116
00117 void metaeditor::set_author(QString author)
00118 {
00119 if(author.length()==0)
00120 {
00121 record_author->setVisible(false);
00122 record_author->setText("");
00123 }
00124 else
00125 {
00126 record_author->setVisible(true);
00127 record_author->setText("<i>"+author+"</i>");
00128 }
00129 }
00130
00131
00132 void metaeditor::set_url(QString url)
00133 {
00134 if(url.length()==0)
00135 {
00136 label_url->setVisible(false);
00137 record_url->setVisible(false);
00138
00139 record_url->setText("");
00140 }
00141 else
00142 {
00143 label_url->setVisible(true);
00144 record_url->setVisible(true);
00145
00146 if(url.size()>64)
00147 record_url->setText("<a href=\""+url+"\">"+url.left(64)+"...</a>");
00148 else
00149 record_url->setText("<a href=\""+url+"\">"+url+"</a>");
00150
00151 record_url->setTextInteractionFlags(Qt::TextSelectableByMouse |
00152 Qt::TextSelectableByKeyboard |
00153 Qt::LinksAccessibleByMouse |
00154 Qt::LinksAccessibleByKeyboard);
00155
00156 }
00157 }
00158
00159
00160 void metaeditor::set_tags(QString tags)
00161 {
00162 record_tags->setText(tags);
00163
00164 if(tags.length()==0)
00165 {
00166 label_tags->setVisible(false);
00167 record_tags->setVisible(false);
00168 }
00169 else
00170 {
00171 label_tags->setVisible(true);
00172 record_tags->setVisible(true);
00173 }
00174 }
00175