def GetFiles(self, i, pause_dir): snd_file = self.flist.GetItem(i, 0).GetText() snd_path = os.path.join(self.snd_dir, snd_file) labels_path = mf.get_labels_path(self.snd_dir, i + 1) pause_path = os.path.join(pause_dir, snd_file) return snd_path, labels_path, pause_path
def SetFlistIcon(self): for i in range(self.flist.GetItemCount()): labels_path = mf.get_labels_path(self.snd_dir, i + 1) if os.path.exists(labels_path): image_no = IMG_HAS_LABELS else: image_no = IMG_NO_LABELS self.flist.SetItemImage(i, image_no, image_no)
def OnSelectSnd(self, evt): # 同じファイルは読み直さない if self.conf.list_index == evt.m_itemIndex: return self.ConfirmSave() snd_path = os.path.join(self.snd_dir, evt.GetText()) labels_path = mf.get_labels_path(self.snd_dir, evt.m_itemIndex + 1) self.conf.list_index = evt.m_itemIndex self.SetSound(snd_path, labels_path)
def UpdateFlist(self): ''' 音声ファイル一覧画面を更新する ''' self.ConfirmSave() self.flist.DeleteAllItems() snd_files = mf.get_snd_files(self.snd_dir) if not snd_files: self.conf.list_index = 0 self.snd = None self.view.SetVolume(None) self.view.SetLabels(Labels(), '') self.EnableUI() return snd_files.sort() for i, name in enumerate(snd_files): labels_path = mf.get_labels_path(self.snd_dir, i + 1) if os.path.exists(labels_path): image_no = IMG_HAS_LABELS else: image_no = IMG_NO_LABELS self.flist.InsertImageStringItem(i, name, image_no) list_index = self.conf.list_index list_index = max(0, min(list_index, self.flist.ItemCount - 1)) self.conf.list_index = list_index self.conf.list_index = -1 # OnSelectSndで波形画面を更新するため self.flist.Select(list_index) self.flist.EnsureVisible(list_index) self.flist.SetColumnWidth(0, self.conf.flist_width)