def _profiles_delete_confirm_callback(dialog, response_id, data): if response_id != gtk.RESPONSE_ACCEPT: dialog.destroy() return user_profiles_view, delete_indexes = data for i in delete_indexes: pname, profile = mltprofiles.get_user_profiles()[i] profile_file_name = pname.lower().replace(os.sep, "_").replace(" ","_") profile_path = utils.get_hidden_user_dir_path() + mltprofiles.USER_PROFILES_DIR + profile_file_name print profile_path try: os.remove(profile_path) except: # This really should not happen print "removed user profile already gone ???" mltprofiles.load_profile_list() user_profiles_view.fill_data_model(mltprofiles.get_user_profiles()) dialog.destroy()
def _save_profile_clicked(widgets, user_profiles_view): load_profile_combo, description, f_rate_num, f_rate_dem, width, height, \ s_rate_num, s_rate_dem, d_rate_num, d_rate_dem, progressive = widgets profile_file_name = description.get_text().lower().replace(os.sep, "_").replace( " ", "_") file_contents = "description=" + description.get_text() + "\n" file_contents += "frame_rate_num=" + f_rate_num.get_text() + "\n" file_contents += "frame_rate_den=" + f_rate_dem.get_text() + "\n" file_contents += "width=" + width.get_text() + "\n" file_contents += "height=" + height.get_text() + "\n" if progressive.get_active() == True: prog_val = "1" else: prog_val = "0" file_contents += "progressive=" + prog_val + "\n" file_contents += "sample_aspect_num=" + s_rate_num.get_text() + "\n" file_contents += "sample_aspect_den=" + s_rate_dem.get_text() + "\n" file_contents += "display_aspect_num=" + d_rate_num.get_text() + "\n" file_contents += "display_aspect_den=" + d_rate_dem.get_text() + "\n" profile_path = userfolders.get_data_dir( ) + mltprofiles.USER_PROFILES_DIR + profile_file_name if os.path.exists(profile_path): dialogutils.warning_message(_("Profile '") + description.get_text() + _("' already exists!"), \ _("Delete profile and save again."), gui.editor_window.window) return profile_file = open(profile_path, "w") profile_file.write(file_contents) profile_file.close() dialogutils.info_message(_("Profile '") + description.get_text() + _("' saved."), \ _("You can now create a new project using the new profile."), gui.editor_window.window) mltprofiles.load_profile_list() render.reload_profiles() user_profiles_view.fill_data_model(mltprofiles.get_user_profiles())
def _save_profile_clicked(widgets, user_profiles_view): load_profile_combo, description, f_rate_num, f_rate_dem, width, height, \ s_rate_num, s_rate_dem, d_rate_num, d_rate_dem, progressive = widgets profile_file_name = description.get_text().lower().replace(os.sep, "_").replace(" ","_") file_contents = "description=" + description.get_text() + "\n" file_contents += "frame_rate_num=" + f_rate_num.get_text() + "\n" file_contents += "frame_rate_den=" + f_rate_dem.get_text() + "\n" file_contents += "width=" + width.get_text() + "\n" file_contents += "height=" + height.get_text() + "\n" if progressive.get_active() == True: prog_val = "1" else: prog_val = "0" file_contents += "progressive=" + prog_val + "\n" file_contents += "sample_aspect_num=" + s_rate_num.get_text() + "\n" file_contents += "sample_aspect_den=" + s_rate_dem.get_text() + "\n" file_contents += "display_aspect_num=" + d_rate_num.get_text() + "\n" file_contents += "display_aspect_den=" + d_rate_dem.get_text() + "\n" profile_path = utils.get_hidden_user_dir_path() + mltprofiles.USER_PROFILES_DIR + profile_file_name if os.path.exists(profile_path): dialogutils.warning_message(_("Profile '") + description.get_text() + _("' already exists!"), \ _("Delete profile and save again."), gui.editor_window.window) return profile_file = open(profile_path, "w") profile_file.write(file_contents) profile_file.close() dialogutils.info_message(_("Profile '") + description.get_text() + _("' saved."), \ _("You can now create a new project using the new profile."), gui.editor_window.window) mltprofiles.load_profile_list() render.reload_profiles() user_profiles_view.fill_data_model(mltprofiles.get_user_profiles())
def _get_user_profiles_panel(): # User profiles view user_profiles_list = guicomponents.ProfileListView() user_profiles_list.fill_data_model(mltprofiles.get_user_profiles()) delete_selected_button = gtk.Button(_("Delete Selected")) user_vbox = gtk.VBox(False, 2) user_vbox.pack_start(user_profiles_list, True, True, 0) user_vbox.pack_start(guiutils.get_right_justified_box([delete_selected_button]), False, False, 0) # Create profile panel default_profile_index = mltprofiles.get_default_profile_index() default_profile = mltprofiles.get_default_profile() load_profile_button = gtk.Button(_("Load Profile Values")) load_profile_combo = gtk.combo_box_new_text() profiles = mltprofiles.get_profiles() for profile in profiles: load_profile_combo.append_text(profile[0]) load_profile_combo.set_active(default_profile_index) description = gtk.Entry() description.set_text("User Created Profile") f_rate_num = gtk.Entry() f_rate_num.set_text(str(25)) f_rate_dem = gtk.Entry() f_rate_dem.set_text(str(1)) width = gtk.Entry() width.set_text(str(720)) height = gtk.Entry() height.set_text(str(576)) s_rate_num = gtk.Entry() s_rate_num.set_text(str(15)) s_rate_dem = gtk.Entry() s_rate_dem.set_text(str(16)) d_rate_num = gtk.Entry() d_rate_num.set_text(str(4)) d_rate_dem = gtk.Entry() d_rate_dem.set_text(str(3)) progressive = gtk.CheckButton() progressive.set_active(False) save_button = gtk.Button(_("Save New Profile")) widgets = (load_profile_combo, description, f_rate_num, f_rate_dem, width, height, s_rate_num, s_rate_dem, d_rate_num, d_rate_dem, progressive) _fill_new_profile_panel_widgets(default_profile, widgets) # build panel profile_row = gtk.HBox(False,0) profile_row.pack_start(load_profile_combo, False, False, 0) profile_row.pack_start(gtk.Label(), True, True, 0) profile_row.pack_start(load_profile_button, False, False, 0) row0 = guiutils.get_two_column_box(gtk.Label(_("Description.:")), description, PROFILE_MANAGER_LEFT) row1 = guiutils.get_two_column_box(gtk.Label(_("Frame rate num.:")), f_rate_num, PROFILE_MANAGER_LEFT) row2 = guiutils.get_two_column_box(gtk.Label(_("Frame rate den.:")), f_rate_dem, PROFILE_MANAGER_LEFT) row3 = guiutils.get_two_column_box(gtk.Label(_("Width:")), width, PROFILE_MANAGER_LEFT) row4 = guiutils.get_two_column_box(gtk.Label(_("Height:")), height, PROFILE_MANAGER_LEFT) row5 = guiutils.get_two_column_box(gtk.Label(_("Sample aspect num.:")), s_rate_num, PROFILE_MANAGER_LEFT) row6 = guiutils.get_two_column_box(gtk.Label(_("Sample aspect den.:")), s_rate_dem, PROFILE_MANAGER_LEFT) row7 = guiutils.get_two_column_box(gtk.Label(_("Display aspect num.:")), d_rate_num, PROFILE_MANAGER_LEFT) row8 = guiutils.get_two_column_box(gtk.Label(_("Display aspect den.:")), d_rate_dem, PROFILE_MANAGER_LEFT) row9 = guiutils.get_two_column_box(gtk.Label(_("Progressive:")), progressive, PROFILE_MANAGER_LEFT) save_row = gtk.HBox(False,0) save_row.pack_start(gtk.Label(), True, True, 0) save_row.pack_start(save_button, False, False, 0) create_vbox = gtk.VBox(False, 2) create_vbox.pack_start(profile_row, False, False, 0) create_vbox.pack_start(guiutils.get_pad_label(10, 10), False, False, 0) create_vbox.pack_start(row0, False, False, 0) create_vbox.pack_start(row1, False, False, 0) create_vbox.pack_start(row2, False, False, 0) create_vbox.pack_start(row3, False, False, 0) create_vbox.pack_start(row4, False, False, 0) create_vbox.pack_start(row5, False, False, 0) create_vbox.pack_start(row6, False, False, 0) create_vbox.pack_start(row7, False, False, 0) create_vbox.pack_start(row8, False, False, 0) create_vbox.pack_start(row9, False, False, 0) create_vbox.pack_start(guiutils.get_pad_label(10, 10), False, False, 0) create_vbox.pack_start(save_row, False, False, 0) # callbacks load_profile_button.connect("clicked",lambda w,e: _load_values_clicked(widgets), None) save_button.connect("clicked",lambda w,e: _save_profile_clicked(widgets, user_profiles_list), None) delete_selected_button.connect("clicked",lambda w,e: _delete_user_profiles_clicked(user_profiles_list), None) vbox = gtk.VBox(False, 2) vbox.pack_start(guiutils.get_named_frame(_("Create User Profile"), create_vbox), False, False, 0) vbox.pack_start(guiutils.get_named_frame(_("User Profiles"), user_vbox), True, True, 0) return (vbox, user_profiles_list)