change:行操作改成右键菜单栏的形式。
This commit is contained in:
parent
726c42f537
commit
615a53f9cb
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@ -96,6 +96,9 @@
|
|||||||
"xtr1common": "cpp",
|
"xtr1common": "cpp",
|
||||||
"xtree": "cpp",
|
"xtree": "cpp",
|
||||||
"xutility": "cpp",
|
"xutility": "cpp",
|
||||||
"qtablewidget": "cpp"
|
"qtablewidget": "cpp",
|
||||||
|
"qmenu": "cpp",
|
||||||
|
"qmessagebox": "cpp",
|
||||||
|
"qaction": "cpp"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,7 +11,7 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
setWindowTitle(u8"OneLevelXmlOpr v1.2.3");
|
setWindowTitle(u8"OneLevelXmlOpr v1.2.4");
|
||||||
setWindowIcon(QIcon("://resource/xml.ico"));
|
setWindowIcon(QIcon("://resource/xml.ico"));
|
||||||
|
|
||||||
setMinimumWidth(900);
|
setMinimumWidth(900);
|
||||||
@ -26,22 +26,14 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
|||||||
|
|
||||||
ui->edStatus->setEnabled(false);
|
ui->edStatus->setEnabled(false);
|
||||||
ui->btnSave->setEnabled(false);
|
ui->btnSave->setEnabled(false);
|
||||||
ui->btnCopySelectLine->setEnabled(false);
|
|
||||||
ui->btnDelSelectLine->setEnabled(false);
|
|
||||||
ui->edAllPage->setEnabled(false);
|
ui->edAllPage->setEnabled(false);
|
||||||
ui->cbCaseSensitive->setChecked(true);
|
ui->cbCaseSensitive->setChecked(true);
|
||||||
|
|
||||||
connect(ui->btnRead, &QPushButton::clicked, this, [&]() { read(); });
|
connect(ui->btnRead, &QPushButton::clicked, this, [&]() { read(); });
|
||||||
connect(ui->btnSearch, &QPushButton::clicked, this, [&]() { search(); });
|
connect(ui->btnSearch, &QPushButton::clicked, this, [&]() { search(); });
|
||||||
connect(ui->btnSave, &QPushButton::clicked, this, [&]() { save(); });
|
connect(ui->btnSave, &QPushButton::clicked, this, [&]() { save(); });
|
||||||
connect(ui->btnCopySelectLine, &QPushButton::clicked, this, [&]() { copy_select_line(); });
|
|
||||||
connect(ui->btnDelSelectLine, &QPushButton::clicked, this, [&]() { del_select_line(); });
|
|
||||||
connect(ui->btnExit, &QPushButton::clicked, this, [&]() { QApplication::exit(0); });
|
connect(ui->btnExit, &QPushButton::clicked, this, [&]() { QApplication::exit(0); });
|
||||||
connect(ui->btnReset, &QPushButton::clicked, this, &MainWidget::reset);
|
connect(ui->btnReset, &QPushButton::clicked, this, &MainWidget::reset);
|
||||||
connect(ui->btnEditProperty, &QPushButton::clicked, this, [&]() {
|
|
||||||
Element_t* ele = get_current_select_key();
|
|
||||||
edit_property(ele);
|
|
||||||
});
|
|
||||||
connect(ui->btnPagePre, &QPushButton::clicked, this, [&]() {
|
connect(ui->btnPagePre, &QPushButton::clicked, this, [&]() {
|
||||||
unsigned int cur = ui->edCurPage->text().toUInt();
|
unsigned int cur = ui->edCurPage->text().toUInt();
|
||||||
push_content(current_, cur - 1);
|
push_content(current_, cur - 1);
|
||||||
@ -54,7 +46,6 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
|||||||
unsigned int cur = ui->edCurPage->text().toUInt();
|
unsigned int cur = ui->edCurPage->text().toUInt();
|
||||||
push_content(current_, cur);
|
push_content(current_, cur);
|
||||||
});
|
});
|
||||||
connect(ui->btnCopyKey, &QPushButton::clicked, this, &MainWidget::copy_key);
|
|
||||||
|
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
settings.beginGroup("xmlopr");
|
settings.beginGroup("xmlopr");
|
||||||
@ -65,6 +56,8 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
|||||||
if (qss_file.open(QFile::ReadOnly)) {
|
if (qss_file.open(QFile::ReadOnly)) {
|
||||||
qApp->setStyleSheet(qss_file.readAll());
|
qApp->setStyleSheet(qss_file.readAll());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init_menu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWidget::copy_key()
|
void MainWidget::copy_key()
|
||||||
@ -114,8 +107,9 @@ void MainWidget::set_work_exe(char* path)
|
|||||||
void MainWidget::generate_table_widget()
|
void MainWidget::generate_table_widget()
|
||||||
{
|
{
|
||||||
tab_widget_ = new QTableWidget();
|
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::itemChanged, this, [&](QTableWidgetItem* item) { item_changed_handle(item); });
|
||||||
|
connect(tab_widget_, &QTableWidget::customContextMenuRequested, this, [&]() { context_menu_->exec(QCursor::pos()); });
|
||||||
auto config = ini_.get_config();
|
auto config = ini_.get_config();
|
||||||
auto keys = splitString(config.purpose, ",");
|
auto keys = splitString(config.purpose, ",");
|
||||||
keys_.clear();
|
keys_.clear();
|
||||||
@ -226,8 +220,6 @@ void MainWidget::read()
|
|||||||
|
|
||||||
ui->btnRead->setEnabled(false);
|
ui->btnRead->setEnabled(false);
|
||||||
ui->btnSave->setEnabled(true);
|
ui->btnSave->setEnabled(true);
|
||||||
ui->btnCopySelectLine->setEnabled(true);
|
|
||||||
ui->btnDelSelectLine->setEnabled(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWidget::search()
|
void MainWidget::search()
|
||||||
@ -359,6 +351,28 @@ bool MainWidget::edit_property(Element_t* target)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWidget::init_menu()
|
||||||
|
{
|
||||||
|
context_menu_ = new QMenu();
|
||||||
|
ac_edit_property_ = new QAction(u8"编辑");
|
||||||
|
ac_copy_curline_ = new QAction(u8"复制此项");
|
||||||
|
ac_del_curline_ = new QAction(u8"删除此项");
|
||||||
|
ac_copy_key_ = new QAction(u8"复制key");
|
||||||
|
|
||||||
|
context_menu_->addAction(ac_edit_property_);
|
||||||
|
context_menu_->addAction(ac_copy_curline_);
|
||||||
|
context_menu_->addAction(ac_del_curline_);
|
||||||
|
context_menu_->addAction(ac_copy_key_);
|
||||||
|
|
||||||
|
connect(ac_edit_property_, &QAction::triggered, this, [&]() {
|
||||||
|
Element_t* ele = get_current_select_key();
|
||||||
|
edit_property(ele);
|
||||||
|
});
|
||||||
|
connect(ac_copy_curline_, &QAction::triggered, this, [&]() { copy_select_line(); });
|
||||||
|
connect(ac_del_curline_, &QAction::triggered, this, [&]() { del_select_line(); });
|
||||||
|
connect(ac_copy_key_, &QAction::triggered, this, [&]() { copy_key(); });
|
||||||
|
}
|
||||||
|
|
||||||
void MainWidget::insert_one_line(Element_t* ele, int row)
|
void MainWidget::insert_one_line(Element_t* ele, int row)
|
||||||
{
|
{
|
||||||
if (ele == nullptr) {
|
if (ele == nullptr) {
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
|
#include <QMenu>
|
||||||
|
#include <QAction>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include "src/xml_opr.h"
|
#include "src/xml_opr.h"
|
||||||
#include "src/config.h"
|
#include "src/config.h"
|
||||||
@ -39,6 +41,7 @@ private:
|
|||||||
void judge_btn_page();
|
void judge_btn_page();
|
||||||
void copy_key();
|
void copy_key();
|
||||||
bool edit_property(Element_t* target);
|
bool edit_property(Element_t* target);
|
||||||
|
void init_menu();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeEvent(QCloseEvent* event);
|
void closeEvent(QCloseEvent* event);
|
||||||
@ -50,6 +53,11 @@ private:
|
|||||||
QTableWidgetItem* get_current_select_item();
|
QTableWidgetItem* get_current_select_item();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
QMenu* context_menu_{};
|
||||||
|
QAction* ac_edit_property_{};
|
||||||
|
QAction* ac_copy_curline_{};
|
||||||
|
QAction* ac_del_curline_{};
|
||||||
|
QAction* ac_copy_key_{};
|
||||||
Ui::MainWidget* ui;
|
Ui::MainWidget* ui;
|
||||||
ConfigIni ini_{};
|
ConfigIni ini_{};
|
||||||
CXmlOpr xml_{};
|
CXmlOpr xml_{};
|
||||||
|
146
MainWidget.ui
146
MainWidget.ui
@ -6,84 +6,16 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>850</width>
|
<width>790</width>
|
||||||
<height>794</height>
|
<height>847</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>MainWidget</string>
|
<string>MainWidget</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="widget" native="true">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="edStatus"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="btnRead">
|
|
||||||
<property name="text">
|
|
||||||
<string>读取</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="cbCaseSensitive">
|
|
||||||
<property name="text">
|
|
||||||
<string>区分大小写</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="edSearchKey">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="btnSearch">
|
|
||||||
<property name="text">
|
|
||||||
<string>搜索</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="btnReset">
|
|
||||||
<property name="text">
|
|
||||||
<string>重置</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="edCurPage">
|
<widget class="QLineEdit" name="edCurPage">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -151,17 +83,33 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<widget class="QWidget" name="widget" native="true">
|
||||||
<item>
|
<property name="sizePolicy">
|
||||||
<widget class="QPushButton" name="btnExit">
|
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||||
<property name="text">
|
<horstretch>0</horstretch>
|
||||||
<string>退出</string>
|
<verstretch>0</verstretch>
|
||||||
</property>
|
</sizepolicy>
|
||||||
</widget>
|
</property>
|
||||||
</item>
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_2">
|
<spacer name="horizontalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -176,30 +124,47 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnEditProperty">
|
<widget class="QLineEdit" name="edSearchKey">
|
||||||
<property name="text">
|
<property name="sizePolicy">
|
||||||
<string>编辑</string>
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnCopyKey">
|
<widget class="QCheckBox" name="cbCaseSensitive">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>复制Key</string>
|
<string>区分大小写</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnCopySelectLine">
|
<widget class="QPushButton" name="btnSearch">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>复制选定行</string>
|
<string>搜索</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnDelSelectLine">
|
<widget class="QPushButton" name="btnReset">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>删除选定行</string>
|
<string>重置</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="edStatus"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btnRead">
|
||||||
|
<property name="text">
|
||||||
|
<string>加载文件</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -210,6 +175,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btnExit">
|
||||||
|
<property name="text">
|
||||||
|
<string>退出</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user