Plano Pro

99

A solução completa para escalar as tuas vendas e equipa.

  • Utilizadores ilimitados
  • Suporte Prioritário 24/7
  • Relatórios em Tempo Real
  • Acesso total à API
Assinar Plano Pro

fgfg

junho 09, 2025

 # Este método deve estar DENTRO da classe EmuladorISOApp

    def importar_iso_dialog(self):

        try:

            indice_aba_ativa = self.notebook.index(self.notebook.select()) # self.notebook ainda é ttk.Notebook nesta fase da conversão

        except tk.TclError: # tk ainda está importado

            messagebox.showerror("Erro", "Nenhuma aba de slot selecionada.")

            return

        

        # _obter_dados_slot_ativo precisa estar definido na classe

        slot_ativo_dados = self._obter_dados_slot_ativo() 

        if not slot_ativo_dados: # Segurança extra

            messagebox.showerror("Erro Interno", "Não foi possível obter dados do slot ativo.")

            return


        tipos_arquivo = (("Arquivos ISO", "*.iso"), ("Todos os arquivos", "*.*"))

        caminho = filedialog.askopenfilename(title=f"Selecionar ISO para Slot {indice_aba_ativa + 1}", filetypes=tipos_arquivo)

        

        if caminho:

            slot_ativo_dados['caminho_iso'] = caminho

            slot_ativo_dados['montado'] = False 

            slot_ativo_dados['letra_drive'] = None

            slot_ativo_dados['rotulo_volume'] = None # Resetar rótulo ao importar novo ISO

            print(f"Slot {indice_aba_ativa}: ISO selecionado: {caminho}")

            

            # atualizar_display_slot e adicionar_iso_ao_historico precisam estar definidos

            self.atualizar_display_slot(indice_aba_ativa) 

            self.adicionar_iso_ao_historico(caminho)

            # self.salvar_configuracoes_ctk() # é chamado dentro de adicionar_iso_ao_historico

        else:

            # Se o usuário cancela, não mudamos o ISO que estava lá, 

            # mas se não havia ISO, atualizamos o display para "Slot Vazio"

            if not slot_ativo_dados.get('caminho_iso'):

                 self.atualizar_display_slot(indice_aba_ativa) # Precisa estar definido

            print(f"Slot {indice_aba_ativa}: Nenhuma ISO selecionada.")