diff --git a/src/mcedit2/ui/dialogs/preferences.ui b/src/mcedit2/ui/dialogs/preferences.ui new file mode 100644 index 0000000..d47aeb7 --- /dev/null +++ b/src/mcedit2/ui/dialogs/preferences.ui @@ -0,0 +1,80 @@ + + + preferencesDialog + + + + 0 + 0 + 893 + 510 + + + + Preferences + + + + + + Qt::Horizontal + + + + + 0 + 0 + + + + + 200 + 0 + + + + + + + 1 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Close + + + + + + + + + + diff --git a/src/mcedit2/ui/preferences_dialog.ui b/src/mcedit2/ui/preferences_dialog.ui deleted file mode 100644 index e957380..0000000 --- a/src/mcedit2/ui/preferences_dialog.ui +++ /dev/null @@ -1,32 +0,0 @@ - - - preferencesDialog - - - - 0 - 0 - 509 - 510 - - - - Preferences - - - - - 370 - 450 - 75 - 23 - - - - OK - - - - - - diff --git a/src/mcedit2/widgets/prefsdialog.py b/src/mcedit2/widgets/prefsdialog.py deleted file mode 100644 index cf81ef7..0000000 --- a/src/mcedit2/widgets/prefsdialog.py +++ /dev/null @@ -1,16 +0,0 @@ -""" - prefsdialog.py -""" -from __future__ import absolute_import, division, print_function -import logging -from PySide import QtGui - -from mcedit2.ui.preferences_dialog import Ui_preferencesDialog - -log = logging.getLogger(__name__) - -class PrefsDialog(QtGui.QDialog, Ui_preferencesDialog): - def __init__(self, parent): - super(PrefsDialog, self).__init__(parent) - self.setupUi(self) - self.okButton.clicked.connect(self.accept) diff --git a/src/mcedit2/widgets/prefsdialog/__init__.py b/src/mcedit2/widgets/prefsdialog/__init__.py new file mode 100644 index 0000000..5899f47 --- /dev/null +++ b/src/mcedit2/widgets/prefsdialog/__init__.py @@ -0,0 +1,39 @@ +""" + prefsdialog +""" +from __future__ import absolute_import, division, print_function +import logging +from PySide import QtCore + +from PySide import QtGui + +from mcedit2.ui.dialogs.preferences import Ui_preferencesDialog + +log = logging.getLogger(__name__) + +from .camera import CameraPrefs + +class PrefsDialog(QtGui.QDialog, Ui_preferencesDialog): + def __init__(self, parent): + super(PrefsDialog, self).__init__(parent) + self.setupUi(self) + self.okButton.clicked.connect(self.accept) + + self.frames = [ + CameraPrefs() + ] + + for i, frame in enumerate(self.frames): + item = QtGui.QListWidgetItem(frame.labelText) + item.setData(QtCore.Qt.UserRole, i) + self.categoryList.addItem(item) + + self.categoryList.itemClicked.connect(self.itemWasClicked) + + self.frameStack.addWidget(self.frames[0]) + + def itemWasClicked(self, item): + idx = item.data(QtCore.Qt.UserRole) + + self.frameStack.removeWidget(self.frameStack.widget(0)) + self.frameStack.addWidget(self.frames[idx]) diff --git a/src/mcedit2/widgets/prefsdialog/camera.py b/src/mcedit2/widgets/prefsdialog/camera.py new file mode 100644 index 0000000..4529040 --- /dev/null +++ b/src/mcedit2/widgets/prefsdialog/camera.py @@ -0,0 +1,27 @@ +""" + camera +""" +from __future__ import absolute_import, division, print_function, unicode_literals +import logging +from PySide import QtGui + +from mcedit2.widgets.layout import Column +from mcedit2.worldview.camera import MaxViewDistanceSetting + +log = logging.getLogger(__name__) + +class CameraPrefs(QtGui.QWidget): + def __init__(self): + super(CameraPrefs, self).__init__() + self.labelText = self.tr("Camera View") + + layout = QtGui.QFormLayout() + + maxViewDistanceInput = QtGui.QSpinBox() + maxViewDistanceInput.setMinimum(0) + maxViewDistanceInput.valueChanged.connect(MaxViewDistanceSetting.setValue) + MaxViewDistanceSetting.connectAndCall(maxViewDistanceInput.setValue) + + layout.addRow(self.tr("Max View Distance"), maxViewDistanceInput) + + self.setLayout(Column(layout, None)) \ No newline at end of file diff --git a/src/mcedit2/worldview/camera.py b/src/mcedit2/worldview/camera.py index 962bda7..85fe9b2 100644 --- a/src/mcedit2/worldview/camera.py +++ b/src/mcedit2/worldview/camera.py @@ -29,6 +29,8 @@ log = logging.getLogger(__name__) settings = Settings().getNamespace("worldview/camera") ViewDistanceSetting = settings.getOption("view_distance", int, 12) +MaxViewDistanceSetting = settings.getOption("max_view_distance", int, 64) + PerspectiveSetting = settings.getOption("perspective", bool, True) StickyMouselookSetting = settings.getOption("sticky_mouselook", bool, True) @@ -56,7 +58,9 @@ class CameraWorldViewFrame(QtGui.QWidget): viewDistanceInput = QtGui.QSpinBox(minimum=2, maximum=64, singleStep=2) viewDistanceInput.setValue(self.worldView.viewDistance) viewDistanceInput.valueChanged.connect(ViewDistanceSetting.setValue) - + + MaxViewDistanceSetting.connectAndCall(viewDistanceInput.setMaximum) + PerspectiveSetting.connectAndCall(view.setPerspective) perspectiveInput = QtGui.QCheckBox(self.tr("Perspective"))