45 lines
1.1 KiB
C++
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"));
|
|
}
|