diff --git a/AO2XPbase/icons/arrow_refresh.png b/AO2XPbase/icons/arrow_refresh.png new file mode 100644 index 0000000..0de2656 Binary files /dev/null and b/AO2XPbase/icons/arrow_refresh.png differ diff --git a/gameview.py b/gameview.py index 87b4926..0995429 100644 --- a/gameview.py +++ b/gameview.py @@ -1392,6 +1392,9 @@ class GUI(QtGui.QWidget): self.actMusicDelete.triggered.connect(self.onActMusicDeleteTriggered) self.actMusicDelete.setVisible(False) self.actMusicDelete.setDisabled(True) + self.actMusicRefresh = QtGui.QAction(QtGui.QIcon(AO2XPpath + "icons/" + "arrow_refresh.png"), "&Refresh list", self.tabMusic) + self.actMusicRefresh.triggered.connect(self.onActMusicRefreshTriggered) + self.actMusicRefresh.setVisible(False) self.actMusicSwitchToGlobal = QtGui.QAction(QtGui.QIcon(AO2XPpath + "icons/" + "world.png"), "&View global music list", self.tabMusic) self.actMusicSwitchToGlobal.triggered.connect(self.onActMusicSwitchTriggered) self.actMusicSwitchToGlobal.setVisible(False) @@ -1404,13 +1407,13 @@ class GUI(QtGui.QWidget): self.mnuMusicOptions.addAction(self.actMusicAdd) self.mnuMusicOptions.addAction(self.actMusicEdit) self.mnuMusicOptions.addAction(self.actMusicDelete) + self.mnuMusicOptions.addAction(self.actMusicRefresh) self.mnuMusicOptions.addSeparator() self.mnuMusicOptions.addAction(self.actMusicSwitchToPrivate) self.mnuMusicOptions.addAction(self.actMusicSwitchToGlobal) self.musicListPrivate = {} - if exists(AO2XPpath + "music.ini"): - self.musicListPrivate = ini.sectionless_ini_to_dict(AO2XPpath + "music.ini", QtCore.QString) + self.onActMusicRefreshTriggered(True) # Areas list self.areaItems = QtGui.QListWidget() @@ -1933,7 +1936,6 @@ class GUI(QtGui.QWidget): def onActMusicRandomTriggered(self): _musicList = self.musicListPrivate if self.privateMusicSelected else self.musicList choice = random.randint(0, self.musicItems.count() - 1) - print choice _item = self.musicItems.item(choice) self.musicItems.setCurrentItem(_item) self.actMusicCopy.setDisabled(False) @@ -1954,6 +1956,13 @@ class GUI(QtGui.QWidget): def onActMusicDeleteTriggered(self): pass + def onActMusicRefreshTriggered(self, init=False): + if exists(AO2XPpath + "music.ini"): + self.musicListPrivate = ini.sectionless_ini_to_dict(AO2XPpath + "music.ini", QtCore.QString) + if not init: + self.musicItems.clear() + self.loadAllMusic() + def onActMusicSwitchTriggered(self): self.privateMusicSelected = not self.privateMusicSelected @@ -1961,10 +1970,14 @@ class GUI(QtGui.QWidget): self.actMusicAdd.setVisible(self.privateMusicSelected) self.actMusicEdit.setVisible(self.privateMusicSelected) self.actMusicDelete.setVisible(self.privateMusicSelected) + self.actMusicRefresh.setVisible(self.privateMusicSelected) self.actMusicSwitchToGlobal.setVisible(self.privateMusicSelected) self.actMusicSwitchToPrivate.setVisible(not self.privateMusicSelected) self.musicItems.clear() + self.musicSearch.blockSignals(True) + self.musicSearch.clear() + self.musicSearch.blockSignals(False) self.actMusicCopy.setDisabled(True) self.loadAllMusic()