Ejemplo n.º 1
0
 def showDetails(self):
     sender = self.sender()
     self.current_preview = Preview(project=sender.project)
     self.current_preview.show()
Ejemplo n.º 2
0
 def showDetails(self):
     sender = self.sender()
     self.current_preview = Preview(project=sender.project)
     self.current_preview.show()
Ejemplo n.º 3
0
class ProjectSelector(QtGui.QWidget):
    def __init__(self, projects, parent=None):
        super(ProjectSelector, self).__init__(parent)
        self.projects = projects
        self.layout = QtGui.QGridLayout(self)
        self.init()

    def init(self):
        button_size = 180
        self.current_preview = None

        # Auto select number of lines and columns to display
        # Here number of lines <= number of columns
        # <=4 -> 2x2 or 2x1, <=9 -> 3x3 or 3x2, <=16 -> 4x4 or 4x3, ...
        nb_proj = len(self.projects)
        # maxcolumn = int(sqrt(nb_proj))

        # Pb: we want the size of QScrollArea and not self
        actual_width = self.size().width()
        maxcolumn = int(actual_width / nb_proj)

        if maxcolumn > 5:
            maxcolumn = 5

        refresh_widget = QtGui.QPushButton("Refresh")
        refresh_widget.clicked.connect(self.refresh_project_list)
        add_widget = QtGui.QPushButton("Search Projects")
        add_widget.clicked.connect(self.add_path_to_search_project)

        i, j = 1, -1
        for project in self.projects:
            # Create widget
            preview_widget = ProjectPushButton(project, size=button_size)
            preview_widget.clicked.connect(self.showDetails)

            if j < maxcolumn - 1:
                j += 1
            else:
                j = 0
                i += 1
            self.layout.addWidget(preview_widget, i, j)

        self.layout.addWidget(refresh_widget, 0, 0)
        self.layout.addWidget(add_widget, 0, 1)

    def showDetails(self):
        sender = self.sender()
        self.current_preview = Preview(project=sender.project)
        self.current_preview.show()

    def refresh_project_list(self):
        project_manager = ProjectManager()
        project_manager.discover()
        self.projects = project_manager.projects
        self.init()

    def add_path_to_search_project(self):
        fname = self.showOpenProjectDialog()
        if fname:
            pm = ProjectManager()
            pm.repositories.append(fname)
            pm.write_settings()
            self.refresh_project_list()

    def showOpenProjectDialog(self):
        fname = QtGui.QFileDialog.getExistingDirectory(
            self, 'Select Directory to search Projects', None)
        return fname
Ejemplo n.º 4
0
class ProjectSelector(QtGui.QWidget):

    def __init__(self, projects, parent=None):
        super(ProjectSelector, self).__init__(parent)
        self.projects = projects
        self.layout = QtGui.QGridLayout(self)
        self.init()

    def init(self):
        button_size = 180
        self.current_preview = None

        # Auto select number of lines and columns to display
        # Here number of lines <= number of columns
        # <=4 -> 2x2 or 2x1, <=9 -> 3x3 or 3x2, <=16 -> 4x4 or 4x3, ...
        nb_proj = len(self.projects)
        # maxcolumn = int(sqrt(nb_proj))

        # Pb: we want the size of QScrollArea and not self
        actual_width = self.size().width()
        maxcolumn = int(actual_width / nb_proj)

        if maxcolumn > 5:
            maxcolumn = 5

        refresh_widget = QtGui.QPushButton("Refresh")
        refresh_widget.clicked.connect(self.refresh_project_list)
        add_widget = QtGui.QPushButton("Search Projects")
        add_widget.clicked.connect(self.add_path_to_search_project)

        i, j = 1, -1
        for project in self.projects:
            # Create widget
            preview_widget = ProjectPushButton(project, size=button_size)
            preview_widget.clicked.connect(self.showDetails)

            if j < maxcolumn - 1:
                j += 1
            else:
                j = 0
                i += 1
            self.layout.addWidget(preview_widget, i, j)

        self.layout.addWidget(refresh_widget, 0, 0)
        self.layout.addWidget(add_widget, 0, 1)

    def showDetails(self):
        sender = self.sender()
        self.current_preview = Preview(project=sender.project)
        self.current_preview.show()

    def refresh_project_list(self):
        project_manager = ProjectManager()
        project_manager.discover()
        self.projects = project_manager.projects
        self.init()

    def add_path_to_search_project(self):
        fname = self.showOpenProjectDialog()
        if fname:
            pm = ProjectManager()
            pm.repositories.append(fname)
            pm.write_settings()
            self.refresh_project_list()

    def showOpenProjectDialog(self):
        fname = QtGui.QFileDialog.getExistingDirectory(self, 'Select Directory to search Projects', None)
        return fname