コード例 #1
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def toggleComment(*args):
    """ Toggle comments on selected rows based on the first row """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    file, lModel = getCurrentFile()
    comment = True
    # Is anything even selected?
    if len(rowReferences) == 0:
        return
    # Lets see what the first comment is
    ref = rowReferences[0]
    iter = model.get_iter(ref.get_path())
    cText = model.get_value(iter, L_NAME)
    if cText.startswith("#"):
        comment = False
    # Lets proceed now
    if comment:  # Comment all lines
        for ref in rowReferences:
            iter = model.get_iter(ref.get_path())
            cText = model.get_value(iter, L_NAME)
            if not cText.startswith("#"):
                model.set_value(iter, L_NAME, "#" + cText)
    else:  # Uncomment all lines
        for ref in rowReferences:
            iter = model.get_iter(ref.get_path())
            cText = model.get_value(iter, L_NAME)
            if cText.startswith("#"):
                model.set_value(iter, L_NAME, cText[1:])
    fileEdited(file)
コード例 #2
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def edited_cb(cell, path, new_text, col):
    """ Indicate file has been edited """
    model = rightview.get_model()
    model[path][col] = new_text
    file = model[path][L_REF]
    # Indicate file status in TreeView
    fileEdited(file)
コード例 #3
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def insertRow(arg):
    """ Insert row below selected row(s) """
    rowReferences = getMultiSelection(rightview)
    try:
        lastRowSelectedPath = rowReferences[-1].get_path()
        model = rowReferences[-1].get_model()
    except:
        # Well, we got a blank file
        PackageFile, lModel = getCurrentFile()
        if PackageFile == None:  # No file is actually selected
            return
        model = rightview.get_model()
        if model == None:  # A folder is selected
            return
        newRow = model.append(["", "", PackageFile])
        # Set the cursor on the new row and start editing the name column
        path = model.get_path(newRow)
        rightview.set_cursor(path, namecol, True)
        # Fire off the edited methods
        fileEdited(PackageFile)
        return

    lastRowIter = model.get_iter(lastRowSelectedPath)
    # We need to link this new row with its PackageFile Object
    PackageFile = model.get_value(lastRowIter, L_REF)
    # Insert into the model
    newRow = model.insert_after(lastRowIter, ["", "", PackageFile])
    # Set the cursor on the new row and start editing the name column
    path = model.get_path(newRow)
    rightview.set_cursor(path, namecol, True)
    # Fire off the edited methods
    fileEdited(PackageFile)
コード例 #4
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def insertRow(arg):
    """ Insert row below selected row(s) """
    rowReferences = getMultiSelection(rightview)
    try:
        lastRowSelectedPath = rowReferences[-1].get_path()
        model = rowReferences[-1].get_model()
    except:
        # Well, we got a blank file
        PackageFile, lModel = getCurrentFile()
        if PackageFile == None: # No file is actually selected
            return
        model = rightview.get_model()
        if model == None: # A folder is selected
            return
        newRow = model.append(["", "", PackageFile])
        # Set the cursor on the new row and start editing the name column
        path = model.get_path(newRow)
        rightview.set_cursor(path, namecol, True)
        # Fire off the edited methods
        fileEdited(PackageFile)
        return
    
    lastRowIter = model.get_iter(lastRowSelectedPath)
    # We need to link this new row with its PackageFile Object
    PackageFile = model.get_value(lastRowIter, L_REF)
    # Insert into the model
    newRow = model.insert_after(lastRowIter, ["", "", PackageFile])
    # Set the cursor on the new row and start editing the name column
    path = model.get_path(newRow)
    rightview.set_cursor(path, namecol, True)
    # Fire off the edited methods
    fileEdited(PackageFile)
コード例 #5
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def toggleComment(*args):
    """ Toggle comments on selected rows based on the first row """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    file, lModel = getCurrentFile()
    comment = True
    # Is anything even selected?
    if len(rowReferences) == 0:
        return
    # Lets see what the first comment is
    ref = rowReferences[0]
    iter = model.get_iter(ref.get_path())
    cText = model.get_value(iter, L_NAME)
    if cText.startswith("#"):
        comment = False
    # Lets proceed now
    if comment: # Comment all lines
        for ref in rowReferences:
            iter = model.get_iter(ref.get_path())
            cText = model.get_value(iter, L_NAME)
            if not cText.startswith("#"):
                model.set_value(iter, L_NAME, "#"+cText)
    else: # Uncomment all lines
        for ref in rowReferences:
            iter = model.get_iter(ref.get_path())
            cText = model.get_value(iter, L_NAME)
            if cText.startswith("#"):
                model.set_value(iter, L_NAME, cText[1:])
    fileEdited(file)
コード例 #6
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def edited_cb(cell, path, new_text, col):
    """ Indicate file has been edited """
    model = rightview.get_model()
    model[path][col] = new_text
    file = model[path][L_REF]
    # Indicate file status in TreeView
    fileEdited(file)
コード例 #7
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def deleteRow(arg):
    """ Delete selected row(s) """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    PackageFile, lModel = getCurrentFile()
    for ref in rowReferences:
        iter = model.get_iter(ref.get_path())
        model.remove(iter)
    # If nothing is deleted we shouldn't show
    if len(rowReferences) > 0:
        fileEdited(PackageFile)
コード例 #8
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def deleteRow(arg):
    """ Delete selected row(s) """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    PackageFile, lModel = getCurrentFile()
    for ref in rowReferences:
        iter = model.get_iter(ref.get_path())
        model.remove(iter)
    # If nothing is deleted we shouldn't show 
    if len(rowReferences) > 0:
        fileEdited(PackageFile)
コード例 #9
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def uncommentRow(window):
    """ Uncomment selected row(s) """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    PackageFile, lModel = getCurrentFile()
    # Is anything even selected?
    if len(rowReferences) == 0:
        return
    for ref in rowReferences:
        iter = model.get_iter(ref.get_path())
        cText = model.get_value(iter, L_NAME)
        if cText.startswith("#"):
            model.set_value(iter, L_NAME, cText[1:])
    fileEdited(PackageFile)
コード例 #10
0
ファイル: rightpanel.py プロジェクト: Ken69267/gpytage
def uncommentRow(window):
    """ Uncomment selected row(s) """
    rowReferences = getMultiSelection(rightview)
    model = rightview.get_model()
    PackageFile, lModel = getCurrentFile()
    # Is anything even selected?
    if len(rowReferences) == 0:
        return
    for ref in rowReferences:
        iter = model.get_iter(ref.get_path())
        cText = model.get_value(iter, L_NAME)
        if cText.startswith("#"):
            model.set_value(iter, L_NAME, cText[1:])
    fileEdited(PackageFile)
コード例 #11
0
ファイル: clipboard.py プロジェクト: Ken69267/gpytage
    def pasteClipboard(self, rightview):
        """ Pastes the clipboard below the current selection """
        rowReferences = getMultiSelection(rightview)
        model = rightview.get_model()

        # Grab the actual clipboard text
        clipText = self.clipboard.wait_for_text()

        # Get a list to store into the PackageFile
        newData = self.__formatPaste(clipText)

        try:
            # A row has been selected and we should paste below it
            lastRowSelectedPath = rowReferences[-1].get_path()

            lastRowIter = model.get_iter(lastRowSelectedPath)
            # We need to link this new row with its PackageFile Object
            PackageFile = model.get_value(lastRowIter, L_REF)

            for row in newData:
                #insert the new row
                newRow = model.insert_after(lastRowIter,
                                            [row[0], row[1], PackageFile])
                newPath = model.get_path(newRow)
                lastRowIter = model.get_iter(newPath)

        except IndexError:
            # No row selected
            PackageFile, lModel = getCurrentFile()

            for row in newData:
                #insert the new row
                newRow = model.append([row[0], row[1], PackageFile])

            # Fire off the edited methods
            from fileOperations import fileEdited
            fileEdited(PackageFile)
コード例 #12
0
ファイル: clipboard.py プロジェクト: Ken69267/gpytage
    def pasteClipboard(self, rightview):
        """ Pastes the clipboard below the current selection """
        rowReferences = getMultiSelection(rightview)
        model = rightview.get_model()

        # Grab the actual clipboard text
        clipText = self.clipboard.wait_for_text()

        # Get a list to store into the PackageFile
        newData = self.__formatPaste(clipText)

        try:
            # A row has been selected and we should paste below it
            lastRowSelectedPath = rowReferences[-1].get_path()
            
            lastRowIter = model.get_iter(lastRowSelectedPath)
            # We need to link this new row with its PackageFile Object
            PackageFile = model.get_value(lastRowIter, L_REF)

            for row in newData:
                #insert the new row
                newRow = model.insert_after(lastRowIter, [row[0], row[1], PackageFile])
                newPath = model.get_path(newRow)
                lastRowIter = model.get_iter(newPath)

        except IndexError:
            # No row selected
            PackageFile, lModel = getCurrentFile()

            for row in newData:
                #insert the new row
                newRow = model.append([row[0], row[1], PackageFile])

            # Fire off the edited methods
            from fileOperations import fileEdited
            fileEdited(PackageFile)