change:行操作改成右键菜单栏的形式。
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.3");
|
||||
setWindowTitle(u8"OneLevelXmlOpr v1.2.4");
|
||||
setWindowIcon(QIcon("://resource/xml.ico"));
|
||||
|
||||
setMinimumWidth(900);
|
||||
@@ -26,22 +26,14 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
||||
|
||||
ui->edStatus->setEnabled(false);
|
||||
ui->btnSave->setEnabled(false);
|
||||
ui->btnCopySelectLine->setEnabled(false);
|
||||
ui->btnDelSelectLine->setEnabled(false);
|
||||
ui->edAllPage->setEnabled(false);
|
||||
ui->cbCaseSensitive->setChecked(true);
|
||||
|
||||
connect(ui->btnRead, &QPushButton::clicked, this, [&]() { read(); });
|
||||
connect(ui->btnSearch, &QPushButton::clicked, this, [&]() { search(); });
|
||||
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->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, [&]() {
|
||||
unsigned int cur = ui->edCurPage->text().toUInt();
|
||||
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();
|
||||
push_content(current_, cur);
|
||||
});
|
||||
connect(ui->btnCopyKey, &QPushButton::clicked, this, &MainWidget::copy_key);
|
||||
|
||||
QSettings settings;
|
||||
settings.beginGroup("xmlopr");
|
||||
@@ -65,6 +56,8 @@ MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget
|
||||
if (qss_file.open(QFile::ReadOnly)) {
|
||||
qApp->setStyleSheet(qss_file.readAll());
|
||||
}
|
||||
|
||||
init_menu();
|
||||
}
|
||||
|
||||
void MainWidget::copy_key()
|
||||
@@ -114,8 +107,9 @@ void MainWidget::set_work_exe(char* path)
|
||||
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()); });
|
||||
auto config = ini_.get_config();
|
||||
auto keys = splitString(config.purpose, ",");
|
||||
keys_.clear();
|
||||
@@ -226,8 +220,6 @@ void MainWidget::read()
|
||||
|
||||
ui->btnRead->setEnabled(false);
|
||||
ui->btnSave->setEnabled(true);
|
||||
ui->btnCopySelectLine->setEnabled(true);
|
||||
ui->btnDelSelectLine->setEnabled(true);
|
||||
}
|
||||
|
||||
void MainWidget::search()
|
||||
@@ -359,6 +351,28 @@ bool MainWidget::edit_property(Element_t* target)
|
||||
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)
|
||||
{
|
||||
if (ele == nullptr) {
|
||||
|
||||
Reference in New Issue
Block a user