From 178fc5bdd696b08bcc6e47c5c02ccb8b60ce4a6c Mon Sep 17 00:00:00 2001 From: Papoteur Date: Sat, 4 Apr 2015 14:19:15 +0200 Subject: Correction to the manualchek function. Allow stretchable main window Correction of the help link --- mageiaSync/mageiaSyncUI.py | 113 ++++++----- mageiaSync/mageiaSyncUI.ui | 460 ++++++++++++++++++++------------------------- mageiaSync/mageiasync.py | 41 ++-- 3 files changed, 283 insertions(+), 331 deletions(-) (limited to 'mageiaSync') diff --git a/mageiaSync/mageiaSyncUI.py b/mageiaSync/mageiaSyncUI.py index e2f6302..93e5332 100644 --- a/mageiaSync/mageiaSyncUI.py +++ b/mageiaSync/mageiaSyncUI.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'mageiaSyncUI.ui' # -# Created: Sat Apr 4 09:31:29 2015 +# Created: Sat Apr 4 14:16:42 2015 # by: PyQt5 UI code generator 5.1.1 # # WARNING! All changes made in this file will be lost! @@ -12,7 +12,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_mainWindow(object): def setupUi(self, mainWindow): mainWindow.setObjectName("mainWindow") - mainWindow.resize(820, 587) + mainWindow.resize(820, 627) mainWindow.setWindowTitle("mageiaSync v0.1.5") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("/usr/share/icons/hicolor/scalable/apps/mageiasync.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) @@ -20,8 +20,21 @@ class Ui_mainWindow(object): mainWindow.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.centralwidget = QtWidgets.QWidget(mainWindow) self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.remoteDirLabel = QtWidgets.QLabel(self.centralwidget) + self.remoteDirLabel.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + self.remoteDirLabel.setObjectName("remoteDirLabel") + self.horizontalLayout_3.addWidget(self.remoteDirLabel) + self.selectAll = QtWidgets.QPushButton(self.centralwidget) + self.selectAll.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + self.selectAll.setObjectName("selectAll") + self.horizontalLayout_3.addWidget(self.selectAll) + self.gridLayout.addLayout(self.horizontalLayout_3, 0, 0, 1, 1) self.listIsos = QtWidgets.QTableView(self.centralwidget) - self.listIsos.setGeometry(QtCore.QRect(12, 50, 796, 131)) self.listIsos.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) self.listIsos.setAlternatingRowColors(True) self.listIsos.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) @@ -29,13 +42,14 @@ class Ui_mainWindow(object): self.listIsos.setGridStyle(QtCore.Qt.DotLine) self.listIsos.setObjectName("listIsos") self.listIsos.verticalHeader().setVisible(False) + self.gridLayout.addWidget(self.listIsos, 1, 0, 1, 1) self.localDirLabel = QtWidgets.QLabel(self.centralwidget) - self.localDirLabel.setGeometry(QtCore.QRect(12, 189, 791, 19)) self.localDirLabel.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.localDirLabel.setText("Local directory:") self.localDirLabel.setObjectName("localDirLabel") + self.gridLayout.addWidget(self.localDirLabel, 2, 0, 1, 1) self.localList = QtWidgets.QTableView(self.centralwidget) - self.localList.setGeometry(QtCore.QRect(12, 216, 796, 96)) + self.localList.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.localList.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.localList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) self.localList.setAlternatingRowColors(True) @@ -44,78 +58,59 @@ class Ui_mainWindow(object): self.localList.setGridStyle(QtCore.Qt.DotLine) self.localList.setObjectName("localList") self.localList.verticalHeader().setVisible(False) - self.label = QtWidgets.QLabel(self.centralwidget) - self.label.setGeometry(QtCore.QRect(12, 366, 52, 19)) - self.label.setObjectName("label") - self.lvText = QtWidgets.QTextEdit(self.centralwidget) - self.lvText.setGeometry(QtCore.QRect(12, 393, 796, 95)) - self.lvText.setReadOnly(True) - self.lvText.setObjectName("lvText") - self.layoutWidget = QtWidgets.QWidget(self.centralwidget) - self.layoutWidget.setGeometry(QtCore.QRect(12, 496, 791, 31)) - self.layoutWidget.setObjectName("layoutWidget") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget) - self.horizontalLayout.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout.setObjectName("horizontalLayout") - self.syncGo = QtWidgets.QPushButton(self.layoutWidget) - self.syncGo.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.syncGo.setObjectName("syncGo") - self.horizontalLayout.addWidget(self.syncGo) - self.stop = QtWidgets.QPushButton(self.layoutWidget) - self.stop.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.stop.setObjectName("stop") - self.horizontalLayout.addWidget(self.stop) - self.quit = QtWidgets.QPushButton(self.layoutWidget) - self.quit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.quit.setObjectName("quit") - self.horizontalLayout.addWidget(self.quit) - self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget) - self.horizontalLayoutWidget.setGeometry(QtCore.QRect(12, 12, 791, 31)) - self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") - self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) - self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) - self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.remoteDirLabel = QtWidgets.QLabel(self.horizontalLayoutWidget) - self.remoteDirLabel.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.remoteDirLabel.setObjectName("remoteDirLabel") - self.horizontalLayout_3.addWidget(self.remoteDirLabel) - self.selectAll = QtWidgets.QPushButton(self.horizontalLayoutWidget) - self.selectAll.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.selectAll.setObjectName("selectAll") - self.horizontalLayout_3.addWidget(self.selectAll) - self.layoutWidget1 = QtWidgets.QWidget(self.centralwidget) - self.layoutWidget1.setGeometry(QtCore.QRect(12, 320, 791, 38)) - self.layoutWidget1.setObjectName("layoutWidget1") - self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget1) + self.gridLayout.addWidget(self.localList, 3, 0, 1, 1) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setContentsMargins(-1, -1, -1, 9) self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.IprogressBar = QtWidgets.QProgressBar(self.layoutWidget1) + self.IprogressBar = QtWidgets.QProgressBar(self.centralwidget) self.IprogressBar.setEnabled(True) self.IprogressBar.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.IprogressBar.setProperty("value", 24) self.IprogressBar.setObjectName("IprogressBar") self.horizontalLayout_2.addWidget(self.IprogressBar) - self.Lsize = QtWidgets.QLabel(self.layoutWidget1) + self.Lsize = QtWidgets.QLabel(self.centralwidget) self.Lsize.setObjectName("Lsize") self.horizontalLayout_2.addWidget(self.Lsize) - self.speedLCD = QtWidgets.QLCDNumber(self.layoutWidget1) + self.speedLCD = QtWidgets.QLCDNumber(self.centralwidget) self.speedLCD.setObjectName("speedLCD") self.horizontalLayout_2.addWidget(self.speedLCD) - self.label_2 = QtWidgets.QLabel(self.layoutWidget1) + self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setObjectName("label_2") self.horizontalLayout_2.addWidget(self.label_2) - self.label_3 = QtWidgets.QLabel(self.layoutWidget1) + self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.label_3.setObjectName("label_3") self.horizontalLayout_2.addWidget(self.label_3) - self.timeRemaining = QtWidgets.QTimeEdit(self.layoutWidget1) + self.timeRemaining = QtWidgets.QTimeEdit(self.centralwidget) self.timeRemaining.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.timeRemaining.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.timeRemaining.setReadOnly(True) self.timeRemaining.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.timeRemaining.setObjectName("timeRemaining") self.horizontalLayout_2.addWidget(self.timeRemaining) + self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 1) + self.label = QtWidgets.QLabel(self.centralwidget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 5, 0, 1, 1) + self.lvText = QtWidgets.QTextEdit(self.centralwidget) + self.lvText.setReadOnly(True) + self.lvText.setObjectName("lvText") + self.gridLayout.addWidget(self.lvText, 6, 0, 1, 1) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.syncGo = QtWidgets.QPushButton(self.centralwidget) + self.syncGo.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + self.syncGo.setObjectName("syncGo") + self.horizontalLayout.addWidget(self.syncGo) + self.stop = QtWidgets.QPushButton(self.centralwidget) + self.stop.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + self.stop.setObjectName("stop") + self.horizontalLayout.addWidget(self.stop) + self.quit = QtWidgets.QPushButton(self.centralwidget) + self.quit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + self.quit.setObjectName("quit") + self.horizontalLayout.addWidget(self.quit) + self.gridLayout.addLayout(self.horizontalLayout, 7, 0, 1, 1) mainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(mainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 820, 24)) @@ -163,16 +158,16 @@ class Ui_mainWindow(object): def retranslateUi(self, mainWindow): _translate = QtCore.QCoreApplication.translate - self.label.setText(_translate("mainWindow", "Report")) - self.syncGo.setText(_translate("mainWindow", "&Do sync")) - self.stop.setText(_translate("mainWindow", "&Stop")) - self.quit.setText(_translate("mainWindow", "&Quit")) self.remoteDirLabel.setText(_translate("mainWindow", "Remote directory")) self.selectAll.setText(_translate("mainWindow", "Select &All")) self.Lsize.setText(_translate("mainWindow", "0 bytes")) self.label_2.setText(_translate("mainWindow", "kB/s")) self.label_3.setText(_translate("mainWindow", "Remaining:")) self.timeRemaining.setDisplayFormat(_translate("mainWindow", "H:mm:ss")) + self.label.setText(_translate("mainWindow", "Report")) + self.syncGo.setText(_translate("mainWindow", "&Do sync")) + self.stop.setText(_translate("mainWindow", "&Stop")) + self.quit.setText(_translate("mainWindow", "&Quit")) self.menuFile.setTitle(_translate("mainWindow", "&File")) self.menuSync.setTitle(_translate("mainWindow", "S&ync")) self.menuA_bout.setTitle(_translate("mainWindow", "&Help")) diff --git a/mageiaSync/mageiaSyncUI.ui b/mageiaSync/mageiaSyncUI.ui index ccc3628..324f92b 100644 --- a/mageiaSync/mageiaSyncUI.ui +++ b/mageiaSync/mageiaSyncUI.ui @@ -7,7 +7,7 @@ 0 0 820 - 587 + 627 @@ -21,258 +21,212 @@ - - - - 12 - 50 - 796 - 131 - - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::MultiSelection - - - QAbstractItemView::SelectRows - - - Qt::DotLine - - - false - - - - - - 12 - 189 - 791 - 19 - - - - - - - Local directory: - - - - - - 12 - 216 - 796 - 96 - - - - - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::MultiSelection - - - QAbstractItemView::SelectRows - - - Qt::DotLine - - - false - - - - - - 12 - 366 - 52 - 19 - - - - Report - - - - - - 12 - 393 - 796 - 95 - - - - true - - - - - - 12 - 496 - 791 - 31 - - - - - - - - - - &Do sync - - - - - - - - - - &Stop - - - - - - - - - - &Quit - - - - - - - - - 12 - 12 - 791 - 31 - - - - - QLayout::SetFixedSize - - - - - - - - Remote directory - - - - - - - - - - Select &All - - - - - - - - - 12 - 320 - 791 - 38 - - - - - 9 - - - - - true - - - - - - 24 - - - - - - - 0 bytes - - - - - - - - - - kB/s - - - - - - - - - - Remaining: - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - true - - - QAbstractSpinBox::NoButtons - - - H:mm:ss - - - - - + + + + + QLayout::SetFixedSize + + + + + + + + Remote directory + + + + + + + + + + Select &All + + + + + + + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::MultiSelection + + + QAbstractItemView::SelectRows + + + Qt::DotLine + + + false + + + + + + + + + + Local directory: + + + + + + + + 16777215 + 16777215 + + + + + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::MultiSelection + + + QAbstractItemView::SelectRows + + + Qt::DotLine + + + false + + + + + + + 9 + + + + + true + + + + + + 24 + + + + + + + 0 bytes + + + + + + + + + + kB/s + + + + + + + + + + Remaining: + + + + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + H:mm:ss + + + + + + + + + Report + + + + + + + true + + + + + + + + + + + + &Do sync + + + + + + + + + + &Stop + + + + + + + + + + &Quit + + + + + + diff --git a/mageiaSync/mageiasync.py b/mageiaSync/mageiasync.py index a871e12..06b7177 100644 --- a/mageiaSync/mageiasync.py +++ b/mageiaSync/mageiasync.py @@ -209,19 +209,25 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): self.timeRemaining.setTime(content) def manualChecks(self): - for iso in self.modelRemote.selectedItems(): - path,name=iso.text().split('/') - try: - # Look for ISO in local list - item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0] - except: - # Remote ISO is not yet in local directory. We add it in localList and create the directory - self.localAdd(path,name,0) - basedir=QtCore.QDir(self.destination) - basedir.mkdir(path) - item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0] - row=self.model.indexFromItem(item).row() - self.checks(row) + remoteRow=-1 + for isoIndex in self.listIsos.selectionModel().selectedIndexes(): + if remoteRow != isoIndex.row(): + remoteRow = isoIndex.row() + path = self.modelRemote.data(self.modelRemote.index(remoteRow,0)) + name = self.modelRemote.data(self.modelRemote.index(remoteRow,1)) + print(remoteRow,path,name) + try: + # Look for ISO in local list + item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0] + except: + # Remote ISO is not yet in local directory. We add it in localList and create the directory + self.localAdd(path,name,0) + basedir=QtCore.QDir(self.destination) + basedir.mkdir(path) + item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0] + row=self.model.indexFromItem(item).row() + print(self.model.data(self.model.index(row,0)), row) + self.checks(row) def checks(self,isoIndex): # processes a checking for each iso @@ -478,7 +484,7 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): def help(self): # Open page in browser - l = QDesktopServices.openUrl(QUrl('http://wiki.mageia.org/en/MageiaSync')) + l = QDesktopServices.openUrl(QUrl('https://wiki.mageia.org/en/ISO_testing_rsync_tools')) def launchSync(self): self.IprogressBar.setEnabled(True) @@ -493,8 +499,8 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): for isoIndex in self.listIsos.selectionModel().selectedIndexes(): if remoteRow != isoIndex.row(): remoteRow = isoIndex.row() - path = self.model.data(self.model.index(remoteRow,0)) - name = self.model.data(self.model.index(remoteRow,1)) + path = self.modelRemote.data(self.modelRemote.index(remoteRow,0)) + name = self.modelRemote.data(self.modelRemote.index(remoteRow,1)) try: # Look for ISO in local list item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0] @@ -513,9 +519,6 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow): self.nameWithPath+='/' self.rsyncThread.setup(self.nameWithPath, self.destination+'/'+path+'/',row) self.rsyncThread.start() # start the thread - # Pour les tests uniquement - #rsync://$user@bcd.mageia.org/isos/$release/ - #self.nameWithPath='rsync://ftp5.gwdg.de/pub/linux/mageia/iso/4.1/Mageia-4.1-LiveCD-GNOME-en-i586-CD/' def closeFill(self,code): if code==0: # list returned -- cgit v1.2.1