X-Git-Url: https://git.ralfj.de/lilass.git/blobdiff_plain/d9218a1fbb0c5a5200914483d795926f34e3a7ea..6895277c1f24aa9381822a0cbb20259b97cd075f:/selector_window.py diff --git a/selector_window.py b/selector_window.py deleted file mode 100644 index 556158c..0000000 --- a/selector_window.py +++ /dev/null @@ -1,78 +0,0 @@ -# DSL - easy Display Setup for Laptops -# Copyright (C) 2012 Ralf Jung -# -# 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 2 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 (gpl.txt); if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -from PyQt4 import QtCore, QtGui - -def makeLayout(layout, members): - for m in members: - if isinstance(m, QtGui.QLayout): - layout.addLayout(m) - else: - layout.addWidget(m) - return layout - -class PositionSelection(QtGui.QDialog): - LEFT = 10 - RIGHT = 20 - EXTERNAL_ONLY = 30 - - def __init__(self, externalName, internalResolutions, externalResolutions): - # set up main window - super(PositionSelection, self).__init__() - self.setWindowTitle('External screen setup (connector: %s)' % externalName) - - # position selection - posBox = QtGui.QGroupBox('Position of external screen', self) - self.posLeft = QtGui.QRadioButton('Left of internal screen', posBox) - self.posRight = QtGui.QRadioButton('Right of internal screen', posBox) - self.posRight.setChecked(True) - self.posRight.setFocus() - self.extOnly = QtGui.QRadioButton('Use external screen exclusively', posBox) - posBox.setLayout(makeLayout(QtGui.QVBoxLayout(), [self.posLeft, self.posRight, self.extOnly])) - - # primary screen - primBox = QtGui.QGroupBox('Which should be the primary screen?', self) - self.extOnly.toggled.connect(primBox.setDisabled) # disable the box if there's just one screen in use - self.primExt = QtGui.QRadioButton('The external screen', primBox) - self.primInt = QtGui.QRadioButton('The internal screen', primBox) - self.primInt.setChecked(True) - primBox.setLayout(makeLayout(QtGui.QVBoxLayout(), [self.primExt, self.primInt])) - - # resolution selection - resBox = QtGui.QGroupBox('Screen resolutions', self) - extResLabel = QtGui.QLabel('Resolution of external screen:', resBox) - self.extResolutions = QtGui.QComboBox(resBox) - for res in externalResolutions: - self.extResolutions.addItem(res) - self.extResolutions.setCurrentIndex(0) # select first resolution - extRow = makeLayout(QtGui.QHBoxLayout(), [extResLabel, self.extResolutions]) - intResLabel = QtGui.QLabel('Resolution of internal screen:', resBox) - self.extOnly.toggled.connect(intResLabel.setDisabled) # disable the label if there's just one screen in use - self.intResolutions = QtGui.QComboBox(resBox) - for res in internalResolutions: - self.intResolutions.addItem(res) - self.intResolutions.setCurrentIndex(0) # select first resolution - self.extOnly.toggled.connect(self.intResolutions.setDisabled) # disable the box if there's just one screen in use - intRow = makeLayout(QtGui.QHBoxLayout(), [intResLabel, self.intResolutions]) - resBox.setLayout(makeLayout(QtGui.QVBoxLayout(), [extRow, intRow])) - - # last row: buttons - buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel, QtCore.Qt.Horizontal, self) - buttons.accepted.connect(self.accept) - buttons.rejected.connect(self.reject) - - # add them all to the window - self.setLayout(makeLayout(QtGui.QVBoxLayout(), [posBox, primBox, resBox, buttons]))