DiagramDesigner/source/configToolBar.cpp

45 lines
1.1 KiB
C++

// ConfigToolBar.cpp
#include "configToolBar.h"
#include <QDebug>
ConfigToolBar::ConfigToolBar(const QString &title, QWidget *parent)
: EnhancedToolBar(title, parent)
{
loadDefaultTools();
}
ConfigToolBar::ConfigToolBar(QWidget *parent)
: EnhancedToolBar(parent)
{
loadDefaultTools();
}
bool ConfigToolBar::loadToolsFromConfig(const QString &configFile)
{
// 从配置文件加载
if (!m_config.loadFromFile(configFile)) {
qWarning() << "加载配置文件失败,使用默认工具";
return false;
}
// 清空现有工具
clearTools();
// 从配置添加工具
QList<ToolInfo> tools = m_config.getAllTools();
for (const ToolInfo &info : tools) {
addTool(info.type, info.name, info.getIcon());
}
return true;
}
void ConfigToolBar::loadDefaultTools()
{
// 添加一些基本工具
addTool("select", "选择", QIcon(":/icons/select.png"));
addTool("line", "直线", QIcon(":/icons/line.png"));
addTool("rect", "矩形", QIcon(":/icons/rect.png"));
addTool("circle", "圆形", QIcon(":/icons/circle.png"));
}