func:添加选择文件功能并自动记录
This commit is contained in:
@@ -11,7 +11,7 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(u8"OneLevelXmlOpr v1.2.6");
|
||||
setWindowTitle(u8"OneLevelXmlOpr v1.2.7");
|
||||
setWindowIcon(QIcon("://resource/xml.ico"));
|
||||
|
||||
setMinimumWidth(900);
|
||||
@@ -24,13 +24,20 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
||||
|
||||
attri_edit_ = new CAttributeEdit();
|
||||
|
||||
ui->edStatus->setEnabled(false);
|
||||
ui->edStatus->setReadOnly(true);
|
||||
ui->btnSave->setEnabled(false);
|
||||
ui->edAllPage->setEnabled(false);
|
||||
ui->cbCaseSensitive->setChecked(false);
|
||||
|
||||
connect(ui->btnRead, &QPushButton::clicked, this, [&]() { read(); });
|
||||
connect(ui->btnSelectFile, &QPushButton::clicked, this, [&]() {
|
||||
QString file = CUtil::select_file(this, u8"请选择xml文件", u8"XML(*.xml);;所有文件 (*)");
|
||||
if (file.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
read(file);
|
||||
});
|
||||
connect(ui->btnSearch, &QPushButton::clicked, this, [&]() { search(); });
|
||||
connect(ui->btnRead, &QPushButton::clicked, this, [&]() { read(ui->edStatus->text().trimmed()); });
|
||||
connect(ui->btnSave, &QPushButton::clicked, this, [&]() { save(); });
|
||||
connect(ui->btnExit, &QPushButton::clicked, this, [&]() { QApplication::exit(0); });
|
||||
connect(ui->btnReset, &QPushButton::clicked, this, &MainWidget::reset);
|
||||
@@ -52,12 +59,17 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
||||
restoreGeometry(settings.value("geometry").toByteArray());
|
||||
settings.endGroup();
|
||||
|
||||
//QFile qss_file("://qss/lightblue.css");
|
||||
QFile qss_file("://qss/flatgray.css");
|
||||
if (qss_file.open(QFile::ReadOnly)) {
|
||||
qApp->setStyleSheet(qss_file.readAll());
|
||||
}
|
||||
|
||||
init_menu();
|
||||
|
||||
ini_.set_work_exe(exe_path_);
|
||||
base_ = ini_.get_config();
|
||||
ui->edStatus->setText(QString::fromLocal8Bit(base_.xml_path.c_str()));
|
||||
}
|
||||
|
||||
void MainWidget::copy_key()
|
||||
@@ -104,12 +116,24 @@ void MainWidget::set_work_exe(char* path)
|
||||
exe_path_.append(path);
|
||||
}
|
||||
|
||||
void MainWidget::show_custom_menu()
|
||||
{
|
||||
if (tab_widget_ == nullptr) {
|
||||
return;
|
||||
}
|
||||
QModelIndexList indexList = tab_widget_->selectionModel()->selectedRows();
|
||||
|
||||
if (indexList.size() == 1) {
|
||||
context_menu_->exec(QCursor::pos());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWidget::generate_table_widget()
|
||||
{
|
||||
tab_widget_ = new QTableWidget();
|
||||
tab_widget_->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(tab_widget_, &QTableWidget::itemChanged, this, [&](QTableWidgetItem* item) { item_changed_handle(item); });
|
||||
connect(tab_widget_, &QTableWidget::customContextMenuRequested, this, [&]() { context_menu_->exec(QCursor::pos()); });
|
||||
connect(tab_widget_, &QTableWidget::customContextMenuRequested, this, &MainWidget::show_custom_menu);
|
||||
auto config = ini_.get_config();
|
||||
auto keys = splitString(config.purpose, ",");
|
||||
keys_.clear();
|
||||
@@ -125,7 +149,7 @@ void MainWidget::generate_table_widget()
|
||||
tab_widget_->setColumnCount(list.size());
|
||||
tab_widget_->setHorizontalHeaderLabels(list);
|
||||
tab_widget_->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
tab_widget_->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection);
|
||||
//tab_widget_->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection);
|
||||
|
||||
for (auto i = 0; i < keys.size(); ++i) {
|
||||
tab_widget_->setColumnWidth(i, width_[i]);
|
||||
@@ -193,19 +217,18 @@ void MainWidget::judge_btn_page()
|
||||
}
|
||||
}
|
||||
|
||||
void MainWidget::read()
|
||||
void MainWidget::read(const QString& file_path)
|
||||
{
|
||||
if (!ini_.set_work_exe(exe_path_)) {
|
||||
ini_.set_xml_path(file_path.toStdString());
|
||||
ui->edStatus->setText(file_path);
|
||||
|
||||
if (!xml_.open(base_.xml_path)) {
|
||||
CUtil::msg(this, u8"打开xml失败。");
|
||||
return;
|
||||
}
|
||||
OprBase base = ini_.get_config();
|
||||
if (!xml_.open(base.xml_path)) {
|
||||
QString status = u8"Open【" + QString::fromStdString(base.xml_path.c_str()) + u8"】Failed.";
|
||||
return;
|
||||
}
|
||||
xml_.set_baseinfo(base);
|
||||
xml_.set_baseinfo(base_);
|
||||
if (!xml_.parse_xml(vec_)) {
|
||||
QString status = u8"parse_xml【" + QString::fromStdString(base.xml_path.c_str()) + u8"】Failed.";
|
||||
CUtil::msg(this, u8"解析xml失败。");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -215,11 +238,10 @@ void MainWidget::read()
|
||||
current_ = vec_;
|
||||
auto_add_ = false;
|
||||
|
||||
QString status = u8"Open And Parse【" + QString::fromLocal8Bit(base.xml_path.c_str()) + u8"】Success.";
|
||||
ui->edStatus->setText(status);
|
||||
|
||||
ui->edStatus->setText(file_path);
|
||||
ui->btnRead->setEnabled(false);
|
||||
ui->btnSave->setEnabled(true);
|
||||
ui->btnSelectFile->setEnabled(false);
|
||||
}
|
||||
|
||||
void MainWidget::search()
|
||||
@@ -411,6 +433,8 @@ void MainWidget::insert_one_line(Element_t* ele, int row)
|
||||
|
||||
if (i == 0) {
|
||||
wgItem->setFlags(wgItem->flags() & ~Qt::ItemIsEditable);
|
||||
//wgItem->setFlags(wgItem->flags() | Qt::ItemIsUserCheckable);
|
||||
//wgItem->setCheckState(Qt::Checked);
|
||||
}
|
||||
|
||||
wgItem->setText(QString(data));
|
||||
|
||||
Reference in New Issue
Block a user