mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-05-18 03:29:25 -05:00
2d8cad27eb
Add new settings to preferences dialog for automated loading of extensions for all databases.
148 lines
4.0 KiB
C++
148 lines
4.0 KiB
C++
#ifndef MAINFORM_H
|
|
#define MAINFORM_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QStandardItemModel>
|
|
#include "sqltextedit.h"
|
|
#include "sqlitedb.h"
|
|
|
|
class QDragEnterEvent;
|
|
class EditDialog;
|
|
class SQLiteSyntaxHighlighter;
|
|
class QStandardItemModel;
|
|
class QIntValidator;
|
|
class QLabel;
|
|
class QModelIndex;
|
|
class SqliteTableModel;
|
|
|
|
namespace Ui {
|
|
class MainWindow;
|
|
}
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MainWindow(QWidget* parent = 0);
|
|
~MainWindow();
|
|
|
|
private:
|
|
struct PragmaValues
|
|
{
|
|
int autovacuum;
|
|
int automatic_index;
|
|
int checkpoint_fullsync;
|
|
int foreign_keys;
|
|
int fullfsync;
|
|
int ignore_check_constraints;
|
|
QString journal_mode;
|
|
int journal_size_limit;
|
|
QString locking_mode;
|
|
int max_page_count;
|
|
int page_size;
|
|
int recursive_triggers;
|
|
int secure_delete;
|
|
int synchronous;
|
|
int temp_store;
|
|
int user_version;
|
|
int wal_autocheckpoint;
|
|
} pragmaValues;
|
|
|
|
Ui::MainWindow* ui;
|
|
|
|
SqliteTableModel* m_browseTableModel;
|
|
QMenu *popupTableMenu;
|
|
QMenu *recentFilesMenu;
|
|
|
|
QLabel* statusEncodingLabel;
|
|
|
|
SQLiteSyntaxHighlighter* sqliteHighlighterLogUser;
|
|
SQLiteSyntaxHighlighter* sqliteHighlighterLogApp;
|
|
|
|
enum { MaxRecentFiles = 5 };
|
|
QAction *recentFileActs[MaxRecentFiles];
|
|
QAction *recentSeparatorAct;
|
|
|
|
int curBrowseOrderByIndex;
|
|
Qt::SortOrder curBrowseOrderByMode;
|
|
|
|
EditDialog* editWin;
|
|
QIntValidator* gotoValidator;
|
|
|
|
DBBrowserDB db;
|
|
|
|
QStandardItemModel completerModelTables;
|
|
SqlTextEdit::FieldCompleterModelMap completerModelsFields;
|
|
|
|
void init();
|
|
|
|
void updateRecentFileActions();
|
|
void setCurrentFile(const QString& fileName);
|
|
void activateFields(bool enable = true);
|
|
void loadExtensionsFromSettings();
|
|
|
|
protected:
|
|
void closeEvent(QCloseEvent *);
|
|
void dragEnterEvent(QDragEnterEvent *event);
|
|
void dropEvent(QDropEvent *event);
|
|
void resizeEvent(QResizeEvent *event);
|
|
|
|
public slots:
|
|
virtual void fileOpen( const QString & fileName );
|
|
virtual void logSql(const QString &sql, int msgtype);
|
|
virtual void dbState(bool dirty);
|
|
|
|
private slots:
|
|
virtual void createTreeContextMenu(const QPoint & qPoint);
|
|
virtual void changeTreeSelection();
|
|
virtual void fileOpen();
|
|
virtual void fileNew();
|
|
virtual void populateStructure();
|
|
virtual void populateTable(const QString& tablename);
|
|
virtual void resetBrowser();
|
|
virtual void fileClose();
|
|
virtual void fileExit();
|
|
virtual void addRecord();
|
|
virtual void deleteRecord();
|
|
virtual void selectTableLine( int lineToSelect );
|
|
virtual void navigatePrevious();
|
|
virtual void navigateNext();
|
|
virtual void navigateGoto();
|
|
virtual void setRecordsetLabel();
|
|
virtual void browseRefresh();
|
|
virtual void createTable();
|
|
virtual void createIndex();
|
|
virtual void compact();
|
|
virtual void deleteObject();
|
|
virtual void editTable();
|
|
virtual void helpWhatsThis();
|
|
virtual void helpAbout();
|
|
virtual void updateRecordText(int row, int col, const QByteArray& newtext);
|
|
virtual void editWinAway();
|
|
virtual void editText(const QModelIndex& index);
|
|
virtual void doubleClickTable(const QModelIndex& index);
|
|
virtual void executeQuery();
|
|
virtual void importTableFromCSV();
|
|
virtual void exportTableToCSV();
|
|
virtual void fileSave();
|
|
virtual void fileRevert();
|
|
virtual void exportDatabaseToSQL();
|
|
virtual void importDatabaseFromSQL();
|
|
virtual void openPreferences();
|
|
virtual void openRecentFile();
|
|
virtual void loadPragmas();
|
|
virtual void updatePragmaUi();
|
|
virtual void savePragmas();
|
|
virtual void mainTabSelected( int tabindex );
|
|
virtual void browseTableHeaderClicked(int logicalindex);
|
|
virtual void createSyntaxHighlighters();
|
|
virtual unsigned int openSqlTab(bool resetCounter = false);
|
|
virtual void closeSqlTab(int index, bool force = false);
|
|
virtual void openSqlFile();
|
|
virtual void saveSqlFile();
|
|
virtual void loadExtension();
|
|
};
|
|
|
|
#endif
|