def wipeMediumClicked(self): #Get the currently selected picture selected_item = self.fileTreeWidget.currentItem().text(0) #Construct the file path based on selected item path = self.directory + "/" + selected_item #Creat and display warning box msgBox = QMessageBox() msgBox.setWindowTitle("Confirmation Window") msgBox.setText("Are you sure you want to wipe medium?") msgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No) msgBox.setDefaultButton(QMessageBox.No) ret = msgBox.exec_() #If Yes was clicked if(ret == 16384): #Wipe the medium and adjust the file tree accordingly steg = NewSteganography(imagePath=path) child = self.fileTreeWidget.currentItem() child.takeChild(0) child.setForeground(0,QtGui.QBrush(Qt.blue)) self.hidden_message_dict[child.text(0)] = None steg.wipeMedium() self.treeItemClicked()
def confirmWipe(self): msgBox = QMessageBox() msgBox.setText('Confirm Wipe') msgBox.setInformativeText('Are you sure you want to wipe the current medium?') msgBox.setStandardButtons(QMessageBox.No | QMessageBox.Yes) msgBox.setDefaultButton(QMessageBox.No) ret = msgBox.exec_() # If the user selects yes if(ret == QMessageBox.Yes): n = NewSteganography(imagePath = self.imagePath, direction = self.imageDirection) # Call the wipe medium function, repopulate the origin fileTreeWidget n.wipeMedium() self.fileTreeWidget.clear() self.examineImages() # Clear the two graphics views in the stackedWidget self.txtMessage.clear() tempScene = QGraphicsScene() self.viewMessage.setScene(tempScene) self.btnWipeMedium.setDisabled(True) self.btnExtract.setDisabled(True) self.viewMessage.setHidden(True) self.txtMessage.setHidden(True) self.lblTextMessage.setText('Text') self.lblImageMessage.setText('Text') self.lblTextMessage.setDisabled(True) self.lblImageMessage.setDisabled(True)
def wipeMed(self): #the function that will wipe the medium #now, we will pop up a QMessageBox dialog asking the user to confirm their action. msgBox = QMessageBox() msgBox.setText( 'Wiping the medium will remove all the contents from the medium.') msgBox.setInformativeText('Are you sure you want to proceed?') msgBox.setStandardButtons( QMessageBox.Yes | QMessageBox.No) #yes or no option provided to the user ret = msgBox.exec_() #to see what the user enters #print(type(ret)) if (ret == 65536): #i.e, the user selects the No option #just go back and return from the function return else: #i.e, the user selects the Yes option #clear the message display unit for both image and text, whichever is applicable scene = QtGui.QGraphicsScene() scene.clear() self.viewMessage.setScene(scene) self.txtMessage.clear() self.btnWipeMedium.setEnabled( False) #disable the wipe medium button #create a new NewSteg obj with any direction of rasterization, it does not matter since wiping the medium will essentially work for all the pixels. Thus for our purposes, we will use 'horizontal' as direction of rasterization. 'vertical' would also work just fine. self.grpMessage.setDisabled( True) #diaable the stacked widget to display message curr = self.fileTreeWidget.currentItem() filename = curr.text(0) curr.takeChild(0) curr.setForeground(0, QtGui.QBrush(Qt.blue)) for i in range(0, len(self.imgType)): if (filename == self.imgType[i][0]): #print(self.imgType[i]) self.imgType[i] = (filename, (False, None)) #print(self.imgType[i]) break path = self.directorySelected + '/' + self.fileTreeWidget.currentItem( ).text(0) #get the current image file stegobj = NewSteganography( path, 'horizontal' ) #create a NewSteg obj with horizontal rasterization stegobj.wipeMedium() #call the function to wipe the medium '''
def wipe(self): rest = QtGui.QMessageBox.question(self, 'title', 'message', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if rest == QtGui.QMessageBox.Yes: self.mode(False) item = self.fileTreeWidget.currentItem() subitem = item.child(0) dir = subitem.text(1) stegan = NewSteganography(self.imagepath, direction=dir) stegan.wipeMedium() item.removeChild(subitem) item.setForeground(0, QBrush(QColor(0, 0, 255))) foont = QtGui.QFont() foont.setBold(False) item.setFont(0, foont)
def wipeMed(self):#the function that will wipe the medium #now, we will pop up a QMessageBox dialog asking the user to confirm their action. msgBox = QMessageBox() msgBox.setText('Wiping the medium will remove all the contents from the medium.') msgBox.setInformativeText('Are you sure you want to proceed?') msgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No) #yes or no option provided to the user ret = msgBox.exec_() #to see what the user enters #print(type(ret)) if (ret == 65536): #i.e, the user selects the No option #just go back and return from the function return else: #i.e, the user selects the Yes option #clear the message display unit for both image and text, whichever is applicable scene = QtGui.QGraphicsScene() scene.clear() self.viewMessage.setScene(scene) self.txtMessage.clear() self.btnWipeMedium.setEnabled(False) #disable the wipe medium button #create a new NewSteg obj with any direction of rasterization, it does not matter since wiping the medium will essentially work for all the pixels. Thus for our purposes, we will use 'horizontal' as direction of rasterization. 'vertical' would also work just fine. self.grpMessage.setDisabled(True) #diaable the stacked widget to display message curr = self.fileTreeWidget.currentItem() #get the current tree widget, ie the current filename filename = curr.text(0) #get the text filename curr.takeChild(0) #remove the child curr.setForeground(0, QtGui.QBrush(Qt.blue)) #make color of filename in tree widget to appear to blue for i in range(0, len(self.imgType)): #now change the imgType list for the particulae filename, ie message type is none if (filename == self.imgType[i][0]): #print(self.imgType[i]) self.imgType[i] = (filename, (False, None)) #print(self.imgType[i]) break #break out of loop to save time path = self.directorySelected + '/' + self.fileTreeWidget.currentItem().text(0) #get the current image file stegobj = NewSteganography(path, 'horizontal') #create a NewSteg obj with horizontal rasterization stegobj.wipeMedium() #call the function to wipe the medium '''
def wipe(self): box = QMessageBox() ### Creates a cautionary message box reply = box.question(None,"Caution","Wiped message cannot be recovered.Do you want to proceed?",QMessageBox.Ok | QMessageBox.Cancel) if reply == QMessageBox.Ok: ### If okay is pressed execute the below code if self.selectedfile in self.v: class1 = NewSteganography(self.path+"/"+self.selectedfile,"vertical") class1.wipeMedium() ### if the item has vertically embedded self.v.remove(self.selectedfile) ### message then wipe the message self.btnExtract.setEnabled(False) ### and remove the item and its child from self.btnWipeMedium.setEnabled(False) ### tree widget item = QTreeWidgetItem([self.selectedfile]) olditem = self.fileTreeWidget.selectedItems()[0] child = olditem.takeChildren() self.dict[self.selectedfile] = "0" self.fileTreeWidget.takeTopLevelItem(self.fileTreeWidget.indexOfTopLevelItem(olditem)) item.setText(0,"{0}".format(olditem.text(0))) item.setForeground(0,QtGui.QBrush(Qt.blue)) self.blueitems.append(item) self.fileTreeWidget.addTopLevelItem(item) self.fileTreeWidget.removeItemWidget(item,0) else: class1 = NewSteganography(self.path+"/"+self.selectedfile,"horizontal") class1.wipeMedium() ### if the item has horizontally embedded self.h.remove(self.selectedfile) ### message then wipe the message and self.btnExtract.setEnabled(False) ### remove the item and its child from the self.btnWipeMedium.setEnabled(False) ### tree widget item = QTreeWidgetItem([self.selectedfile]) olditem = self.fileTreeWidget.selectedItems()[0] child = olditem.takeChildren() self.dict[self.selectedfile] = "0" self.fileTreeWidget.takeTopLevelItem(self.fileTreeWidget.indexOfTopLevelItem(olditem)) item.setText(0,"{0}".format(olditem.text(0))) item.setForeground(0,QtGui.QBrush(Qt.blue)) self.blueitems.append(item) self.fileTreeWidget.addTopLevelItem(item) self.fileTreeWidget.removeItemWidget(item,0) self.extract()
def wipe(self): """ cleans the message from the medium and refreshes the item based on the new properties of the medium :return: """ msgbox = QMessageBox() msgbox.setText("Are you sure you want to wipe the medium?") msgbox.setStandardButtons(QMessageBox.Yes | QMessageBox.No) option = msgbox.exec_() if option == QMessageBox.No: pass elif option == QMessageBox.Yes: self.viewMessage.setHidden(True) self.txtMessage.setHidden(True) current = self.fileTreeWidget.currentItem() path = self.fpdict[current] direction = self.childdict[current][1] medium = NewSteganography(path, direction) medium.wipeMedium() scene = QGraphicsScene() self.viewMessage.setScene(scene) current.takeChild(0) self.fileTreeWidget.removeItemWidget(current, 0) self.additem(path, current)