⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 groupdlg.h

📁 Qt开发的GRE背单词软件
💻 H
字号:
#ifndef GROUPDLG_H
#define GROUPDLG_H

#include <QDialog>
#include <QString>
#include "ui_GroupDlg.h"

class QSqlTableModel;
class QModelIndex;

class SearchResult
{
public:
	void add(const QModelIndexList& indexList);
	void add(const QModelIndex&     index);
	void clear();
	int  next();
	void sort();
	bool isEmpty() const;
private:
	QModelIndexList results;
	int             current;
};

class GroupDlg : public QDialog
{
	Q_OBJECT

public:
	GroupDlg(QWidget *parent, const QString& dict, const QString& table, const QString& w);
	~GroupDlg();
	int exec();

private slots:
	void slotNew();
	void slotDel();
	void slotJoin();
	void slotNext();
	void slotEdit();
	void slotUnite();
	void slotSetCurrentRow(const QModelIndex&);
	bool slotSearch(const QString& target, bool fuzzy = true);
	void slotExport();

private:
	void initModel();
	void initView();
	void initConnection();
	void selectRow(int row, bool select = true);
	bool search(const QString& target, int start, int end, bool fuzzy = true);
	void searchChinese(const QString& target);
	void searchEnglish(const QString& target, int column, bool fuzzy);
	void addRecord(const QString& groupName, const QString& englishLine);
	void setRecord(int row, const QString& groupName, const QString& englishLine);
	void finishEditGroup(const QString& groupName);
	QString getGroupName  (int row) const;
	QString getEnglishLine(int row) const;
	void fetchAll();
	QModelIndexList getSelectedIndexes() const;

private:
	Ui::GroupDlgClass ui;
	QSqlTableModel* model;
	QString         dictName;
	QString         tableName;
	QString         word;
	QString         rawChinese;
	QString         filteredChinese;
	int             currentRow;
	SearchResult    searchResults;
};


#endif // GROUPDLG_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -