diff -r b2fa5f89798a -r 24ba5aa3393f src/configDialog.h
--- a/src/configDialog.h Mon Aug 31 23:18:17 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
- * LDForge: LDraw parts authoring CAD
- * Copyright (C) 2013 - 2015 Teemu Piippo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-#include "mainwindow.h"
-#include "toolsets/extprogramtoolset.h"
-#include
-
-class Ui_ConfigUI;
-class QLabel;
-class QDoubleSpinBox;
-
-// =============================================================================
-class ShortcutListItem : public QListWidgetItem
-{
- PROPERTY (public, QAction*, action, setAction, STOCK_WRITE)
- PROPERTY (public, QKeySequence, sequence, setSequence, STOCK_WRITE)
-
-public:
- explicit ShortcutListItem (QListWidget* view = null, int type = Type) :
- QListWidgetItem (view, type) {}
-};
-
-struct ExternalProgramWidgets
-{
- class QLineEdit* input;
- class QPushButton* setPathButton;
- class QCheckBox* wineBox;
-};
-
-// =============================================================================
-class ConfigDialog : public QDialog, public HierarchyElement
-{
- Q_OBJECT
-
-public:
- enum Tab
- {
- InterfaceTab,
- EditingToolsTab,
- ProfileTab,
- ShortcutsTab,
- QuickColorsTab,
- GridsTab,
- ExtProgsTab,
- DownloadTab
- };
-
- explicit ConfigDialog (QWidget* parent = nullptr, Tab defaulttab = (Tab) 0, Qt::WindowFlags f = 0);
- virtual ~ConfigDialog();
-
- QList quickColors;
-
-private:
- Ui_ConfigUI* ui;
- QList quickColorItems;
- QMap m_buttonColors;
- ExternalProgramWidgets m_externalProgramWidgets[NumExternalPrograms];
- QSettings* m_settings;
-
- void applySettings();
- void addShortcut (QAction* act);
- void setButtonBackground (QPushButton* button, QString value);
- void updateQuickColorList (LDQuickColor* sel = null);
- void setShortcutText (ShortcutListItem* item);
- int getItemRow (QListWidgetItem* item, QList& haystack);
- QString quickColorString();
- QListWidgetItem* getSelectedQuickColor();
- QList getShortcutSelection();
- void initExtProgs();
- void applyToWidgetOptions (std::function func);
-
-private slots:
- void setButtonColor();
- void slot_setShortcut();
- void slot_resetShortcut();
- void slot_clearShortcut();
- void slot_setColor();
- void slot_delColor();
- void slot_addColorSeparator();
- void slot_moveColor();
- void slot_clearColors();
- void slot_setExtProgPath();
- void slot_findDownloadFolder();
- void buttonClicked (QAbstractButton* button);
- void selectPage (int row);
-};
-
-// =============================================================================
-//
-class KeySequenceDialog : public QDialog
-{
- Q_OBJECT
-
-public:
- explicit KeySequenceDialog (QKeySequence seq, QWidget* parent = null, Qt::WindowFlags f = 0);
- static bool staticDialog (ShortcutListItem* item, QWidget* parent = null);
-
- QLabel* lb_output;
- QDialogButtonBox* bbx_buttons;
- QKeySequence seq;
-
-private:
- void updateOutput();
-
-private slots:
- virtual void keyPressEvent (QKeyEvent* ev) override;
-};