mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 19:11:39 -06:00
Add an option to remember the location of the last opened or saved file and use it as the default location for the next file dialog because always going back to the default location set in the preferences dialog can be a real hastle. See issues #224, #276 and #281.
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#ifndef PREFERENCESDIALOG_H
|
|
#define PREFERENCESDIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QVariant>
|
|
#include <QHash>
|
|
|
|
class QTreeWidgetItem;
|
|
|
|
namespace Ui {
|
|
class PreferencesDialog;
|
|
}
|
|
|
|
class PreferencesDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit PreferencesDialog(QWidget* parent = 0);
|
|
~PreferencesDialog();
|
|
|
|
// Use these methods to access the application settings.
|
|
static QVariant getSettingsValue(const QString& group, const QString& name);
|
|
static void setSettingsValue(const QString& group, const QString& name, const QVariant& value, bool dont_save_to_disk = false);
|
|
|
|
private slots:
|
|
virtual void loadSettings();
|
|
virtual void saveSettings();
|
|
|
|
virtual void chooseLocation();
|
|
virtual void showColourDialog(QTreeWidgetItem* item, int column);
|
|
virtual void addExtension();
|
|
virtual void removeExtension();
|
|
|
|
private:
|
|
Ui::PreferencesDialog *ui;
|
|
|
|
// This works similar to getSettingsValue but returns the default value instead of the value set by the user
|
|
static QVariant getSettingsDefaultValue(const QString& group, const QString& name);
|
|
|
|
// Cache for storing the settings to avoid repeatedly reading the settings file all the time
|
|
static QHash<QString, QVariant> m_hCache;
|
|
|
|
void fillLanguageBox();
|
|
|
|
protected:
|
|
bool eventFilter(QObject *obj, QEvent *event);
|
|
};
|
|
|
|
#endif
|