Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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)
Example #7
0
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)
Example #8
0
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)
Example #9
0
    def copyToClipboard(self, rightview):
        """ Copies selected rows into the clipboard """
        selectedRefs = getMultiSelection(rightview)
        if len(selectedRefs) == 0:
            return
        model = rightview.get_model()

        clipText = ""

        for ref in selectedRefs:
            iter = model.get_iter(ref.get_path())
            c1 = model.get_value(iter, L_NAME)
            c2 = model.get_value(iter, L_FLAGS)
            clipText += c1 + ' ' + c2 + '\n'

        self.clipboard.set_text(clipText, -1)
Example #10
0
    def copyToClipboard(self, rightview):
        """ Copies selected rows into the clipboard """
        selectedRefs = getMultiSelection(rightview)
        if len(selectedRefs) == 0:
            return
        model = rightview.get_model()

        clipText = ""

        for ref in selectedRefs:
            iter = model.get_iter(ref.get_path())
            c1 = model.get_value(iter, L_NAME)
            c2 = model.get_value(iter, L_FLAGS)
            clipText += c1 + ' ' + c2 + '\n'

        self.clipboard.set_text(clipText, -1)
Example #11
0
 def key(self, widget, event):
     if event.keyval == gtk.gdk.keyval_from_name("Tab"): 
         # Save any current editing changes to the cell
         widget.editing_done()
         # Now it's time to move our edit to the next appropriate cell
         # If we are editing col 1 of a row, we should switch to editing col2, but
         # if we are editing col2 of a row, we should switch to editing col1 of the
         # next row
         model = rightview.get_model()
         refs = getMultiSelection(rightview)
         path = refs[-1].get_path()
         if self.col == L_NAME: # We are editing col 1
             rightview.set_cursor_on_cell(path, rightview.get_column(L_FLAGS), None, True)
         elif self.col == L_FLAGS: # We are editing col2
             nextRow = model.iter_next(model.get_iter(path)) # iter to next row
             if nextRow != None:
                 rightview.set_cursor_on_cell(model.get_path(nextRow),
                         rightview.get_column(L_NAME), None, True)
Example #12
0
 def key(self, widget, event):
     if event.keyval == gtk.gdk.keyval_from_name("Tab"):
         # Save any current editing changes to the cell
         widget.editing_done()
         # Now it's time to move our edit to the next appropriate cell
         # If we are editing col 1 of a row, we should switch to editing col2, but
         # if we are editing col2 of a row, we should switch to editing col1 of the
         # next row
         model = rightview.get_model()
         refs = getMultiSelection(rightview)
         path = refs[-1].get_path()
         if self.col == L_NAME:  # We are editing col 1
             rightview.set_cursor_on_cell(path,
                                          rightview.get_column(L_FLAGS),
                                          None, True)
         elif self.col == L_FLAGS:  # We are editing col2
             nextRow = model.iter_next(
                 model.get_iter(path))  # iter to next row
             if nextRow != None:
                 rightview.set_cursor_on_cell(model.get_path(nextRow),
                                              rightview.get_column(L_NAME),
                                              None, True)
Example #13
0
    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)
Example #14
0
    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)