1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-22 14:41:39 +00:00

Removed .ui files and made the UI setup "by hand". ui files cause more problems than they solve (UI designer is limited in what it can do).

This commit is contained in:
Virgil Dupras
2010-10-04 15:29:00 +02:00
parent d574bc611b
commit d2f968def7
37 changed files with 776 additions and 2685 deletions

0
qt/se/__init__.py Normal file
View File

View File

@@ -9,10 +9,10 @@
from core_se import data
from core.directories import Directories as DirectoriesBase, STATE_EXCLUDED
from base.app import DupeGuru as DupeGuruBase
from details_dialog import DetailsDialog
from preferences import Preferences
from preferences_dialog import PreferencesDialog
from ..base.app import DupeGuru as DupeGuruBase
from .details_dialog import DetailsDialog
from .preferences import Preferences
from .preferences_dialog import PreferencesDialog
class Directories(DirectoriesBase):
ROOT_PATH_TO_EXCLUDE = frozenset(['windows', 'program files'])

View File

@@ -6,10 +6,23 @@
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
from base.details_dialog import DetailsDialog as DetailsDialogBase
from details_dialog_ui import Ui_DetailsDialog
from PyQt4.QtCore import QSize
from PyQt4.QtGui import QVBoxLayout, QAbstractItemView
class DetailsDialog(DetailsDialogBase, Ui_DetailsDialog):
from ..base.details_dialog import DetailsDialog as DetailsDialogBase
from ..base.details_table import DetailsTable
class DetailsDialog(DetailsDialogBase):
def _setupUi(self):
self.setupUi(self)
self.setWindowTitle("Details")
self.resize(502, 186)
self.setMinimumSize(QSize(200, 0))
self.verticalLayout = QVBoxLayout(self)
self.verticalLayout.setSpacing(0)
self.verticalLayout.setMargin(0)
self.tableView = DetailsTable(self)
self.tableView.setAlternatingRowColors(True)
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
self.tableView.setShowGrid(False)
self.verticalLayout.addWidget(self.tableView)

View File

@@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DetailsDialog</class>
<widget class="QDialog" name="DetailsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>502</width>
<height>186</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
<string>Details</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="DetailsTable" name="tableView">
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="showGrid">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>DetailsTable</class>
<extends>QTableView</extends>
<header>base.details_table</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@@ -8,7 +8,7 @@
from core.scanner import ScanType
from base.preferences import Preferences as PreferencesBase
from ..base.preferences import Preferences as PreferencesBase
class Preferences(PreferencesBase):
# (width, is_visible)

View File

@@ -7,22 +7,22 @@
# http://www.hardcoded.net/licenses/bsd_license
import platform
from PyQt4.QtCore import SIGNAL, Qt
from PyQt4.QtGui import QDialog, QDialogButtonBox
from PyQt4.QtCore import SIGNAL, Qt, QSize
from PyQt4.QtGui import (QDialog, QDialogButtonBox, QVBoxLayout, QHBoxLayout, QLabel, QComboBox,
QSlider, QSizePolicy, QSpacerItem, QWidget, QCheckBox, QLineEdit, QDialogButtonBox, QApplication)
from hsutil.misc import tryint
from core.scanner import ScanType
from preferences_dialog_ui import Ui_PreferencesDialog
import preferences
from . import preferences
SCAN_TYPE_ORDER = [
ScanType.Filename,
ScanType.Contents,
]
class PreferencesDialog(QDialog, Ui_PreferencesDialog):
class PreferencesDialog(QDialog):
def __init__(self, parent, app):
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
QDialog.__init__(self, parent, flags)
@@ -31,9 +31,134 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog):
self.connect(self.buttonBox, SIGNAL('clicked(QAbstractButton*)'), self.buttonClicked)
self.connect(self.scanTypeComboBox, SIGNAL('currentIndexChanged(int)'), self.scanTypeChanged)
self.connect(self.filterHardnessSlider, SIGNAL("valueChanged(int)"), self.filterHardnessLabel.setNum)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
def _setupUi(self):
self.setupUi(self)
self.setWindowTitle("Preferences")
self.resize(308, 361)
self.setSizeGripEnabled(False)
self.setModal(True)
self.verticalLayout_2 = QVBoxLayout(self)
self.verticalLayout = QVBoxLayout()
self.horizontalLayout = QHBoxLayout()
self.label_2 = QLabel(self)
self.label_2.setText("Scan Type:")
self.label_2.setMinimumSize(QSize(100, 0))
self.label_2.setMaximumSize(QSize(100, 16777215))
self.horizontalLayout.addWidget(self.label_2)
self.scanTypeComboBox = QComboBox(self)
self.scanTypeComboBox.addItem("Filename")
self.scanTypeComboBox.addItem("Contents")
self.horizontalLayout.addWidget(self.scanTypeComboBox)
self.verticalLayout.addLayout(self.horizontalLayout)
self.horizontalLayout_3 = QHBoxLayout()
self.label = QLabel(self)
self.label.setText("Filter Hardness:")
self.label.setMinimumSize(QSize(100, 0))
self.label.setMaximumSize(QSize(100, 16777215))
self.horizontalLayout_3.addWidget(self.label)
self.verticalLayout_3 = QVBoxLayout()
self.verticalLayout_3.setSpacing(0)
self.horizontalLayout_6 = QHBoxLayout()
self.horizontalLayout_6.setSpacing(12)
self.filterHardnessSlider = QSlider(self)
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.filterHardnessSlider.sizePolicy().hasHeightForWidth())
self.filterHardnessSlider.setSizePolicy(sizePolicy)
self.filterHardnessSlider.setMinimum(1)
self.filterHardnessSlider.setMaximum(100)
self.filterHardnessSlider.setTracking(True)
self.filterHardnessSlider.setOrientation(Qt.Horizontal)
self.horizontalLayout_6.addWidget(self.filterHardnessSlider)
self.filterHardnessLabel = QLabel(self)
self.filterHardnessLabel.setText("100")
self.filterHardnessLabel.setMinimumSize(QSize(21, 0))
self.horizontalLayout_6.addWidget(self.filterHardnessLabel)
self.verticalLayout_3.addLayout(self.horizontalLayout_6)
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setContentsMargins(-1, 0, -1, -1)
self.label_4 = QLabel(self)
self.label_4.setText("More Results")
self.horizontalLayout_5.addWidget(self.label_4)
spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem)
self.label_3 = QLabel(self)
self.label_3.setText("Fewer Results")
self.horizontalLayout_5.addWidget(self.label_3)
self.verticalLayout_3.addLayout(self.horizontalLayout_5)
self.horizontalLayout_3.addLayout(self.verticalLayout_3)
self.verticalLayout.addLayout(self.horizontalLayout_3)
self.widget = QWidget(self)
self.widget.setMinimumSize(QSize(0, 136))
self.verticalLayout_4 = QVBoxLayout(self.widget)
self.wordWeightingBox = QCheckBox(self.widget)
self.wordWeightingBox.setText("Word weighting")
self.verticalLayout_4.addWidget(self.wordWeightingBox)
self.matchSimilarBox = QCheckBox(self.widget)
self.matchSimilarBox.setText("Match similar words")
self.verticalLayout_4.addWidget(self.matchSimilarBox)
self.mixFileKindBox = QCheckBox(self.widget)
self.mixFileKindBox.setText("Can mix file kind")
self.verticalLayout_4.addWidget(self.mixFileKindBox)
self.useRegexpBox = QCheckBox(self.widget)
self.useRegexpBox.setText("Use regular expressions when filtering")
self.verticalLayout_4.addWidget(self.useRegexpBox)
self.removeEmptyFoldersBox = QCheckBox(self.widget)
self.removeEmptyFoldersBox.setText("Remove empty folders on delete or move")
self.verticalLayout_4.addWidget(self.removeEmptyFoldersBox)
self.horizontalLayout_2 = QHBoxLayout()
self.ignoreSmallFilesBox = QCheckBox(self.widget)
self.ignoreSmallFilesBox.setText("Ignore files smaller than")
self.horizontalLayout_2.addWidget(self.ignoreSmallFilesBox)
self.sizeThresholdEdit = QLineEdit(self.widget)
sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.sizeThresholdEdit.sizePolicy().hasHeightForWidth())
self.sizeThresholdEdit.setSizePolicy(sizePolicy)
self.sizeThresholdEdit.setMaximumSize(QSize(50, 16777215))
self.horizontalLayout_2.addWidget(self.sizeThresholdEdit)
self.label_6 = QLabel(self.widget)
self.label_6.setText("KB")
self.horizontalLayout_2.addWidget(self.label_6)
spacerItem1 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem1)
self.verticalLayout_4.addLayout(self.horizontalLayout_2)
self.ignoreHardlinkMatches = QCheckBox(self.widget)
self.ignoreHardlinkMatches.setText("Ignore duplicates hardlinking to the same file")
self.verticalLayout_4.addWidget(self.ignoreHardlinkMatches)
self.verticalLayout.addWidget(self.widget)
self.horizontalLayout_4 = QHBoxLayout()
self.label_5 = QLabel(self)
self.label_5.setText("Copy and Move:")
self.label_5.setMinimumSize(QSize(100, 0))
self.label_5.setMaximumSize(QSize(100, 16777215))
self.horizontalLayout_4.addWidget(self.label_5)
self.copyMoveDestinationComboBox = QComboBox(self)
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.copyMoveDestinationComboBox.sizePolicy().hasHeightForWidth())
self.copyMoveDestinationComboBox.setSizePolicy(sizePolicy)
self.copyMoveDestinationComboBox.addItem("Right in destination")
self.copyMoveDestinationComboBox.addItem("Recreate relative path")
self.copyMoveDestinationComboBox.addItem("Recreate absolute path")
self.horizontalLayout_4.addWidget(self.copyMoveDestinationComboBox)
self.verticalLayout.addLayout(self.horizontalLayout_4)
self.label_7 = QLabel(self)
self.label_7.setText("Custom Command (arguments: %d for dupe, %r for ref):")
self.verticalLayout.addWidget(self.label_7)
self.customCommandEdit = QLineEdit(self)
self.verticalLayout.addWidget(self.customCommandEdit)
self.verticalLayout_2.addLayout(self.verticalLayout)
self.buttonBox = QDialogButtonBox(self)
self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok|QDialogButtonBox.RestoreDefaults)
self.verticalLayout_2.addWidget(self.buttonBox)
if platform.system() not in {'Darwin', 'Linux'}:
self.verticalLayout_4.removeWidget(self.ignoreHardlinkMatches)
self.ignoreHardlinkMatches.setHidden(True)
@@ -93,3 +218,12 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog):
self.matchSimilarBox.setEnabled(word_based)
self.wordWeightingBox.setEnabled(word_based)
if __name__ == '__main__':
import sys
from ..testapp import TestApp
app = QApplication([])
dgapp = TestApp()
dialog = PreferencesDialog(None, dgapp)
dialog.show()
sys.exit(app.exec_())

View File

@@ -1,389 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PreferencesDialog</class>
<widget class="QDialog" name="PreferencesDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>308</width>
<height>361</height>
</rect>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="sizeGripEnabled">
<bool>false</bool>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Scan Type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="scanTypeComboBox">
<item>
<property name="text">
<string>Filename</string>
</property>
</item>
<item>
<property name="text">
<string>Contents</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Filter Hardness:</string>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="spacing">
<number>12</number>
</property>
<item>
<widget class="QSlider" name="filterHardnessSlider">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="tracking">
<bool>true</bool>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="filterHardnessLabel">
<property name="minimumSize">
<size>
<width>21</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>100</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="topMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>More Results</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Fewer Results</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>136</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="wordWeightingBox">
<property name="text">
<string>Word weighting</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="matchSimilarBox">
<property name="text">
<string>Match similar words</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mixFileKindBox">
<property name="text">
<string>Can mix file kind</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="useRegexpBox">
<property name="text">
<string>Use regular expressions when filtering</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="removeEmptyFoldersBox">
<property name="text">
<string>Remove empty folders on delete or move</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="ignoreSmallFilesBox">
<property name="text">
<string>Ignore files smaller than</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="sizeThresholdEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>KB</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="ignoreHardlinkMatches">
<property name="text">
<string>Ignore duplicates hardlinking to the same file</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_5">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Copy and Move:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="copyMoveDestinationComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Right in destination</string>
</property>
</item>
<item>
<property name="text">
<string>Recreate relative path</string>
</property>
</item>
<item>
<property name="text">
<string>Recreate absolute path</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Custom Command (arguments: %d for dupe, %r for ref):</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="customCommandEdit"/>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>filterHardnessSlider</sender>
<signal>valueChanged(int)</signal>
<receiver>filterHardnessLabel</receiver>
<slot>setNum(int)</slot>
<hints>
<hint type="sourcelabel">
<x>182</x>
<y>26</y>
</hint>
<hint type="destinationlabel">
<x>271</x>
<y>26</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>PreferencesDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>182</x>
<y>228</y>
</hint>
<hint type="destinationlabel">
<x>182</x>
<y>124</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>PreferencesDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>182</x>
<y>228</y>
</hint>
<hint type="destinationlabel">
<x>182</x>
<y>124</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@@ -13,9 +13,8 @@ sip.setapi('QVariant', 1)
from PyQt4.QtCore import QCoreApplication
from PyQt4.QtGui import QApplication, QIcon, QPixmap
import base.dg_rc
from app import DupeGuru
from ..base import dg_rc
from .app import DupeGuru
if sys.platform == 'win32':
import base.cxfreeze_fix