Prechádzať zdrojové kódy

Merge branch 'master' of https://git.xorion.net/olinox14/mew

# Conflicts:
#	ui/qt/rsc_rc.py
Olivier Massot 4 rokov pred
rodič
commit
a033d85794

+ 3 - 1
.gitignore

@@ -8,4 +8,6 @@ htmlcov/
 .coverage
 .coverage
 
 
 /.project
 /.project
-*.log
+*.log
+
+venv/*

+ 1 - 1
core/constants.py

@@ -9,7 +9,7 @@ MUSIC_FOLDERS = [
 SUPPORTED_EXTENSIONS = ('mp3', 'wma', 'flac')
 SUPPORTED_EXTENSIONS = ('mp3', 'wma', 'flac')
 
 
 # VLC
 # VLC
-VLC_PATH = APP_ROOT / 'core' / 'vlc-core'
+VLC_DLL_PATH = APP_ROOT / 'core' / 'vlc-core' / 'libvlc.dll'
 
 
 DATA_DIR = APP_ROOT / 'data'
 DATA_DIR = APP_ROOT / 'data'
 
 

+ 2 - 1
core/indexer.py

@@ -2,7 +2,7 @@ import time
 from collections import deque
 from collections import deque
 from threading import Thread, Timer, Event
 from threading import Thread, Timer, Event
 
 
-import vlc
+
 from PyQt5.QtCore import pyqtSignal, QObject
 from PyQt5.QtCore import pyqtSignal, QObject
 from path import Path
 from path import Path
 
 
@@ -12,6 +12,7 @@ from core.file_utilities import is_media_file_ext, hash_file
 from core.logging_ import Logger
 from core.logging_ import Logger
 from core.models import Track
 from core.models import Track
 from core.repositories import MusicFolderRepository, TrackRepository
 from core.repositories import MusicFolderRepository, TrackRepository
+from core.vlc_ import vlc
 
 
 logger = Logger.get()
 logger = Logger.get()
 
 

+ 1 - 1
core/repositories.py

@@ -29,7 +29,7 @@ class Repository:
         return self.query().filter(field == val).all()
         return self.query().filter(field == val).all()
 
 
     def exists(self, field, val):
     def exists(self, field, val):
-        return self.query().filter(field == val).exists()
+        return self.query().filter(field == val).first() is not None
 
 
     def create(self, model, commit=False):
     def create(self, model, commit=False):
         self.session.add(model)
         self.session.add(model)

+ 7 - 0
core/vlc_.py

@@ -0,0 +1,7 @@
+import os
+
+from core import constants
+
+os.environ['PYTHON_VLC_LIB_PATH'] = constants.VLC_DLL_PATH
+if 1:
+    import vlc

BIN
data/default/youtube/(Ghost) Riders In the Sky (American Outlaws Live at Nassau Coliseum 1990).mp4


+ 17 - 9
ui/qt/main.ui

@@ -7,13 +7,13 @@
     <x>0</x>
     <x>0</x>
     <y>0</y>
     <y>0</y>
     <width>1029</width>
     <width>1029</width>
-    <height>784</height>
+    <height>615</height>
    </rect>
    </rect>
   </property>
   </property>
   <property name="minimumSize">
   <property name="minimumSize">
    <size>
    <size>
     <width>1029</width>
     <width>1029</width>
-    <height>784</height>
+    <height>615</height>
    </size>
    </size>
   </property>
   </property>
   <property name="font">
   <property name="font">
@@ -107,7 +107,7 @@
         <item>
         <item>
          <widget class="QStackedWidget" name="stack">
          <widget class="QStackedWidget" name="stack">
           <property name="currentIndex">
           <property name="currentIndex">
-           <number>1</number>
+           <number>3</number>
           </property>
           </property>
           <widget class="QWidget" name="page_1">
           <widget class="QWidget" name="page_1">
            <layout class="QHBoxLayout" name="horizontalLayout_2">
            <layout class="QHBoxLayout" name="horizontalLayout_2">
@@ -1061,7 +1061,7 @@
                         <property name="minimumSize">
                         <property name="minimumSize">
                          <size>
                          <size>
                           <width>0</width>
                           <width>0</width>
-                          <height>160</height>
+                          <height>60</height>
                          </size>
                          </size>
                         </property>
                         </property>
                         <property name="maximumSize">
                         <property name="maximumSize">
@@ -1145,7 +1145,7 @@
                         <property name="minimumSize">
                         <property name="minimumSize">
                          <size>
                          <size>
                           <width>218</width>
                           <width>218</width>
-                          <height>120</height>
+                          <height>60</height>
                          </size>
                          </size>
                         </property>
                         </property>
                         <property name="maximumSize">
                         <property name="maximumSize">
@@ -1341,7 +1341,7 @@
                    <bool>false</bool>
                    <bool>false</bool>
                   </attribute>
                   </attribute>
                   <attribute name="verticalHeaderVisible">
                   <attribute name="verticalHeaderVisible">
-                   <bool>true</bool>
+                   <bool>false</bool>
                   </attribute>
                   </attribute>
                   <column>
                   <column>
                    <property name="text">
                    <property name="text">
@@ -1562,11 +1562,11 @@
                </widget>
                </widget>
               </item>
               </item>
               <item>
               <item>
-               <widget class="QTableWidget" name="settingsMusicFoldersTable">
+               <widget class="MusicFoldersTable" name="settingsMusicFoldersTable">
                 <property name="minimumSize">
                 <property name="minimumSize">
                  <size>
                  <size>
                   <width>0</width>
                   <width>0</width>
-                  <height>192</height>
+                  <height>100</height>
                  </size>
                  </size>
                 </property>
                 </property>
                 <property name="maximumSize">
                 <property name="maximumSize">
@@ -1596,6 +1596,9 @@
                 <property name="cornerButtonEnabled">
                 <property name="cornerButtonEnabled">
                  <bool>false</bool>
                  <bool>false</bool>
                 </property>
                 </property>
+                <attribute name="horizontalHeaderVisible">
+                 <bool>false</bool>
+                </attribute>
                 <attribute name="horizontalHeaderCascadingSectionResizes">
                 <attribute name="horizontalHeaderCascadingSectionResizes">
                  <bool>true</bool>
                  <bool>true</bool>
                 </attribute>
                 </attribute>
@@ -1707,7 +1710,7 @@
                 <property name="minimumSize">
                 <property name="minimumSize">
                  <size>
                  <size>
                   <width>0</width>
                   <width>0</width>
-                  <height>192</height>
+                  <height>100</height>
                  </size>
                  </size>
                 </property>
                 </property>
                 <property name="maximumSize">
                 <property name="maximumSize">
@@ -1894,6 +1897,11 @@
    <extends>QTableWidget</extends>
    <extends>QTableWidget</extends>
    <header location="global">.widgets.tags_table.h</header>
    <header location="global">.widgets.tags_table.h</header>
   </customwidget>
   </customwidget>
+  <customwidget>
+   <class>MusicFoldersTable</class>
+   <extends>QTableWidget</extends>
+   <header location="global">.widgets.music_folders_table.h</header>
+  </customwidget>
  </customwidgets>
  </customwidgets>
  <resources>
  <resources>
   <include location="rsc.qrc"/>
   <include location="rsc.qrc"/>

+ 11 - 9
ui/qt/main_ui.py

@@ -14,8 +14,8 @@ from PyQt5 import QtCore, QtGui, QtWidgets
 class Ui_mainWindow(object):
 class Ui_mainWindow(object):
     def setupUi(self, mainWindow):
     def setupUi(self, mainWindow):
         mainWindow.setObjectName("mainWindow")
         mainWindow.setObjectName("mainWindow")
-        mainWindow.resize(1029, 784)
-        mainWindow.setMinimumSize(QtCore.QSize(1029, 784))
+        mainWindow.resize(1029, 615)
+        mainWindow.setMinimumSize(QtCore.QSize(1029, 615))
         font = QtGui.QFont()
         font = QtGui.QFont()
         font.setFamily("Verdana")
         font.setFamily("Verdana")
         font.setPointSize(8)
         font.setPointSize(8)
@@ -400,7 +400,7 @@ class Ui_mainWindow(object):
         self.horizontalLayout_19.addWidget(self.lineSearchTags)
         self.horizontalLayout_19.addWidget(self.lineSearchTags)
         self.verticalLayout_9.addLayout(self.horizontalLayout_19)
         self.verticalLayout_9.addLayout(self.horizontalLayout_19)
         self.explorerTrackTagsTable = TagsTable(self.page_6)
         self.explorerTrackTagsTable = TagsTable(self.page_6)
-        self.explorerTrackTagsTable.setMinimumSize(QtCore.QSize(0, 160))
+        self.explorerTrackTagsTable.setMinimumSize(QtCore.QSize(0, 60))
         self.explorerTrackTagsTable.setMaximumSize(QtCore.QSize(16777215, 16777215))
         self.explorerTrackTagsTable.setMaximumSize(QtCore.QSize(16777215, 16777215))
         self.explorerTrackTagsTable.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
         self.explorerTrackTagsTable.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
         self.explorerTrackTagsTable.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
         self.explorerTrackTagsTable.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
@@ -433,7 +433,7 @@ class Ui_mainWindow(object):
         self.label_10.setObjectName("label_10")
         self.label_10.setObjectName("label_10")
         self.verticalLayout_9.addWidget(self.label_10)
         self.verticalLayout_9.addWidget(self.label_10)
         self.explorerTrackNotepad = QtWidgets.QTextEdit(self.page_6)
         self.explorerTrackNotepad = QtWidgets.QTextEdit(self.page_6)
-        self.explorerTrackNotepad.setMinimumSize(QtCore.QSize(218, 120))
+        self.explorerTrackNotepad.setMinimumSize(QtCore.QSize(218, 60))
         self.explorerTrackNotepad.setMaximumSize(QtCore.QSize(16777215, 120))
         self.explorerTrackNotepad.setMaximumSize(QtCore.QSize(16777215, 120))
         self.explorerTrackNotepad.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.IBeamCursor))
         self.explorerTrackNotepad.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.IBeamCursor))
         self.explorerTrackNotepad.setAutoFormatting(QtWidgets.QTextEdit.AutoAll)
         self.explorerTrackNotepad.setAutoFormatting(QtWidgets.QTextEdit.AutoAll)
@@ -515,7 +515,7 @@ class Ui_mainWindow(object):
         item = QtWidgets.QTableWidgetItem()
         item = QtWidgets.QTableWidgetItem()
         self.explorerPlaylist.setHorizontalHeaderItem(4, item)
         self.explorerPlaylist.setHorizontalHeaderItem(4, item)
         self.explorerPlaylist.horizontalHeader().setVisible(False)
         self.explorerPlaylist.horizontalHeader().setVisible(False)
-        self.explorerPlaylist.verticalHeader().setVisible(True)
+        self.explorerPlaylist.verticalHeader().setVisible(False)
         self.verticalLayout_12.addWidget(self.explorerPlaylist)
         self.verticalLayout_12.addWidget(self.explorerPlaylist)
         self.horizontalLayout_22 = QtWidgets.QHBoxLayout()
         self.horizontalLayout_22 = QtWidgets.QHBoxLayout()
         self.horizontalLayout_22.setObjectName("horizontalLayout_22")
         self.horizontalLayout_22.setObjectName("horizontalLayout_22")
@@ -597,8 +597,8 @@ class Ui_mainWindow(object):
         self.label_5.setFont(font)
         self.label_5.setFont(font)
         self.label_5.setObjectName("label_5")
         self.label_5.setObjectName("label_5")
         self.verticalLayout_6.addWidget(self.label_5)
         self.verticalLayout_6.addWidget(self.label_5)
-        self.settingsMusicFoldersTable = QtWidgets.QTableWidget(self.page_5)
-        self.settingsMusicFoldersTable.setMinimumSize(QtCore.QSize(0, 192))
+        self.settingsMusicFoldersTable = MusicFoldersTable(self.page_5)
+        self.settingsMusicFoldersTable.setMinimumSize(QtCore.QSize(0, 100))
         self.settingsMusicFoldersTable.setMaximumSize(QtCore.QSize(16777215, 192))
         self.settingsMusicFoldersTable.setMaximumSize(QtCore.QSize(16777215, 192))
         self.settingsMusicFoldersTable.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
         self.settingsMusicFoldersTable.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
         self.settingsMusicFoldersTable.setProperty("showDropIndicator", False)
         self.settingsMusicFoldersTable.setProperty("showDropIndicator", False)
@@ -616,6 +616,7 @@ class Ui_mainWindow(object):
         self.settingsMusicFoldersTable.setHorizontalHeaderItem(1, item)
         self.settingsMusicFoldersTable.setHorizontalHeaderItem(1, item)
         item = QtWidgets.QTableWidgetItem()
         item = QtWidgets.QTableWidgetItem()
         self.settingsMusicFoldersTable.setHorizontalHeaderItem(2, item)
         self.settingsMusicFoldersTable.setHorizontalHeaderItem(2, item)
+        self.settingsMusicFoldersTable.horizontalHeader().setVisible(False)
         self.settingsMusicFoldersTable.horizontalHeader().setCascadingSectionResizes(True)
         self.settingsMusicFoldersTable.horizontalHeader().setCascadingSectionResizes(True)
         self.settingsMusicFoldersTable.horizontalHeader().setDefaultSectionSize(70)
         self.settingsMusicFoldersTable.horizontalHeader().setDefaultSectionSize(70)
         self.settingsMusicFoldersTable.horizontalHeader().setStretchLastSection(True)
         self.settingsMusicFoldersTable.horizontalHeader().setStretchLastSection(True)
@@ -655,7 +656,7 @@ class Ui_mainWindow(object):
         self.label_13.setObjectName("label_13")
         self.label_13.setObjectName("label_13")
         self.verticalLayout_6.addWidget(self.label_13)
         self.verticalLayout_6.addWidget(self.label_13)
         self.settingsTagsTableWidget = TagsTable(self.page_5)
         self.settingsTagsTableWidget = TagsTable(self.page_5)
-        self.settingsTagsTableWidget.setMinimumSize(QtCore.QSize(0, 192))
+        self.settingsTagsTableWidget.setMinimumSize(QtCore.QSize(0, 100))
         self.settingsTagsTableWidget.setMaximumSize(QtCore.QSize(16777215, 192))
         self.settingsTagsTableWidget.setMaximumSize(QtCore.QSize(16777215, 192))
         self.settingsTagsTableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
         self.settingsTagsTableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
         self.settingsTagsTableWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
         self.settingsTagsTableWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
@@ -713,7 +714,7 @@ class Ui_mainWindow(object):
 
 
         self.retranslateUi(mainWindow)
         self.retranslateUi(mainWindow)
         self.menu.setCurrentRow(-1)
         self.menu.setCurrentRow(-1)
-        self.stack.setCurrentIndex(1)
+        self.stack.setCurrentIndex(3)
         self.explorerFilterTags.setCurrentIndex(0)
         self.explorerFilterTags.setCurrentIndex(0)
         self.explorerTrackMetaStack.setCurrentIndex(1)
         self.explorerTrackMetaStack.setCurrentIndex(1)
         QtCore.QMetaObject.connectSlotsByName(mainWindow)
         QtCore.QMetaObject.connectSlotsByName(mainWindow)
@@ -799,6 +800,7 @@ class Ui_mainWindow(object):
         self.tagsTableAddButton.setText(_translate("mainWindow", "Ajouter"))
         self.tagsTableAddButton.setText(_translate("mainWindow", "Ajouter"))
 from .widgets.explorertable import ExplorerTable
 from .widgets.explorertable import ExplorerTable
 from .widgets.frame_notes import FrameNotes
 from .widgets.frame_notes import FrameNotes
+from .widgets.music_folders_table import MusicFoldersTable
 from .widgets.playlist_table import PlaylistTable
 from .widgets.playlist_table import PlaylistTable
 from .widgets.tags_table import TagsTable
 from .widgets.tags_table import TagsTable
 from .widgets.vlcframe import VlcFrame
 from .widgets.vlcframe import VlcFrame

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 821 - 114
ui/qt/rsc_rc.py


+ 75 - 0
ui/qt/widgets/music_folders_table.py

@@ -0,0 +1,75 @@
+from path import Path
+
+from PyQt5.QtGui import QIcon
+from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem, QFileDialog, QMessageBox
+
+from core.file_utilities import is_subdir_of
+from core.models import MusicFolder
+from core.repositories import MusicFolderRepository
+
+
+class MusicFoldersTable(QTableWidget):
+    music_folder_statuses = [
+        ('Inconnu', ':/img/rsc/unknown.png'),
+        ('Valide', ':/img/rsc/valid.png'),
+        ('Inaccessible', ':/img/rsc/invalid.png')
+    ]
+
+    def populate(self):
+        self.hideColumn(0)
+
+        music_folders = MusicFolderRepository().get_all()
+        self.clear()
+
+        row = 0
+
+        for music_folder in music_folders:
+            self.insertRow(row)
+            item = QTableWidgetItem()
+            item.setData(0, music_folder.id)
+            self.setItem(row, 0, item)
+
+            status_lbl, status_pic = self.music_folder_statuses[music_folder.status]
+            self.setItem(row, 1, QTableWidgetItem(QIcon(status_pic), status_lbl))
+
+            self.setItem(row, 2, QTableWidgetItem(music_folder.path))
+            row += 1
+
+    def selected_music_folder(self):
+        music_folder_id = self.item(self.currentRow(), 0).data(0)
+        if not music_folder_id:
+            return None
+        return MusicFolderRepository().get_by_id(int(music_folder_id))
+
+    def add_music_folder(self):
+        path = QFileDialog.getExistingDirectory(self, "Sélectionnez le dossier à ajouter")
+        if not path:
+            return
+
+        path = Path(path)
+
+        repo = MusicFolderRepository()
+        if repo.exists("path", str(path)):
+            QMessageBox.warning(self, "Ajout invalide",  "Ce dossier a déjà été ajouté")
+            return
+
+        folder = MusicFolder(path=path)
+        repo.create(folder, True)
+        self.populate()
+
+    def remove_music_folder(self):
+
+        music_folder = self.selected_music_folder()
+        if music_folder is None:
+            return
+
+        if QMessageBox.question(
+            self,
+            "Confirmer",
+            "Êtes-vous sûr(e) de vouloir supprimer ce dossier de la liste des dossiers à analyser?"
+        ) != QMessageBox.Yes:
+            return
+
+        repo = MusicFolderRepository()
+        repo.delete(music_folder, True)
+        self.populate()

+ 1 - 1
ui/qt/widgets/vlcframe.py

@@ -1,7 +1,7 @@
 import time
 import time
 from collections import deque
 from collections import deque
 
 
-import vlc
+from core.vlc_ import vlc
 from PyQt5 import QtWidgets, QtGui, QtCore
 from PyQt5 import QtWidgets, QtGui, QtCore
 from PyQt5.QtCore import pyqtSignal
 from PyQt5.QtCore import pyqtSignal
 from PyQt5.QtGui import QIcon
 from PyQt5.QtGui import QIcon

+ 8 - 53
ui/window.py

@@ -74,7 +74,7 @@ class MainWindow(QMainWindow):
         self.ui.explorerTable.trackDoubleClicked.connect(self.play_track)
         self.ui.explorerTable.trackDoubleClicked.connect(self.play_track)
         self.ui.btnExplorerRefresh.clicked.connect(self.refresh_explorer_tree)
         self.ui.btnExplorerRefresh.clicked.connect(self.refresh_explorer_tree)
         self.ui.explorerLineSearch.editingFinished.connect(self.explorerFiltersChanged)
         self.ui.explorerLineSearch.editingFinished.connect(self.explorerFiltersChanged)
-        self.ui.explorerLineSearch.textChanged.connect(self.explorerFiltersChanged) # when search bar is cleared
+        self.ui.explorerLineSearch.textChanged.connect(self.explorerFiltersChanged)  # when search bar is cleared
         self.ui.explorerBtnSearch.clicked.connect(self.explorerFiltersChanged)
         self.ui.explorerBtnSearch.clicked.connect(self.explorerFiltersChanged)
 
 
         self.populate_explorer_filter_tags()
         self.populate_explorer_filter_tags()
@@ -104,10 +104,9 @@ class MainWindow(QMainWindow):
         self.ui.btnPlaylistRemove.clicked.connect(self.remove_from_playlist)
         self.ui.btnPlaylistRemove.clicked.connect(self.remove_from_playlist)
 
 
         # Page 5 - settings
         # Page 5 - settings
-        self.ui.settingsMusicFoldersTable.setColumnHidden(0, 1)
-        self.ui.musicFoldersAddButton.clicked.connect(self.add_music_folder)
-        self.ui.musicFoldersRemoveButton.clicked.connect(self.remove_music_folder)
-        self.populate_music_folders_table()
+        self.ui.musicFoldersAddButton.clicked.connect(self.ui.settingsMusicFoldersTable.add_music_folder)
+        self.ui.musicFoldersRemoveButton.clicked.connect(self.ui.settingsMusicFoldersTable.remove_music_folder)
+        self.ui.settingsMusicFoldersTable.populate()
 
 
         self.ui.tagsTableAddButton.clicked.connect(self.addTag)
         self.ui.tagsTableAddButton.clicked.connect(self.addTag)
         self.ui.tableTagsRemoveButton.clicked.connect(self.removeTag)
         self.ui.tableTagsRemoveButton.clicked.connect(self.removeTag)
@@ -209,8 +208,9 @@ class MainWindow(QMainWindow):
         if self.selected_track:
         if self.selected_track:
             # refresh tables
             # refresh tables
             self.refresh_explorer_tree([self.selected_track])
             self.refresh_explorer_tree([self.selected_track])
-            self.ui.explorerPlaylist.update()
-            self.ui.sessionPlaylist.update()
+            if self.selected_playlist:
+                self.ui.explorerPlaylist.update()
+                self.ui.sessionPlaylist.update()
 
 
     def populate_explorer_filter_tags(self):
     def populate_explorer_filter_tags(self):
         tag_repo = TagRepository()
         tag_repo = TagRepository()
@@ -221,24 +221,6 @@ class MainWindow(QMainWindow):
         for tag in tag_repo.get_all():
         for tag in tag_repo.get_all():
             self.ui.explorerFilterTags.addItem(tag.label, tag.id)
             self.ui.explorerFilterTags.addItem(tag.label, tag.id)
 
 
-    def populate_music_folders_table(self):
-        music_folders = MusicFolderRepository().get_all()
-        self.ui.settingsMusicFoldersTable.setRowCount(0)
-        self.ui.settingsMusicFoldersTable.setRowCount(len(music_folders))
-
-        music_folder_statuses = [
-            ('Inconnu', ':/img/rsc/unknown.png'),
-            ('Valide', ':/img/rsc/valid.png'),
-            ('Inaccessible', ':/img/rsc/invalid.png')
-        ]
-        for i, music_folder in enumerate(music_folders):
-            self.ui.settingsMusicFoldersTable.setItem(i, 0, QTableWidgetItem(music_folder.id))
-
-            status_lbl, status_pic = music_folder_statuses[music_folder.status]
-            self.ui.settingsMusicFoldersTable.setItem(i, 1, QTableWidgetItem(QIcon(status_pic), status_lbl))
-
-            self.ui.settingsMusicFoldersTable.setItem(i, 2, QTableWidgetItem(music_folder.path))
-
     def addTag(self):
     def addTag(self):
         self.ui.settingsTagsTableWidget.add()
         self.ui.settingsTagsTableWidget.add()
 
 
@@ -265,33 +247,6 @@ class MainWindow(QMainWindow):
         if r:
         if r:
             self.update_meta()
             self.update_meta()
 
 
-    def add_music_folder(self):
-        path = QFileDialog.getExistingDirectory(self, "Sélectionnez le dossier à ajouter")
-        if not path:
-            return
-        path = Path(path)
-
-        repo = MusicFolderRepository()
-
-        music_folders = repo.get_all()
-
-        # for folder in music_folders:
-        #     if path == Path(folder.path):
-        #         QMessageBox.warning(self, "Ajout invalide",  "Ce dossier a déjà été ajouté")
-        #         return
-        #
-        #     if is_subdir_of(path, Path(folder.path)):
-        #         QMessageBox.warning(self, "Ajout invalide",  "Ce dossier est contenu dans un dossier existant")
-        #         return
-
-        folder = MusicFolder(path=path)
-        repo.create(folder, True)
-
-        self.populate_music_folders_table()
-
-    def remove_music_folder(self):
-        pass
-
     def createOrEditPlaylist(self):
     def createOrEditPlaylist(self):
         r = DlgPlaylist.edit(self)
         r = DlgPlaylist.edit(self)
 
 
@@ -406,7 +361,7 @@ class MainWindow(QMainWindow):
         self.refresh_explorer_tree(tracks)
         self.refresh_explorer_tree(tracks)
 
 
     def musicFolderStatusChanged(self, music_folder_id):
     def musicFolderStatusChanged(self, music_folder_id):
-        self.populate_music_folders_table()
+        self.ui.settingsMusicFoldersTable.populate()
 
 
     def currentSettings(self):
     def currentSettings(self):
         volume = self.ui.vlcFrame.volume
         volume = self.ui.vlcFrame.volume

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov