コード例 #1
0
ファイル: main.py プロジェクト: nick-andri/stage
 def ajout_cv_sortie(self, fileNames):
     self.ui.listW_cv_sortie.clear()
     for file in fileNames:
         fInfo = QFileInfo(file)
         fShortName = fInfo.baseName()
         item = QListWidgetItem(fShortName)
         self.ui.listW_cv_sortie.addItem(item)
         item.setToolTip(file)
コード例 #2
0
    def _left_panel(self):
        panel = QWidget()
        box = QVBoxLayout()
        btn_menu = QPushButton()
        icn = QtGui.QIcon.fromTheme("application-menu")
        btn_menu.setIcon(icn)
        btn_menu.setIconSize(QSize(BTN_MENU_SIZE, BTN_MENU_SIZE))
        btn_menu.setMaximumWidth(BTN_MENU_SIZE)
        btn_menu.setMaximumHeight(BTN_MENU_SIZE)
        btn_menu.setToolTip(_("Options"))
        btn_menu.setObjectName("menuButton")
        #		box.addWidget(btn_menu,Qt.Alignment(1))
        indexes = []
        for index, option in self.stacks.items():
            idx = index
            lst_widget = QListWidgetItem()
            lst_widget.setText(option['name'])
            mod = option.get('module', None)
            if mod:
                try:
                    idx = mod.index
                except:
                    pass
            if idx > 0:
                icn = QtGui.QIcon.fromTheme(option['icon'])
                lst_widget.setIcon(icn)
                if 'tooltip' in option.keys():
                    lst_widget.setToolTip(option['tooltip'])
                while idx in indexes:
                    idx += 1
                indexes.append(index)
            self.stacks[idx]['widget'] = lst_widget
        orderedStacks = {}
        orderedStacks[0] = self.stacks[0]
        #self.lst_options.addItem(orderedStacks[0]['widget'])
        cont = 0
        indexes.sort()
        for index in indexes:
            if index:
                orderedStacks[cont] = self.stacks[index].copy()
                if self.stacks[index].get('visible', True) == True:
                    self.lst_options.addItem(orderedStacks[cont]['widget'])
                cont += 1

        self.stacks = orderedStacks.copy()
        box.addWidget(self.lst_options)
        self.lst_options.currentRowChanged.connect(self._show_stack)
        self.lst_options.setCurrentIndex(QModelIndex())
        self.last_index = None
        panel.setLayout(box)
        self.resize(self.size().width() + box.sizeHint().width(),
                    self.size().height() + box.sizeHint().height() / 2)
        self.lst_options.setFixedSize(
            self.lst_options.sizeHintForColumn(0) + 2 *
            (self.lst_options.frameWidth() + 15), self.height()
        )  #self.lst_options.sizeHintForRow(0) * self.lst_options.count() + 2 * (self.lst_options.frameWidth()+15))

        return (panel)
コード例 #3
0
ファイル: vilector_main.py プロジェクト: Coyura/vilector
 def ajoutListe(self):
     print("Ajout dans playlist")
     newFile = QFileDialog.getOpenFileName(self, "Choix Film", "/home",
                                           "Movie Files (*.avi, *.mp4)")
     fInfo = QFileInfo(newFile[0])
     fShortName = fInfo.baseName()
     newMovie = QListWidgetItem(fShortName)
     newMovie.setToolTip(newFile[0])
     self.ui.listWidget.addItem(newMovie)
コード例 #4
0
    def pbPlusCtrl(self):

        fileName = QFileDialog.getOpenFileName(self,"choix film","/home","Film(*.avi *.mp4)")
        fInfo = QFileInfo(fileName[0])
        fShortName = fInfo.baseName()
        item = QListWidgetItem(fShortName)
        item.setToolTip(fileName[0])
        self.ui.listWidget.addItem(item)
        print(item.toolTip().title())
コード例 #5
0
ファイル: main.py プロジェクト: Ausloos/lect_video
 def ajouterMedia(self):
     nomMedia = QFileDialog.getOpenFileName(
         self, "ChoixFilm", "c:/Users/AELION/PycharmProjects/lect_video",
         "(*.avi *.mp4)")
     fInfo = QFileInfo(nomMedia[0])
     fShortName = fInfo.baseName()
     item = QListWidgetItem(fShortName)
     item.setToolTip(nomMedia[0])
     self.ui.listWidget.addItem(item)
コード例 #6
0
 def ajouter2(self):
     nomMedia = QFileDialog.getOpenFileName(
         self, "Choix Film", "C:/Users/AELION/PycharmProjects/videoLHector",
         "Movie Files (*.avi *.mp4)")
     fInfo = QFileInfo(nomMedia[0])
     fShortName = fInfo.baseName()
     print(fShortName)
     item = QListWidgetItem(fShortName)
     item.setToolTip(nomMedia[0])
     self.ui.listWidget.addItem(item)
コード例 #7
0
    def ajouterMedia2(self):
        nomMedia = QFileDialog.getOpenFileName(self, "Choix Film", "c:/",
                                               "Movie Files (*.avi *.mp4)")

        if nomMedia[0] == "":  #si aucun fichier selectionné
            return

        fInfo = QFileInfo(nomMedia[0])
        fShortName = fInfo.baseName()
        item = QListWidgetItem(fShortName)
        item.setToolTip(nomMedia[0])
        self.ui.lPlaylist.addItem(item)
コード例 #8
0
ファイル: main.py プロジェクト: creniepy/LecteurDeVideos
    def ajouterMedia2(self):
        nomMedia = QFileDialog.getOpenFileName(self, "Choix Film", "c:/",
                                               "Movie Files (*.avi *.mp4)")
        if nomMedia[
                0] == "":  #si aucun fichier selectionné (si "Annuler" est sélectionné)
            return  # return + vide => sortie de la fonction

        fInfo = QFileInfo(nomMedia[0])
        fShortName = fInfo.baseName()
        item = QListWidgetItem(fShortName)
        item.setToolTip(nomMedia[0])
        self.ui.listeLecture.addItem(item)
コード例 #9
0
 def addClicked(self):
     print("+")
     nomMedia = QFileDialog.getOpenFileName(
         self, "Choix Film",
         "C:/Users/AELION/Desktop/Aelion/PyCharm/VideoProject",
         "Movie files (*.avi *.mp4)")
     # item = QListWidgetItem(nomMedia[0])
     # self.ui.wList.addItem(item)
     fInfo = QFileInfo(nomMedia[0])
     fShortName = fInfo.baseName()
     item = QListWidgetItem(fShortName)
     item.setToolTip(nomMedia[0])
     self.ui.wList.addItem(item)
コード例 #10
0
    def redraw_candidates_list(self):
        self.lstCandidates.clear()

        for candidate in self.existingSettings.CANDIDATES:
            ticker = candidate.ticker
            reason = candidate.reason
            o = 3
            item_to_add = QListWidgetItem()
            item_to_add.setText(ticker)
            item_to_add.setToolTip(reason)
            self.lstCandidates.addItem(item_to_add)
        self.btnRemoveC.setEnabled(False)
        self.set_clear_button_state()
コード例 #11
0
ファイル: main.py プロジェクト: nick-andri/stage
    def ajoutCv_liste(self):

        fileNames = QFileDialog.getOpenFileNames(self, "choix cv",
                                                 "C:/Users/AELION/Desktop")
        for file in fileNames[0]:
            fInfo = QFileInfo(file)

            fShortName = fInfo.baseName()
            item = QListWidgetItem(fShortName)
            item.setToolTip(file)
            if item.toolTip() not in self.listeCv:

                self.ui.listW_cv_entree.addItem(item)
                self.listeCv.append(file)
コード例 #12
0
 def ajoutClicked2(self):
     # print("Ajout2")
     nomMedia = QFileDialog.getOpenFileName(
         self, "Choix Film",
         "C:/Users/AELION/BCH/Qt_interface_graphique/QtPython_ExoLecteurVideo",
         "Movie Files(*.avi *.mp4)")
     if nomMedia[
             0] == "":  # si aucun fichier selectionné pour éviter l'affichage d'une ligne vide dans la liste
         return
     fInfo = QFileInfo(nomMedia[0])
     fShortName = fInfo.baseName()
     item = QListWidgetItem(fShortName)
     item.setToolTip(
         nomMedia[0]
     )  #permet en plus d'afficher bandeau info fichier quand survol souris
     self.ui.listFilm.addItem(item)
コード例 #13
0
ファイル: page1.py プロジェクト: chusopr/musync
    def __add_tracks(self, side, tracks):
        # Now add the tracks
        trackList = self.findChild(QListWidget, "Tracklist{}".format(side))

        self.__items[side] = []
        for t in tracks:
            self.__items[side].append(t)
            li = QListWidgetItem("{} - {}".format(t["artist"], t["title"]),
                                 trackList)
            li.track = t
            li.setToolTip(li.text())

        p0 = self.findChild(QComboBox, "Playlist0")
        p1 = self.findChild(QComboBox, "Playlist1")
        t0 = self.findChild(QListWidget, "Tracklist0")
        t1 = self.findChild(QListWidget, "Tracklist1")

        # Check both playlists are set and loaded to compare them
        if not (p0.currentData() is None or p1.currentData() is None
                or self.__threads[0].isAlive() or self.__threads[1].isAlive()):
            # Check that at least one playlist is writable
            if p0.currentData()["writable"] or p1.currentData()["writable"]:
                # If there is some empty playlist, check it's not the only writable one
                if (t0.count() > 0 or p0.currentData()["writable"]) and (
                        t1.count() > 0 or p1.currentData()["writable"]):
                    self.__threads["compare"] = threading.Thread(
                        target=self.__compare_playlists)
                    self.__threads["compare"].start()
                else:
                    if t0.count() == 0:
                        p = p0.currentText()
                        a = self.findChild(QLabel, "SourceLabel0").text()
                    else:
                        p = p1.currentText()
                        a = self.findChild(QLabel, "SourceLabel1").text()
                    self.status.emit(
                        "Playlist {} in {} has no items and no new content can be added since it's read-only"
                        .format(p, a))
                    self.__change_next_tooltip.emit(
                        "The two selected playlists don't allow continuing")
            else:
                self.status.emit("Both playlist are read-only")
                self.__change_next_tooltip.emit(
                    "Cannot continue as both playlists are read-only")
コード例 #14
0
ファイル: cVSearch_v3.py プロジェクト: Coyura/GestionCV
 def ajoutCV(self):
     newFiles = QFileDialog.getOpenFileNames(self, "Choix CVs", "/home",
                                             "CV (*pptx *pdf *docx)")
     n = len(newFiles[0])
     for f in range(0, n):
         fInfo = QFileInfo(newFiles[0][f])
         fShortName = fInfo.baseName()
         addCV = QListWidgetItem(fShortName)
         addCV.setToolTip(newFiles[0][f])
         ajoutCV = QTableWidgetItem(fShortName)
         ajoutCV.setToolTip(newFiles[0][f])
         if self.ui.tableWidget.rowCount() == 0:
             self.ui.tableWidget.insertRow(0)
             self.ui.tableWidget.setItem(0, 0, QTableWidgetItem(ajoutCV))
         else:
             lgTable = self.ui.tableWidget.rowCount()
             self.ui.tableWidget.insertRow(lgTable)
             self.ui.tableWidget.setItem(lgTable, 0,
                                         QTableWidgetItem(ajoutCV))
コード例 #15
0
 def UpdateEpsData(self):
     self.epsListWidget.clear()
     info = BookMgr().books.get(self.bookId)
     if not info:
         return
     self.startRead.setEnabled(True)
     downloadIds = self.owner().downloadForm.GetDownloadCompleteEpsId(self.bookId)
     for index, epsInfo in enumerate(info.eps):
         label = QLabel(epsInfo.title)
         # label.setWordWrap(True)
         label.setContentsMargins(20, 10, 20, 10)
         item = QListWidgetItem(self.epsListWidget)
         if index in downloadIds:
             item.setBackground(QColor(18, 161, 130))
         else:
             item.setBackground(QColor(0,0,0,0))
         item.setSizeHint(label.sizeHint() + QSize(2, 0))
         item.setToolTip(epsInfo.title)
         self.epsListWidget.setItemWidget(item, label)
     self.tabWidget.setTabText(0, "章节({})".format(str(len(info.eps))))
     return
コード例 #16
0
ファイル: xosc_dl.py プロジェクト: SketchMaster2001/osc-dl
    def selection_changed(self):
        try:
            if not splash.isHidden():
                splash.showMessage(f"Finishing (2/3) - Loading first app..",
                                   color=splash_color)
        except NameError:
            pass
        try:
            data = self.ui.listAppsWidget.currentItem().data(Qt.UserRole)
            app_name = data["internal_name"]
        except Exception:
            app_name = None
        if app_name is not None:
            # Set active tab to first
            self.ui.tabMetadata.setCurrentIndex(0)

            # Hide icon
            self.ui.HomebrewIconLabel.hide()

            # Clear supported controllers listview:
            self.ui.SupportedControllersListWidget.clear()

            # Set data
            data = self.ui.listAppsWidget.currentItem().data(Qt.UserRole)

            # -- Get actual metadata
            # App Name
            self.ui.appname.setText(data["display_name"])
            self.ui.SelectionInfoBox.setTitle("Metadata: " +
                                              data["display_name"])
            self.ui.label_displayname.setText(data["display_name"])

            # File Size
            try:
                self.ui.filesize.setText(metadata.file_size(data["extracted"]))
            except KeyError:
                self.ui.filesize.setText("Unknown")

            # Category
            self.ui.HomebrewCategoryLabel.setText(
                metadata.category_display_name(data["category"]))

            # Release Date
            self.ui.releasedate.setText(
                datetime.fromtimestamp(int(
                    data["release_date"])).strftime('%B %e, %Y at %R'))

            # Controllers
            controllers = metadata.parse_controllers(data["controllers"])
            # Add icons for Wii Remotes
            if controllers[0] > 1:
                item = QListWidgetItem()
                item.setText(f"{str(controllers[0])} Wii Remotes")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/{str(controllers[0])}WiiRemote.png"
                        )))
                item.setToolTip(
                    f"This app supports up to {str(controllers[0])} Wii Remotes."
                )
                self.ui.SupportedControllersListWidget.addItem(item)
            elif controllers[0] == 1:
                item = QListWidgetItem()
                item.setText(f"1 Wii Remote")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/1WiiRemote.png")))
                item.setToolTip("This app supports a single Wii Remote.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[1] is True:
                item = QListWidgetItem()
                item.setText(f"Nunchuk")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/Nunchuk.png")))
                item.setToolTip("This app can be used with a Nunchuk.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[2] is True:
                item = QListWidgetItem()
                item.setText(f"Classic Controller")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/ClassicController.png"
                        )))
                item.setToolTip(
                    "This app can be used with a Classic Controller.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[3] is True:
                item = QListWidgetItem()
                item.setText(f"GameCube Controller")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/GamecubeController.png"
                        )))
                item.setToolTip(
                    "This app can be used with a Gamecube Controller.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[4] is True:
                item = QListWidgetItem()
                item.setText(f"Wii Zapper")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/WiiZapper.png")))
                item.setToolTip("This app can be used with a Wii Zapper.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[5] is True:
                item = QListWidgetItem()
                item.setText(f"USB Keyboard")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/USBKeyboard.png")))
                item.setToolTip("This app can be used with a USB Keyboard.")
                self.ui.SupportedControllersListWidget.addItem(item)
            if controllers[6] is True:
                item = QListWidgetItem()
                item.setText(f"SDHC Card")
                item.setIcon(
                    QIcon(
                        resource_path(
                            f"assets/gui/icons/controllers/SDHC.png")))
                item.setToolTip("This app is confirmed to support SDHC cards.")
                self.ui.SupportedControllersListWidget.addItem(item)

            # Version
            self.ui.version.setText(data["version"])

            # Coder
            self.ui.developer.setText(data["coder"])

            # Short Description
            if data["short_description"] == "":
                self.ui.label_description.setText("No description specified.")
            else:
                self.ui.label_description.setText(data["short_description"])

            # Long Description
            self.ui.longDescriptionBrowser.setText(data["long_description"])

            # File Name Line Edit
            self.ui.FileNameLineEdit.setText(app_name + ".zip")
            self.ui.DirectLinkLineEdit.setText(
                metadata.url(app_name, repo=HOST))
        self.ui.progressBar.setValue(0)
        self.repaint()
        # Load icon
        self.load_icon(app_name=app_name, repo=HOST)
        self.status_message("Ready to download")
コード例 #17
0
ファイル: utils.py プロジェクト: robotechnics/pyImgEditor
 def run(self):
     # next() raises a StopIteration exception when the generator ends.
     # If this exception is unhandled by run(), it causes thread termination.
     # If wdg internal C++ object was destroyed by main thread (form closing)
     # a RuntimeError exception is raised and causes thread termination too.
     # Thus, no further synchronization is needed.
     import exiftool
     with exiftool.ExifTool() as e:
         while True:
             try:
                 filename = next(self.fileListGen)
                 # get orientation
                 try:
                     # read metadata from sidecar (.mie) if it exists, otherwise from image file.
                     profile, metadata = e.get_metadata(
                         filename,
                         tags=("colorspace", "profileDescription",
                               "orientation", "model", "rating",
                               "FileCreateDate"),
                         createsidecar=False)
                 except ValueError:
                     metadata = {}
                 # get image info
                 tmp = [
                     value for key, value in metadata.items()
                     if 'orientation' in key.lower()
                 ]
                 orientation = tmp[
                     0] if tmp else 1  # metadata.get("EXIF:Orientation", 1)
                 # EXIF:DateTimeOriginal seems to be missing in many files
                 tmp = [
                     value for key, value in metadata.items()
                     if 'date' in key.lower()
                 ]
                 date = tmp[
                     0] if tmp else ''  # metadata.get("EXIF:ModifyDate", '')
                 tmp = [
                     value for key, value in metadata.items()
                     if 'rating' in key.lower()
                 ]
                 rating = tmp[
                     0] if tmp else 0  # metadata.get("XMP:Rating", 5)
                 rating = ''.join(['*'] * int(rating))
                 transformation = exiftool.decodeExifOrientation(
                     orientation)
                 # get thumbnail
                 img = e.get_thumbNail(filename, thumbname='thumbnailimage')
                 # no thumbnail found : try preview
                 if img.isNull():
                     img = e.get_thumbNail(
                         filename, thumbname='PreviewImage'
                     )  # the order is important : for jpeg PreviewImage is full sized !
                 # all failed : open image
                 if img.isNull():
                     img = QImage(filename)
                 # remove possible black borders, except for .NEF
                 if filename[-3:] not in ['nef', 'NEF']:
                     bBorder = 7
                     img = img.copy(
                         QRect(0, bBorder, img.width(),
                               img.height() - 2 * bBorder))
                 pxm = QPixmap.fromImage(img)
                 if not transformation.isIdentity():
                     pxm = pxm.transformed(transformation)
                 # set item caption and tooltip
                 item = QListWidgetItem(
                     QIcon(pxm), basename(filename))  # + '\n' + rating)
                 item.setToolTip(
                     basename(filename) + ' ' + date + ' ' + rating)
                 # set item mimeData to get filename=item.data(Qt.UserRole)[0] transformation=item.data(Qt.UserRole)[1]
                 item.setData(Qt.UserRole, (filename, transformation))
                 self.wdg.addItem(item)
             # for clean exiting we catch all exceptions and force break
             except OSError:
                 continue
             except:
                 break