Exemple #1
0
    def insert_color(self, text):
        window = pluma.app_get_default().get_active_window()
        view = window.get_active_view()

        if not view or not view.get_editable():
            return

        doc = view.get_buffer()

        if not doc:
            return

        doc.begin_user_action()

        # Get the color
        bounds = self.get_color_position(doc)

        if not bounds:
            doc.delete_selection(False, True)
        else:
            doc.delete(bounds[0], bounds[1])

        doc.insert_at_cursor('#' + text)

        doc.end_user_action()
    def _save_tabs(self): # Save opened tabs in configuration file
        self._config.add_section("documents")
        
        # Get active document
        app = pluma.app_get_default()
        win = app.get_active_window()
    
        doc = win.get_active_document()
        if doc:
            cur_uri = doc.get_uri()
        else:
            cur_uri = None
        
        doc = None
        
        # Create new document list
        n = 1
        for uri in self._docs:
            # Setup option name
            name = "document" + str(n).rjust(3).replace(" ", "0")
        
            # Check if current document is active
            if uri == cur_uri:
                doc = name

            self._config.set("documents", name, uri)
            n = n + 1

        # Remeber active document
        if doc:
            self._config.set("common", "active_document", doc)
 def _get_doc_list(self):
     # Get document URI list
     app  = pluma.app_get_default()
     win  = app.get_active_window()
     docs = win.get_documents()
     
     # Return list of documents which having URI's
     return [d.get_uri() for d in docs if d.get_uri()]
 def _on_doc_loaded(self, doc, arg): # Switches to saved active document tab
     # Activate tab
     app = pluma.app_get_default()
     win = app.get_active_window()
     win.set_active_tab(self._active_tab)
     
     # Close empty tab if any
     if self._empty_tab:
         win.close_tab(self._empty_tab)
    def lookup(self, path):
        if path.startswith('/'):
            return None

        for doc in pluma.app_get_default().get_documents():
            if doc.is_local():
                location = doc.get_location()
                if location and location.get_uri().endswith(path):
                    return location
        return None
Exemple #6
0
    def lookup(self, path):
        if path.startswith("/"):
            return None

        for doc in pluma.app_get_default().get_documents():
            if doc.is_local():
                location = doc.get_location()
                if location and location.get_uri().endswith(path):
                    return location
        return None
Exemple #7
0
        def create_configure_dialog(self):
                if not self.dlg:
                        self.dlg = Manager(self.get_data_dir())
                else:
                        self.dlg.run()

                window = pluma.app_get_default().get_active_window()

                if window:
                        self.dlg.dlg.set_transient_for(window)

                return self.dlg.dlg
    def __init__(self, main_widget, datadir, parent_window=None):
        super(Dialog, self).__init__()

        if parent_window is None:
            parent_window = pluma.app_get_default().get_active_window()
        self.parent = parent_window

        self.ui = gtk.Builder()
        self.ui.add_from_file(os.path.join(datadir, self.UI_FILE))
        self.ui.set_translation_domain(domain=GETTEXT_PACKAGE)
        self.dialog = self.ui.get_object(main_widget)
        self.dialog.connect('delete-event', self.on_delete_event)
    def create_configure_dialog(self):
        if not self.dlg:
            self.dlg = Manager(self.get_data_dir())
        else:
            self.dlg.run()

        window = pluma.app_get_default().get_active_window()

        if window:
            self.dlg.dlg.set_transient_for(window)

        return self.dlg.dlg
    def __init__(self, main_widget, datadir, parent_window = None):
        super(Dialog, self).__init__()

        if parent_window is None:
            parent_window = pluma.app_get_default().get_active_window()
        self.parent = parent_window

        self.ui = gtk.Builder()
        self.ui.add_from_file(os.path.join(datadir, self.UI_FILE))
        self.ui.set_translation_domain(domain=GETTEXT_PACKAGE)
        self.dialog = self.ui.get_object(main_widget)
        self.dialog.connect('delete-event', self.on_delete_event)
Exemple #11
0
    def load_session(self, session, window=None):
        # Note: a session has to stand on its own window.
        app = pluma.app_get_default()

        if window is None:
            window = app.get_active_window()

        tab = window.get_active_tab()
        if tab is not None and not (tab.get_document().is_untouched() and tab.get_state() == pluma.TAB_STATE_NORMAL):
            window = app.create_window()
            window.show()

        pluma.commands.load_uris(window, session.files, None, 0)
Exemple #12
0
    def get_current_color(self):
        window = pluma.app_get_default().get_active_window()
        doc = window.get_active_document()

        if not doc:
            return None

        bounds = self.get_color_position(doc)

        if bounds:
            return doc.get_text(bounds[0], bounds[1])
        else:
            return None
    def open_dialog(self):
        if not self._manager:
            self._manager = Manager(self.get_data_dir())

            if self._manager_default_size:
                self._manager.dialog.set_default_size(*self._manager_default_size)

            self._manager.dialog.connect('destroy', self.on_manager_destroy)

        window = pluma.app_get_default().get_active_window()
        self._manager.run(window)

        return self._manager.dialog
    def lookup(self, path):
        if path.startswith('/'):
            return None

        for doc in pluma.app_get_default().get_documents():
            if doc.is_local():
                location = doc.get_location()
                if location:
                    rel_path = location.get_parent().get_path()
                    joined_path = os.path.join(rel_path, path)
                    if os.path.isfile(joined_path):
                        return gio.File(joined_path)

        return None
Exemple #15
0
    def lookup(self, path):
        if path.startswith("/"):
            return None

        for doc in pluma.app_get_default().get_documents():
            if doc.is_local():
                location = doc.get_location()
                if location:
                    rel_path = location.get_parent().get_path()
                    joined_path = os.path.join(rel_path, path)
                    if os.path.isfile(joined_path):
                        return gio.File(joined_path)

        return None
Exemple #16
0
    def load_session(self, session, window=None):
        # Note: a session has to stand on its own window.
        app = pluma.app_get_default()

        if window is None:
            window = app.get_active_window()

        tab = window.get_active_tab()
        if tab is not None and \
           not (tab.get_document().is_untouched() and \
                tab.get_state() == pluma.TAB_STATE_NORMAL):
            window = app.create_window()
            window.show()

        pluma.commands.load_uris(window, session.files, None, 0)
Exemple #17
0
 def get_instance(self):
     window = pluma.app_get_default().get_active_window()
     return self._instances[window], window
    def on_tool_manager_dialog_focus_out(self, dialog, event):
        self.save_current_tool()

        for window in pluma.app_get_default().get_windows():
            helper = window.get_data("ExternalToolsPluginWindowData")
            helper.menu.update()
Exemple #19
0
 def update_session_menu(self):
     for window in pluma.app_get_default().get_windows():
         window.get_data(self.WINDOW_DATA_KEY).update_session_menu()
Exemple #20
0
        def build_model(self, force_reload = False):
                window = pluma.app_get_default().get_active_window()
                
                if window:
                        view = window.get_active_view()

                        if not view:
                                current_lang = None
                        else:
                                current_lang = view.get_buffer().get_language()
                                source_view = self['source_view_snippet']

                else:
                        current_lang = None

                tree_view = self['tree_view_snippets']
                expand = None
                
                if not self.model or force_reload:
                        self.model = gtk.TreeStore(str, str, object)
                        self.model.set_sort_column_id(self.SORT_COLUMN, gtk.SORT_ASCENDING)
                        manager = get_language_manager()
                        langs = pluma.language_manager_list_languages_sorted(manager, True)
                        
                        piter = self.model.append(None, (_('Global'), '', None))
                        # Add dummy node
                        self.model.append(piter, ('', '', None))
                        
                        nm = None
                        
                        if current_lang:
                                nm = current_lang.get_name()
                
                        for lang in langs:
                                name = lang.get_name()
                                parent = self.model.append(None, (name, name, lang))

                                # Add dummy node
                                self.model.append(parent, ('', '', None))

                                if (nm == name):
                                        expand = parent
                else:
                        if current_lang:
                                piter = self.model.get_iter_first()
                                nm = current_lang.get_name()
                                
                                while piter:
                                        lang = self.model.get_value(piter, \
                                                        self.SORT_COLUMN)
                                        
                                        if lang == nm:
                                                expand = piter
                                                break;
                                                
                                        piter = self.model.iter_next(piter)

                tree_view.set_model(self.model)
                
                if not expand:
                        expand = self.model.get_iter_root()
                        
                tree_view.expand_row(self.model.get_path(expand), False)
                self.select_iter(expand)
Exemple #21
0
	def get_instance(self):
		window = pluma.app_get_default().get_active_window()
		return self._instances[window], window
Exemple #22
0
    def build_model(self, force_reload=False):
        window = pluma.app_get_default().get_active_window()

        if window:
            view = window.get_active_view()

            if not view:
                current_lang = None
            else:
                current_lang = view.get_buffer().get_language()
                source_view = self['source_view_snippet']

        else:
            current_lang = None

        tree_view = self['tree_view_snippets']
        expand = None

        if not self.model or force_reload:
            self.model = gtk.TreeStore(str, str, object)
            self.model.set_sort_column_id(self.SORT_COLUMN, gtk.SORT_ASCENDING)
            manager = get_language_manager()
            langs = pluma.language_manager_list_languages_sorted(manager, True)

            piter = self.model.append(None, (_('Global'), '', None))
            # Add dummy node
            self.model.append(piter, ('', '', None))

            nm = None

            if current_lang:
                nm = current_lang.get_name()

            for lang in langs:
                name = lang.get_name()
                parent = self.model.append(None, (name, name, lang))

                # Add dummy node
                self.model.append(parent, ('', '', None))

                if (nm == name):
                    expand = parent
        else:
            if current_lang:
                piter = self.model.get_iter_first()
                nm = current_lang.get_name()

                while piter:
                    lang = self.model.get_value(piter, \
                                    self.SORT_COLUMN)

                    if lang == nm:
                        expand = piter
                        break

                    piter = self.model.iter_next(piter)

        tree_view.set_model(self.model)

        if not expand:
            expand = self.model.get_iter_root()

        tree_view.expand_row(self.model.get_path(expand), False)
        self.select_iter(expand)
Exemple #23
0
 def update_session_menu(self):
     for window in pluma.app_get_default().get_windows():
         window.get_data(self.WINDOW_DATA_KEY).update_session_menu()
Exemple #24
0
    def on_tool_manager_dialog_focus_out(self, dialog, event):
        self.save_current_tool()

        for window in pluma.app_get_default().get_windows():
            helper = window.get_data("ExternalToolsPluginWindowData")
            helper.menu.update()