def run(parent=None): builder = CreateNotebookBuilder() builder.dialog.set_transient_for(parent) result_window = None while True: response = builder.dialog.run() if response == 0: # gtk-builder-convert puts check/radio buttons in action-widgets continue if response != gtk.RESPONSE_OK: break raw_name = builder.name_entry.get_text() raw_name = reunicode.canonicalize_filename(raw_name) error_message = None error_detail = None try: name = reunicode.validate_name(raw_name) except ValueError, e: error_message = "<big><b>Please choose a different name</b></big>" error_detail = e.message if error_message is None: if builder.other_folder_radio_button.get_active(): parent_folder = builder.other_folder_chooser.get_filename() else: parent_folder = global_settings.notebooks_dir fullname = os.path.join(parent_folder, name) if os.path.exists(fullname): error_message = "<big><b>Please choose a different name</b></big>" error_detail = "'%s' already exists" % name if error_message is None: try: builder.dialog.hide() description = builder.description_text_view.get_buffer( ).props.text.strip() result_window = application.create_notebook( fullname, description=description) except OSError, e: builder.dialog.show() error_message = "<big><b>Error creating notebook</b></big>" error_detail = e.message
def run(parent=None): builder = CreateNotebookBuilder() builder.dialog.set_transient_for(parent) result_window = None while True: response = builder.dialog.run() if response == 0: # gtk-builder-convert puts check/radio buttons in action-widgets continue if response != gtk.RESPONSE_OK: break raw_name = builder.name_entry.get_text() raw_name = reunicode.canonicalize_filename(raw_name) error_message = None error_detail = None try: name = reunicode.validate_name(raw_name) except ValueError, e: error_message = "<big><b>Please choose a different name</b></big>" error_detail = e.message if error_message is None: if builder.other_folder_radio_button.get_active(): parent_folder = builder.other_folder_chooser.get_filename() else: parent_folder = global_settings.notebooks_dir fullname = os.path.join(parent_folder, name) if os.path.exists(fullname): error_message = "<big><b>Please choose a different name</b></big>" error_detail = "'%s' already exists" % name if error_message is None: try: builder.dialog.hide() description = builder.description_text_view.get_buffer().props.text.strip() result_window = application.create_notebook(fullname, description=description) except OSError, e: builder.dialog.show() error_message = "<big><b>Error creating notebook</b></big>" error_detail = e.message
def _validate_name(cls, name): return reunicode.validate_name(name)