Esempio n. 1
0
    def __create_file_menu(self):
        """File"""

        file_menu = self.menu.addMenu("Файл")

        #--- act_hide
        add_todo_action = QAction("Добавить", self.parent)
        # add_todo_action.setShortcut("Ctrl+Q")
        add_todo_action.setStatusTip("Новое задание")
        add_todo_action.setIcon(QIcon(get_icon("add.png")))
        add_todo_action.triggered.connect(self.show_add_todo)
        file_menu.addAction(add_todo_action)

        #--- act_hide
        hide_action = QAction("Скрыть", self.parent)
        # hide_action.setShortcut("Ctrl+Q")
        hide_action.setStatusTip("Скрыть приложение")
        hide_action.setIcon(QIcon(get_icon("close_hide.png")))
        hide_action.triggered.connect(self.hide_window)
        file_menu.addAction(hide_action)

        file_menu.addSeparator()

        #--- act_exit
        exit_action = QAction("&Закрыть", self.parent)
        exit_action.setShortcut("Ctrl+Q")
        exit_action.setStatusTip("Закрыть приложение")
        exit_action.setIcon(QIcon(get_icon("delete.png")))
        exit_action.triggered.connect(self.exit)
        file_menu.addAction(exit_action)
Esempio n. 2
0
    def show_cmenu(self, event):

        if self.current_item_id is None:
            return event.ignore()

        menu = QMenu()

        edit = QAction("Изменить", self)
        edit.setIcon(QIcon(get_icon("edit.png")))

        remove = QAction("Удалить", self)
        remove.setIcon(QIcon(get_icon("delete.png")))

        menu.addAction(edit)
        menu.addSeparator()

        statuses = QMenu("Изменить статус")
        statuses.setIcon(QIcon(get_icon("edit.png")))
        menu.addMenu(statuses)

        for st_int in sorted(TODO_STATUSES.keys()):
            st_str = TODO_STATUSES[st_int]
            action = QAction(st_str, self)
            action.setIcon(QIcon(get_status_icon(st_int)))
            action.triggered.connect(lambda x, z=st_int: self.change_status(z))
            statuses.addAction(action)

        priority = QMenu("Изменить приоритет")
        priority.setIcon(QIcon(get_icon("edit.png")))
        menu.addMenu(priority)

        for pr_int in sorted(TODO_PRIORITYES.keys()):
            pr_str = TODO_PRIORITYES[pr_int]
            action = QAction(pr_str, self)
            action.setIcon(QIcon(get_priority_icon(pr_int)))
            action.triggered.connect(
                lambda x, z=pr_int: self.change_priority(z))
            priority.addAction(action)

        menu.addSeparator()
        menu.addAction(remove)

        action = menu.exec_(event.globalPos())
        # action = menu.exec_(event)

        if action == edit:
            self.show_edit()
        elif action == remove:
            self.show_remove()
        else:
            pass
Esempio n. 3
0
    def __create_help_menu(self):
        """Справка"""

        help_menu = self.menu.addMenu("Справка")

        #--- about
        help_menu_about = QAction("О программе", self.parent)
        help_menu_about.setIcon(QIcon(get_icon("about.png")))
        help_menu_about.triggered.connect(self.show_about)
        help_menu.addAction(help_menu_about)
Esempio n. 4
0
    def __init__(self, icon, parent):
        super(SystemTray, self).__init__(icon, parent)

        self.setToolTip("DToDo")

        self.parent = parent
        self.menu = QMenu(parent)
        self.setContextMenu(self.menu)
        self.is_messages_support = self.supportsMessages()
        self.delay = 5000  # время отображения всплывающего сообщения ms
        self.is_hidden = False

        #--- статусы иконок
        self.statuses = {"normal": 0, "info": 1, "warning": 2, "error": 3}

        #--- act_exit menu
        self.hide_action = self.menu.addAction("Скрыть")
        self.hide_action.setIcon(QIcon(get_icon("close_hide.png")))
        self.hide_action.triggered.connect(self.hide_window)

        self.show_action = self.menu.addAction("Отобразить")
        self.show_action.setIcon(QIcon(get_icon("open_show.png")))
        self.show_action.triggered.connect(self.show_window)

        self.menu.addSeparator()

        #--- act_exit menu
        exit_action = self.menu.addAction("Закрыть")
        exit_action.setIcon(QIcon(get_icon("delete.png")))
        exit_action.triggered.connect(self.parent.act_exit)

        #--- подписываемся на события системного трея
        # events.on("show_tray_message", self.show_message)

        self.parent.bus.connect(self.__on_bus_message)

        self.update_menu()
Esempio n. 5
0
	def __init__(self, parent=None):
		super(ModalAbout, self).__init__(parent)

		self.setFixedHeight(200)
		self.setFixedWidth(300)

		self.setWindowTitle("О программе")


		self.main_layout = QVBoxLayout(self)



		text_name = "<b>DToDo</b> v {}".format(VERSION)
		text_copyright = "Copyright © 2018 {}".format(EMAIL)

		label_name = QLabel(text_name)
		label_description = QLabel(DESCRIPTION)
		label_description.setWordWrap(True)
		label_copy = QLabel(text_copyright)

		label_link = QLabel()
		label_link.setText("<a href='{}'>{}</a>".format(REPO_URL, REPO_URL))
		label_link.setTextInteractionFlags(Qt.TextBrowserInteraction)
		label_link.setOpenExternalLinks(True)

		self.main_layout.addWidget(label_name)
		self.main_layout.addWidget(label_description)
		self.main_layout.addStretch()
		self.main_layout.addWidget(label_link)
		self.main_layout.addWidget(label_copy)



		controls = QHBoxLayout()
		self.main_layout.addLayout(controls)


		btn_close = QPushButton("Закрыть")
		btn_close.setIcon(QIcon(get_icon("delete.png")))
		btn_close.clicked.connect(self.close)


		controls.addStretch()
		controls.addWidget(btn_close)
Esempio n. 6
0
    def __init__(self, edata, cb, parent=None):
        super(ModalEditTodo, self).__init__(parent)

        self.setFixedHeight(300)
        self.setFixedWidth(400)

        self.setWindowTitle("Редактирование записи")

        self.cb = cb

        self.main_layout = QVBoxLayout(self)

        self.form = QFormLayout()
        self.main_layout.addLayout(self.form)

        self.tid = edata["id"]
        self.edata = edata

        self.edit_text = QLineEdit()
        self.form.addRow("текст", self.edit_text)

        self.edit_statuses = QComboBox()
        self.form.addRow("статус", self.edit_statuses)

        self.edit_priority = QComboBox()
        self.form.addRow("приоритет", self.edit_priority)

        self.edit_description = QTextEdit()
        self.main_layout.addWidget(self.edit_description)

        self.st_int = []
        self.st_str = []

        for st in sorted(TODO_STATUSES.keys()):
            self.st_int.append(st)
            self.st_str.append(TODO_STATUSES[st])

        # self.edit_statuses.addItems(self.st_str)
        for index, item in enumerate(self.st_str):
            icon_name = self.st_int[index]
            icon = QIcon(get_status_icon(icon_name))
            self.edit_statuses.addItem(icon, item)

        self.pr_int = []
        self.pr_str = []

        for pr in sorted(TODO_PRIORITYES.keys()):
            self.pr_int.append(pr)
            self.pr_str.append(TODO_PRIORITYES[pr])

        for index, item in enumerate(self.pr_str):
            icon_name = self.pr_int[index]
            icon = QIcon(get_priority_icon(icon_name))
            self.edit_priority.addItem(icon, item)

        controls = QHBoxLayout()
        self.main_layout.addLayout(controls)

        btn_close = QPushButton("Закрыть")
        btn_close.setIcon(QIcon(get_icon("delete.png")))
        btn_close.clicked.connect(self.close)

        btn_save = QPushButton("Сохранить")
        btn_save.setIcon(QIcon(get_icon("save.png")))
        btn_save.clicked.connect(self.save)

        controls.addStretch()
        controls.addWidget(btn_save)
        controls.addWidget(btn_close)

        self.load_data()