leocad/qt/lc_qpreferencesdialog.h

112 lines
2.8 KiB
C
Raw Normal View History

#pragma once
2013-08-09 06:57:18 +02:00
2020-12-24 03:16:00 +01:00
#include "lc_application.h"
#include "lc_shortcuts.h"
#include "lc_category.h"
2013-08-09 06:57:18 +02:00
2020-12-24 03:16:00 +01:00
struct lcPreferencesDialogOptions
{
lcPreferences Preferences;
QString LibraryPath;
QString ColorConfigPath;
QString MinifigSettingsPath;
QString POVRayPath;
QString LGEOPath;
QString DefaultAuthor;
QString Language;
int CheckForUpdates;
int AASamples;
2021-01-20 13:19:29 +01:00
int StudStyle;
2020-12-24 03:16:00 +01:00
std::vector<lcLibraryCategory> Categories;
bool CategoriesModified;
bool CategoriesDefault;
lcKeyboardShortcuts KeyboardShortcuts;
bool KeyboardShortcutsModified;
bool KeyboardShortcutsDefault;
lcMouseShortcuts MouseShortcuts;
bool MouseShortcutsModified;
bool MouseShortcutsDefault;
};
namespace Ui
{
2013-08-09 06:57:18 +02:00
class lcQPreferencesDialog;
}
class lcQPreferencesDialog : public QDialog
{
Q_OBJECT
2021-01-20 11:56:30 +01:00
2013-08-09 06:57:18 +02:00
public:
lcQPreferencesDialog(QWidget* Parent, lcPreferencesDialogOptions* Options);
2013-08-09 06:57:18 +02:00
~lcQPreferencesDialog();
lcPreferencesDialogOptions* mOptions;
2013-08-09 06:57:18 +02:00
enum
{
CategoryRole = Qt::UserRole
};
bool eventFilter(QObject* Object, QEvent* Event) override;
2013-08-09 06:57:18 +02:00
public slots:
void accept() override;
2013-08-09 06:57:18 +02:00
void on_partsLibraryBrowse_clicked();
void on_partsArchiveBrowse_clicked();
void on_ColorConfigBrowseButton_clicked();
void on_MinifigSettingsBrowseButton_clicked();
2013-08-17 23:54:07 +02:00
void on_povrayExecutableBrowse_clicked();
void on_lgeoPathBrowse_clicked();
2020-08-16 00:23:44 +02:00
void on_ColorTheme_currentIndexChanged(int Index);
2019-01-20 20:59:18 +01:00
void ColorButtonClicked();
2013-08-09 06:57:18 +02:00
void on_antiAliasing_toggled();
void on_edgeLines_toggled();
2020-06-06 20:16:01 +02:00
void on_LineWidthSlider_valueChanged();
2020-08-16 01:16:26 +02:00
void on_MeshLODSlider_valueChanged();
2020-04-25 21:16:37 +02:00
void on_FadeSteps_toggled();
void on_HighlightNewParts_toggled();
void on_gridStuds_toggled();
void on_gridLines_toggled();
2019-01-20 20:59:18 +01:00
void on_ViewSphereSizeCombo_currentIndexChanged(int Index);
void on_PreviewViewSphereSizeCombo_currentIndexChanged(int Index);
2013-08-09 06:57:18 +02:00
void updateParts();
void on_newCategory_clicked();
void on_editCategory_clicked();
void on_deleteCategory_clicked();
void on_importCategories_clicked();
void on_exportCategories_clicked();
void on_resetCategories_clicked();
void on_shortcutAssign_clicked();
void on_shortcutRemove_clicked();
void on_shortcutsImport_clicked();
void on_shortcutsExport_clicked();
void on_shortcutsReset_clicked();
void commandChanged(QTreeWidgetItem *current);
void on_KeyboardFilterEdit_textEdited(const QString& Text);
2016-04-25 07:26:34 +02:00
void on_mouseAssign_clicked();
void on_mouseRemove_clicked();
void on_MouseImportButton_clicked();
void on_MouseExportButton_clicked();
2016-04-25 07:26:34 +02:00
void on_mouseReset_clicked();
void MouseTreeItemChanged(QTreeWidgetItem* Current);
2013-08-09 06:57:18 +02:00
private:
Ui::lcQPreferencesDialog *ui;
void updateCategories();
void updateCommandList();
2016-04-25 07:26:34 +02:00
void UpdateMouseTree();
void UpdateMouseTreeItem(int ItemIndex);
2013-08-09 06:57:18 +02:00
void setShortcutModified(QTreeWidgetItem *treeItem, bool modified);
2020-06-06 20:16:01 +02:00
float mLineWidthRange[2];
float mLineWidthGranularity;
2020-08-16 01:16:26 +02:00
static constexpr float mMeshLODMultiplier = 25.0f;
2020-06-06 20:16:01 +02:00
};