| 44 | } |
| 45 | |
| 46 | void CommentConfigWidget::initUI() |
| 47 | { |
| 48 | d->tabWidget = new DTabWidget(this); |
| 49 | QMap<QString, QVariant> map = OptionManager::getInstance()->getValue(EditorConfig, Node::MimeTypeConfig).toMap(); |
| 50 | if (map.isEmpty() || map.value("0").toMap().value(Key::MimeTypeGroupName).toString().isEmpty()) { |
| 51 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "0", Key::MimeType, "text/x-c++src;text/x-chdr;text/x-c++hdr;text/x-java;application/javascript"); |
| 52 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "0", Key::SingleLineComment, "//"); |
| 53 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "0", Key::StartMultiLineComment, "/*"); |
| 54 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "0", Key::EndMultiLineComment, "*/"); |
| 55 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "0", Key::MimeTypeGroupName, "C++/Java/Javascript"); |
| 56 | |
| 57 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "1", Key::MimeType, "text/x-python;text/x-cmake;application/x-shellscript"); |
| 58 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "1", Key::SingleLineComment, "#"); |
| 59 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "1", Key::StartMultiLineComment, "\'\'\'"); |
| 60 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "1", Key::EndMultiLineComment, "\'\'\'"); |
| 61 | EditorSettings::instance()->setValue(Node::MimeTypeConfig, "1", Key::MimeTypeGroupName, "Python/CMake/Shell"); |
| 62 | } |
| 63 | |
| 64 | int currentTabWidgetCount = 0; |
| 65 | while (currentTabWidgetCount < EditorSettings::instance()->getMap(Node::MimeTypeConfig).count()) { |
| 66 | QMap<QString, QVariant> mimeTypeMap = map.value(QString::number(currentTabWidgetCount)).toMap(); |
| 67 | d->tabWidget->addTab(new CommentConfigDetailWidget(this, currentTabWidgetCount), |
| 68 | mimeTypeMap.value(Key::MimeTypeGroupName).toString()); |
| 69 | currentTabWidgetCount++; |
| 70 | } |
| 71 | |
| 72 | QHBoxLayout *btnLayout = new QHBoxLayout(); |
| 73 | |
| 74 | d->addGroupBtn = new DPushButton(tr("Add Group"), this); |
| 75 | d->delGroupBtn = new DPushButton(tr("Delete Group"), this); |
| 76 | |
| 77 | btnLayout->addWidget(d->addGroupBtn); |
| 78 | btnLayout->addWidget(d->delGroupBtn); |
| 79 | btnLayout->setSpacing(50); |
| 80 | btnLayout->setContentsMargins(50, 0, 50, 0); |
| 81 | |
| 82 | QVBoxLayout *mainLayout = new QVBoxLayout(); |
| 83 | |
| 84 | mainLayout->addWidget(d->tabWidget); |
| 85 | mainLayout->addLayout(btnLayout); |
| 86 | mainLayout->setContentsMargins(0, 0, 0, 0); |
| 87 | |
| 88 | this->setLayout(mainLayout); |
| 89 | } |
| 90 | |
| 91 | void CommentConfigWidget::initConnections() |
| 92 | { |