Exemplo n.º 1
0
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Mnemosyn')

        main_layout = QtGui.QHBoxLayout(self)
        kill_theming(main_layout)

        self.taglist, self.tasklist, self.counter \
            = read_tasklist(local_path('tasklist.json'))

        splitter = QtGui.QSplitter(self)
        main_layout.addWidget(splitter)

        # Create right (task) column
        self.date_interval_widget,\
        self.task_list_widget,\
        self.task_input_form,\
        task_column\
            = self.create_right_ui_column(self.tasklist)

        # Create left (tag and calendar) column
        self.tag_list_widget,\
        self.date_interval_input,\
        self.calendar_widget,\
        tag_column,\
            = self.create_left_ui_column(self.task_list_widget.list_items,
                                         self.taglist)

        # Connect slots/signals
        self.task_input_form.task_created.connect(self.task_created)
        self.tag_list_widget.tag_selection_updated.connect(\
                        self.task_list_widget.update_tag_selection)
        self.date_interval_input.interval_entered.connect(\
                        self.set_date_interval)

        splitter.addWidget(tag_column)
        splitter.addWidget(task_column)
        splitter.setStretchFactor(0,0)
        splitter.setStretchFactor(1,1)

        def reload_css():
            with open(local_path('qtstylesheet.css'), encoding='utf8') as f:
                stylesheet = f.read()
            self.setStyleSheet(stylesheet)
        reload_css()

        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+R"), self, reload_css)

        def save_tasks():
            write_tasklist(local_path('tasklist.json'), self.taglist,
                            self.tasklist)

        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+N"), self,
                        lambda: self.task_input_form.activate(self.counter))
        QtGui.QShortcut(QtGui.QKeySequence("Ctrl+S"), self, save_tasks)

        self.show()
        self.resize(800,600)
        splitter.moveSplitter(200,1)
        self.tag_list_widget.update_tag_count()
Exemplo n.º 2
0
 def save_tasks():
     write_tasklist(local_path('tasklist.json'), self.taglist,
                     self.tasklist)
Exemplo n.º 3
0
 def reload_css():
     with open(local_path('qtstylesheet.css'), encoding='utf8') as f:
         stylesheet = f.read()
     self.setStyleSheet(stylesheet)