leocad/qt/lc_qpreferencesdialog.h

117 lines
3 KiB
C
Raw Normal View History

#pragma once
2013-08-09 04:57:18 +00:00
2020-12-23 18:16:00 -08:00
#include "lc_application.h"
#include "lc_shortcuts.h"
#include "lc_category.h"
2013-08-09 04:57:18 +00:00
2020-12-23 18:16:00 -08:00
struct lcPreferencesDialogOptions
{
lcPreferences Preferences;
QString LibraryPath;
QString ColorConfigPath;
QString MinifigSettingsPath;
QString POVRayPath;
QString LGEOPath;
QString DefaultAuthor;
QString Language;
int CheckForUpdates;
int AASamples;
lcStudStyle StudStyle;
2020-12-23 18:16:00 -08: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 04:57:18 +00:00
class lcQPreferencesDialog;
}
class lcQPreferencesDialog : public QDialog
{
Q_OBJECT
2021-01-20 11:56:30 +01:00
2013-08-09 04:57:18 +00:00
public:
lcQPreferencesDialog(QWidget* Parent, lcPreferencesDialogOptions* Options);
2013-08-09 04:57:18 +00:00
~lcQPreferencesDialog();
lcPreferencesDialogOptions* mOptions;
2013-08-09 04:57:18 +00:00
enum
{
CategoryRole = Qt::UserRole
};
bool eventFilter(QObject* Object, QEvent* Event) override;
2013-08-09 04:57:18 +00:00
public slots:
void accept() override;
2013-08-09 04:57:18 +00:00
void on_partsLibraryBrowse_clicked();
void on_partsArchiveBrowse_clicked();
void on_ColorConfigBrowseButton_clicked();
void on_MinifigSettingsBrowseButton_clicked();
2013-08-17 21:54:07 +00:00
void on_povrayExecutableBrowse_clicked();
void on_lgeoPathBrowse_clicked();
2020-08-15 15:23:44 -07:00
void on_ColorTheme_currentIndexChanged(int Index);
2019-01-20 11:59:18 -08:00
void ColorButtonClicked();
2021-01-24 12:53:02 +01:00
void AutomateEdgeColor();
void on_AutomateEdgeColor_toggled();
2023-05-21 15:53:59 +02:00
void on_BlenderAddonSettingsButton_clicked();
void on_studStyleCombo_currentIndexChanged(int index);
2013-08-09 04:57:18 +00:00
void on_antiAliasing_toggled();
void on_edgeLines_toggled();
2021-03-07 09:53:35 -08:00
void on_ConditionalLinesCheckBox_toggled();
2020-06-06 11:16:01 -07:00
void on_LineWidthSlider_valueChanged();
2020-08-15 16:16:26 -07:00
void on_MeshLODSlider_valueChanged();
2020-04-25 12:16:37 -07:00
void on_FadeSteps_toggled();
void on_HighlightNewParts_toggled();
void on_gridStuds_toggled();
void on_gridLines_toggled();
2019-01-20 11:59:18 -08:00
void on_ViewSphereSizeCombo_currentIndexChanged(int Index);
void on_PreviewViewSphereSizeCombo_currentIndexChanged(int Index);
2013-08-09 04:57:18 +00: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 05:26:34 +00:00
void on_mouseAssign_clicked();
void on_mouseRemove_clicked();
void on_MouseImportButton_clicked();
void on_MouseExportButton_clicked();
2016-04-25 05:26:34 +00:00
void on_mouseReset_clicked();
void MouseTreeItemChanged(QTreeWidgetItem* Current);
2013-08-09 04:57:18 +00:00
private:
Ui::lcQPreferencesDialog *ui;
void updateCategories();
void updateCommandList();
2016-04-25 05:26:34 +00:00
void UpdateMouseTree();
void UpdateMouseTreeItem(int ItemIndex);
2013-08-09 04:57:18 +00:00
void setShortcutModified(QTreeWidgetItem *treeItem, bool modified);
2020-06-06 11:16:01 -07:00
float mLineWidthRange[2];
float mLineWidthGranularity;
2020-08-15 16:16:26 -07:00
static constexpr float mMeshLODMultiplier = 25.0f;
2020-06-06 11:16:01 -07:00
};