Esempio n. 1
0
 def run(self):
     mw = self.mw
     if mw.google_radio.isChecked():
         mw.setStatusTip("Loading...")
         mw.start_button.setText("Loading...")
         mw.setEnabled(False)
         try:
             streetdb = table2dbf.load_from_google(mw.username.text(), mw.password.text(), mw.document_id.text())
         except:
             import traceback
             traceback.print_exc()
             self.mbox = ("Google-Fail", QMessageBox.Warning, QIcon.fromTheme("dialog-warning"),
                     "Couldn't login or load data from google!", None)
             return
     else:
         streetdb = table2dbf.load_street_db(mw.csv_file.text())
     mw.setStatusTip("Updating...")
     mw.start_button.setText("Updating...")
     try:
         table = dbf.Table(mw.dbf_file.text())
         table.open()
         self.updates = table2dbf.update_table(table, streetdb)
         table.close()
     except dbf.DbfError as e:
         self.mbox = ("DB-Fail", QMessageBox.Warning, QIcon.fromTheme("dialog-warning"),
                     "Couldn't open/update table!", e.message)
         return
     self.streetdb = streetdb
     if mw.split_check.checkState():
         import split_dbf
         split_dbf.split_files(mw.dbf_file.text())
Esempio n. 2
0
def get_tray_icon(is_black=False):
    if os.environ.get('DESKTOP_SESSION', 'default') == 'gnome':
        return QIcon.fromTheme('everpad', QIcon('../../data/everpad.png'))
    if is_black:
        return QIcon.fromTheme('everpad-black', QIcon('../../data/everpad-black.png'))
    else:
        return QIcon.fromTheme('everpad-mono', QIcon('../../data/everpad-mono.png'))
Esempio n. 3
0
 def note_context_menu(self, pos):
     menu = QMenu(self.ui.notesList)
     menu.addAction(QIcon.fromTheme('gtk-edit'), self.tr('Edit'),
                    self.edit_note)
     menu.addAction(QIcon.fromTheme('gtk-delete'), self.tr('Remove'),
                    self.remove_note)
     menu.exec_(self.ui.notesList.mapToGlobal(pos))
Esempio n. 4
0
    def _reload_notebooks_list(self, select_notebook_id=None):
        # TODO could enable selecting an already selected stack
        self.notebooksModel.clear()
        root = QStandardItem(QIcon.fromTheme('user-home'),
                             self.tr('All Notes'))
        self.notebooksModel.appendRow(root)
        selected_item = root

        stacks = {}
        for notebook_struct in self.app.provider.list_notebooks():
            notebook = Notebook.from_tuple(notebook_struct)
            count = self.app.provider.get_notebook_notes_count(notebook.id)
            item = QNotebookItem(notebook, count)

            if (notebook.stack == ''):
                root.appendRow(item)
            else:
                if (notebook.stack not in stacks.keys()):
                    stack = QStandardItem(QIcon.fromTheme('user-home'),
                                          notebook.stack)
                    stack.stack = notebook.stack
                    root.appendRow(stack)
                    stacks[notebook.stack] = stack

                stacks[notebook.stack].appendRow(item)

            if select_notebook_id and notebook.id == select_notebook_id:
                selected_item = item

        self.ui.notebooksList.expandAll()

        if selected_item and not select_notebook_id == SELECT_NONE:
            index = self.notebooksModel.indexFromItem(selected_item)
            self.ui.notebooksList.setCurrentIndex(index)
            self.notebook_selected(index)
Esempio n. 5
0
def get_tray_icon(is_black=False):
    if os.environ.get('DESKTOP_SESSION', 'default') == 'gnome':
        return QIcon.fromTheme('everpad', QIcon('../../data/everpad.png'))
    if is_black:
        return QIcon.fromTheme('everpad-black', QIcon('../../data/everpad-black.png'))
    else:
        return QIcon.fromTheme('everpad-mono', QIcon('../../data/everpad-mono.png'))
Esempio n. 6
0
    def __init__(self, app, *args, **kwargs):
        QDialog.__init__(self, *args, **kwargs)
        self.app = app
        self.closed = False
        self.sort_order = None
        self.ui = Ui_List()
        self.ui.setupUi(self)
        self.setWindowIcon(get_icon())

        self.notebooksModel = QStandardItemModel()
        self.ui.notebooksList.setModel(self.notebooksModel)
        self.ui.notebooksList.selection.connect(self.selection_changed)
        self.ui.notebooksList.setContextMenuPolicy(Qt.CustomContextMenu)
        self.ui.notebooksList.customContextMenuRequested.connect(
            self.notebook_context_menu)

        self.notesModel = QStandardItemModel()
        self.notesModel.setHorizontalHeaderLabels(
            [self.tr('Title'), self.tr('Last Updated')])

        self.ui.notesList.setModel(self.notesModel)
        self.ui.notesList.doubleClicked.connect(self.note_dblclicked)
        self.ui.notesList.setContextMenuPolicy(Qt.CustomContextMenu)
        self.ui.notesList.customContextMenuRequested.connect(
            self.note_context_menu)
        self.ui.notesList.header().sortIndicatorChanged.connect(
            self.sort_order_updated)

        self.ui.newNotebookBtn.setIcon(QIcon.fromTheme('folder-new'))
        self.ui.newNotebookBtn.clicked.connect(self.new_notebook)

        self.ui.newNoteBtn.setIcon(QIcon.fromTheme('document-new'))
        self.ui.newNoteBtn.clicked.connect(self.new_note)
Esempio n. 7
0
    def _reload_notebooks_list(self, select_notebook_id=None):
        # TODO could enable selecting an already selected stack
        self.notebooksModel.clear()
        root = QStandardItem(QIcon.fromTheme('user-home'), self.tr('All Notes'))
        self.notebooksModel.appendRow(root)
        selected_item = root

        stacks = {}
        for notebook_struct in self.app.provider.list_notebooks():
            notebook = Notebook.from_tuple(notebook_struct)
            count = self.app.provider.get_notebook_notes_count(notebook.id)
            item = QNotebookItem(notebook, count)

            if(notebook.stack == ''):
                root.appendRow(item)
            else:
                if(notebook.stack not in stacks.keys()):
                    stack = QStandardItem(QIcon.fromTheme('user-home'), notebook.stack)
                    stack.stack = notebook.stack
                    root.appendRow(stack)
                    stacks[notebook.stack] = stack

                stacks[notebook.stack].appendRow(item)

            if select_notebook_id and notebook.id == select_notebook_id:
                selected_item = item

        self.ui.notebooksList.expandAll()

        if selected_item and not select_notebook_id == SELECT_NONE:
            index = self.notebooksModel.indexFromItem(selected_item)
            self.ui.notebooksList.setCurrentIndex(index)
            self.notebook_selected(index)
Esempio n. 8
0
    def __init__(self, app, *args, **kwargs):
        QDialog.__init__(self, *args, **kwargs)
        self.app = app
        self.closed = False
        self.sort_order = None
        self.ui = Ui_List()
        self.ui.setupUi(self)
        self.setWindowIcon(get_icon())

        self.notebooksModel = QStandardItemModel()
        self.ui.notebooksList.setModel(self.notebooksModel)
        self.ui.notebooksList.selection.connect(self.selection_changed)
        self.ui.notebooksList.setContextMenuPolicy(Qt.CustomContextMenu)
        self.ui.notebooksList.customContextMenuRequested.connect(self.notebook_context_menu)

        self.notesModel = QStandardItemModel()
        self.notesModel.setHorizontalHeaderLabels(
            [self.tr('Title'), self.tr('Last Updated')])

        self.ui.notesList.setModel(self.notesModel)
        self.ui.notesList.doubleClicked.connect(self.note_dblclicked)
        self.ui.notesList.setContextMenuPolicy(Qt.CustomContextMenu)
        self.ui.notesList.customContextMenuRequested.connect(self.note_context_menu)
        self.ui.notesList.header().sortIndicatorChanged.connect(self.sort_order_updated)

        self.ui.newNotebookBtn.setIcon(QIcon.fromTheme('folder-new'))
        self.ui.newNotebookBtn.clicked.connect(self.new_notebook)

        self.ui.newNoteBtn.setIcon(QIcon.fromTheme('document-new'))
        self.ui.newNoteBtn.clicked.connect(self.new_note)

        self.ui.newNoteBtn.setShortcut(QKeySequence(self.tr('Ctrl+n')))
        self.ui.newNotebookBtn.setShortcut(QKeySequence(self.tr('Ctrl+Shift+n')))
        QShortcut(QKeySequence(self.tr('Ctrl+q')), self, self.close)
Esempio n. 9
0
 def notebook_context_menu(self, pos):
     index = self.ui.notebooksList.currentIndex()
     item = self.notebooksModel.itemFromIndex(index)
     if hasattr(item, 'notebook'):
         menu = QMenu(self.ui.notebooksList)
         menu.addAction(QIcon.fromTheme('gtk-edit'), self.tr('Rename'), self.rename_notebook)
         menu.addAction(QIcon.fromTheme('gtk-delete'), self.tr('Remove'), self.remove_notebook)
         menu.exec_(self.ui.notebooksList.mapToGlobal(pos))
Esempio n. 10
0
 def update_icon(self):
     if int(self.settings.value('black-icon', 0)):
         self.icon = QIcon.fromTheme('everpad-black',
                                     QIcon('../../data/everpad-black.png'))
     else:
         self.icon = QIcon.fromTheme('everpad-mono',
                                     QIcon('../../data/everpad-mono.png'))
     self.indicator.setIcon(self.icon)
Esempio n. 11
0
 def notebook_context_menu(self, pos):
     index = self.ui.notebooksList.currentIndex()
     item = self.notebooksModel.itemFromIndex(index)
     if hasattr(item, 'notebook'):
         menu = QMenu(self.ui.notebooksList)
         menu.addAction(QIcon.fromTheme('gtk-edit'), self.tr('Rename'),
                        self.rename_notebook)
         menu.addAction(QIcon.fromTheme('gtk-delete'), self.tr('Remove'),
                        self.remove_notebook)
         menu.exec_(self.ui.notebooksList.mapToGlobal(pos))
Esempio n. 12
0
 def init_toolbar(self):
     self.save_btn = self.ui.toolBar.addAction(QIcon.fromTheme("document-save"), self.tr("Save"), self.save)
     self.close_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme("window-close"), self.tr("Close without saving"), self.close
     )
     self.ui.toolBar.addAction(QIcon.fromTheme("edit-delete"), self.tr("Remove note"), self.delete)
     self.print_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme("document-print"), self.tr("Print note"), self.note_edit.print_
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme("mail-unread"), self.tr("Email note"), self.note_edit.email_note
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme("emblem-shared"), self.tr("Share note"), self.share_note
     )
     self.ui.toolBar.addSeparator()
     for action in self.note_edit.get_format_actions():
         self.ui.toolBar.addAction(action)
     self.ui.toolBar.addSeparator()
     self.find_action = QAction(QIcon.fromTheme("edit-find"), self.tr("Find"), self)
     self.find_action.setCheckable(True)
     self.find_action.triggered.connect(self.findbar.toggle_visible)
     self.ui.toolBar.addAction(self.find_action)
     self.ui.toolBar.addSeparator()
     self.pin = self.ui.toolBar.addAction(
         QIcon.fromTheme("edit-pin", QIcon.fromTheme("everpad-pin")), self.tr("Pin note"), self.mark_touched
     )
     self.pin.setCheckable(True)
     self.pin.setChecked(self.note.pinnded)
Esempio n. 13
0
 def _get_icon(self, icons):
     """Get icon"""
     if len(icons):
         icon, other = icons[0], icons[1:]
         fallback = self._get_icon(other)
         if fallback:
             return QIcon.fromTheme(icon, fallback=fallback)
         else:
             return QIcon.fromTheme(icon)
     else:
         return None
Esempio n. 14
0
    def _init_interface(self):
        self.ui = Ui_List()
        self.ui.setupUi(self)
        self.setWindowIcon(get_icon())
        self.setWindowTitle(self.tr("Everpad / All Notes"))
        self.ui.newNotebookBtn.setIcon(QIcon.fromTheme('folder-new'))
        self.ui.newNotebookBtn.clicked.connect(self.new_notebook)

        self.ui.newNoteBtn.setIcon(QIcon.fromTheme('document-new'))
        self.ui.newNoteBtn.clicked.connect(self.new_note)

        self.ui.newNoteBtn.setShortcut(QKeySequence(self.tr('Ctrl+n')))
        self.ui.newNotebookBtn.setShortcut(QKeySequence(self.tr('Ctrl+Shift+n')))
        QShortcut(QKeySequence(self.tr('Ctrl+q')), self, self.close)
Esempio n. 15
0
 def init_toolbar(self):
     self.save_btn = self.ui.toolBar.addAction(QIcon.fromTheme("document-save"), self.tr("Save"), self.save)
     self.ui.toolBar.addAction(QIcon.fromTheme("cancel"), self.tr("Close without saving"), self.close)
     self.ui.toolBar.addAction(QIcon.fromTheme("edit-delete"), self.tr("Remove note"), self.delete)
     self.ui.toolBar.addSeparator()
     for action in self.note_edit.get_format_actions():
         self.ui.toolBar.addAction(action)
     self.ui.toolBar.addSeparator()
     self.ui.toolBar.addAction(QIcon.fromTheme("add"), self.tr("Attache file"), self.resource_edit.add)
     self.ui.toolBar.addSeparator()
     self.options = self.ui.toolBar.addAction(
         QIcon.fromTheme("gtk-properties"), self.tr("Options"), self.show_options
     )
     self.options.setCheckable(True)
Esempio n. 16
0
def main():
    app = QApplication(sys.argv)
    window = QMainWindow()
    view = QListView(window)
    window.setCentralWidget(view)
    view.setViewMode(QListView.IconMode)
    view.setMovement(QListView.Static)
    view.setIconSize(QSize(64, 64))
    view.setModel(
        IconModel(
            [('System', QIcon.fromTheme('preferences-system')),
             ('Desktop', QIcon.fromTheme('preferences-desktop-personal'))],
            view))
    window.show()
    app.exec_()
Esempio n. 17
0
    def _init_interface(self):
        self.ui = Ui_List()
        self.ui.setupUi(self)
        self.setWindowIcon(get_icon())
        self.setWindowTitle(self.tr("Everpad / All Notes"))
        self.ui.newNotebookBtn.setIcon(QIcon.fromTheme('folder-new'))
        self.ui.newNotebookBtn.clicked.connect(self.new_notebook)

        self.ui.newNoteBtn.setIcon(QIcon.fromTheme('document-new'))
        self.ui.newNoteBtn.clicked.connect(self.new_note)

        self.ui.newNoteBtn.setShortcut(QKeySequence(self.tr('Ctrl+n')))
        self.ui.newNotebookBtn.setShortcut(
            QKeySequence(self.tr('Ctrl+Shift+n')))
        QShortcut(QKeySequence(self.tr('Ctrl+q')), self, self.close)
Esempio n. 18
0
    def __init__(self, parent=None):
        global client
        super(CharacterSelect, self).__init__(parent)
        self.setWindowTitle("Select A Character")

        # Character Portrait
        # Character Sprite
        # Name
        # Current zone
        # Money
        self.charbuttons = {}
        for char in client.characters:
            button = QPushButton()
            button.setText(char)
            button.setIcon(QIcon.fromTheme('applications-games'))
            func = functools.partial(self.select_character, char=char)
            button.clicked.connect(func)
            self.charbuttons[char] = button

        layout = QVBoxLayout()
        for w in self.charbuttons.values():
            layout.addWidget(w)
        self.setLayout(layout)

        self.character_chosen.connect(qtclient.choose_char)
Esempio n. 19
0
    def __init__(self, obj):
        super(WorldObject, self).__init__()

        objloc = obj.get('loc', {'x': 0, 'y': 0})
        self.setPos(int(objloc['x']), int(objloc['y']))
        self.setPixmap(QIcon.fromTheme('user-online').pixmap(32))
        self.setToolTip(obj.get('name', 'Object'))
Esempio n. 20
0
    def __init__(self, parent=None):
        super(LoginForm, self).__init__(parent)
        self.setWindowTitle("Login")

        self.status_icon = QIcon.fromTheme("user-offline")
        self.setWindowIcon(self.status_icon)

        self.server_status = QLabel()
        self.server_status.setAlignment(Qt.AlignCenter)
        self.server_status.setPixmap(self.status_icon.pixmap(64))

        self.username = QLineEdit("Username")

        self.password = QLineEdit("Password")
        self.password.setEchoMode(QLineEdit.Password)

        self.login_button = QPushButton("Getting server status...")
        self.login_button.setEnabled(False)
        self.login_button.clicked.connect(self.login)
        self.login_button.setIcon(self.status_icon)

        self.ping_timer = QTimer(self)
        self.connect(self.ping_timer, SIGNAL("timeout()"), self.is_server_up)
        self.ping_timer.start(1000)

        layout = QVBoxLayout()
        for w in (self.server_status, self.username, self.password,
                  self.login_button):
            layout.addWidget(w)
        self.setLayout(layout)

        self.logged_in.connect(qtclient.login)
Esempio n. 21
0
 def tag_context_menu(self, pos):
     index = self.ui.tagsList.currentIndex()
     item = self.tagsModel.itemFromIndex(index)
     if hasattr(item, 'tag'):
         menu = QMenu(self.ui.tagsList)
         menu.addAction(QIcon.fromTheme('gtk-delete'), self.tr('Remove'), self.remove_tag)
         menu.exec_(self.ui.tagsList.mapToGlobal(pos))
Esempio n. 22
0
    def __init__(self, parent=None):
        global client
        super(CharacterSelect, self).__init__(parent)
        self.setWindowTitle("Select A Character")

        # Character Portrait
        # Character Sprite
        # Name
        # Current zone
        # Money
        self.charbuttons = {}
        for char in client.characters:
            button = QPushButton()
            button.setText(char)
            button.setIcon(QIcon.fromTheme('applications-games'))
            func = functools.partial(self.select_character, char=char)
            button.clicked.connect(func)
            self.charbuttons[char] = button

        layout = QVBoxLayout()
        for w in self.charbuttons.values():
            layout.addWidget(w)
        self.setLayout(layout)

        self.character_chosen.connect(qtclient.choose_char)
Esempio n. 23
0
    def __init__(self, parent=None):
        super(LoginForm, self).__init__(parent)
        self.setWindowTitle("Login")

        self.status_icon = QIcon.fromTheme("user-offline")
        self.setWindowIcon(self.status_icon)

        self.server_status = QLabel()
        self.server_status.setAlignment(Qt.AlignCenter)
        self.server_status.setPixmap(self.status_icon.pixmap(64))

        self.username = QLineEdit("Username")

        self.password = QLineEdit("Password")
        self.password.setEchoMode(QLineEdit.Password)

        self.login_button = QPushButton("Getting server status...")
        self.login_button.setEnabled(False)
        self.login_button.clicked.connect(self.login)
        self.login_button.setIcon(self.status_icon)

        self.ping_timer = QTimer(self)
        self.connect(self.ping_timer, SIGNAL("timeout()"), self.is_server_up)
        self.ping_timer.start(1000)

        layout = QVBoxLayout()
        for w in (self.server_status, self.username, self.password, self.login_button):
            layout.addWidget(w)
        self.setLayout(layout)

        self.logged_in.connect(qtclient.login)
Esempio n. 24
0
    def __init__(self, obj):
        super(WorldObject, self).__init__()

        objloc = obj.get('loc', {'x':0, 'y':0})
        self.setPos(int(objloc['x']), int(objloc['y']))
        self.setPixmap(QIcon.fromTheme('user-online').pixmap(32))
        self.setToolTip(obj.get('name', 'Object'))
Esempio n. 25
0
 def init_notebooks(self):
     frame = QFrame()
     layout = QVBoxLayout()
     frame.setLayout(layout)
     self.ui.scrollArea.setWidget(frame)
     for notebook_struct in self.app.provider.list_notebooks():
         notebook = Notebook.from_tuple(notebook_struct)
         count = self.app.provider.get_notebook_notes_count(notebook.id)
         widget = QWidget()
         menu = QMenu(self)
         menu.addAction(self.tr('Change Name'), Slot()(partial(
             self.change_notebook, notebook=notebook,
         )))
         action = menu.addAction(self.tr('Remove Notebook'), Slot()(partial(
             self.remove_notebook, notebook=notebook,
         )))
         action.setEnabled(False)
         widget.ui = Ui_Notebook()
         widget.ui.setupUi(widget)
         widget.ui.name.setText(notebook.name)
         widget.ui.content.setText(self.tr('Containts %d notes') % count)
         widget.ui.actionBtn.setIcon(QIcon.fromTheme('gtk-properties'))
         widget.setFixedHeight(50)
         layout.addWidget(widget)
         widget.ui.actionBtn.clicked.connect(Slot()(partial(
             self.show_notebook_menu,
             menu=menu, widget=widget,
         )))
Esempio n. 26
0
 def setupActions(self):
     action_slots = dict(
         New=self.newFile, Open=self.askOpenFile, Save=self.saveFile,
         SaveAs=self.askSaveFile, Print=self.askPrint, Quit=self.close,
         Undo=self.editor.undo, Redo=self.editor.redo, Cut=self.editor.cut,
         Copy=self.editor.copy, Paste=self.editor.paste,
         Find=self.toggleSearchDock, FindNext=self.find,
         FindPrevious=partial(self.find, backwards=True),
         SelectAll=self.editor.selectAll, GoToLine=self.askGoToLine,
         AboutQt=QApplication.instance().aboutQt, About=self.about)
     for action in self.findChildren(QAction):
         object_name = action.objectName()
         if not object_name:
             continue
         action_name = object_name[len(self.ACTION_PREFIX):]
         icon_name = self.ACTION_ICONS.get(action_name)
         if icon_name:
             action.setIcon(QIcon.fromTheme(icon_name))
         key = self.ACTION_KEYS.get(action_name)
         if key:
             action.setShortcut(key)
         slot = action_slots.get(action_name)
         if slot:
             action.triggered.connect(slot)
         if action_name in self.DISABLED_ACTIONS:
             action.setEnabled(False)
     for action in self.menuEdit.actions():
         self.editor.addAction(action)
Esempio n. 27
0
 def __init__(self):
     super(LayerListWithToolBar, self).__init__()
     layout = QVBoxLayout()
     self.setLayout(layout)
     self.list = LayerList()
     self.toolbar = QToolBar()
     add_action = self.toolbar.addAction(
         QIcon.fromTheme('list-add'),
         'add',
     ).triggered.connect(self._add)
     remove_action = self.toolbar.addAction(
         QIcon.fromTheme('list-remove'),
         'remove',
     ).triggered.connect(self._remove)
     self.layout().addWidget(self.toolbar)
     self.layout().addWidget(self.list)
Esempio n. 28
0
    def start(self):
        incomplete = []
        if self.google_radio.isChecked():
            if not self.username.text():
                incomplete.append(self.username)
            if not self.password.text():
                incomplete.append(self.password)
            if not self.document_id.text():
                incomplete.append(self.document_id)
        elif not self.csv_file.text():
            incomplete.append(self.csv_file)
        if not self.dbf_file.text():
            incomplete.append(self.dbf_file)

        if len(incomplete) > 0:
            mbox = QMessageBox(self)
            mbox.setWindowTitle("Warning, incomplete fields!")
            mbox.setIcon(QMessageBox.Warning)
            mbox.setWindowIcon(QIcon.fromTheme("dialog-warning"))
            mbox.setText("%d fields are incomplete" % len(incomplete))
            mbox.exec()
            for field in self.changed_styles:
                field.setStyleSheet("")
            for field in incomplete:
                field.setStyleSheet("border: 1.5px solid red; border-radius: 5px")
            self.changed_styles = incomplete.copy()
            return
        for field in self.changed_styles:
            field.setStyleSheet("")
        self.setStatusTip("Working...")
        self.working_thread = WorkThread(self)
        self.working_thread.finished.connect(self.finished_start)
        self.working_thread.start()
Esempio n. 29
0
 def setup_gui(self):
     """Sets up a sample gui interface."""
     central_widget = QWidget(self)
     central_widget.setObjectName('central_widget')
     self.label = QLabel('Hello World')
     self.input_field = QLineEdit()
     change_button = QPushButton('Change text')
     close_button = QPushButton('close')
     quit_button = QPushButton('quit')
     central_layout = QVBoxLayout()
     button_layout = QHBoxLayout()
     central_layout.addWidget(self.label)
     central_layout.addWidget(self.input_field)
     # a separate layout to display buttons horizontal
     button_layout.addWidget(change_button)
     button_layout.addWidget(close_button)
     button_layout.addWidget(quit_button)
     central_layout.addLayout(button_layout)
     central_widget.setLayout(central_layout)
     self.setCentralWidget(central_widget)
     # create a system tray icon. Uncomment the second form, to have an
     # icon assigned, otherwise you will only be seeing an empty space in
     # system tray
     self.systemtrayicon = QSystemTrayIcon(self)
     self.systemtrayicon.show()
     # set a fancy icon
     self.systemtrayicon.setIcon(QIcon.fromTheme('help-browser'))
     change_button.clicked.connect(self.change_text)
     quit_button.clicked.connect(QApplication.instance().quit)
     close_button.clicked.connect(self.hide)
     # show main window, if the system tray icon was clicked
     self.systemtrayicon.activated.connect(self.icon_activated)
Esempio n. 30
0
 def setup_gui(self):
     """Sets up a sample gui interface."""
     central_widget = QWidget(self)
     central_widget.setObjectName('central_widget')
     self.label = QLabel('Hello World')
     self.input_field = QLineEdit()
     change_button = QPushButton('Change text')
     close_button = QPushButton('close')
     quit_button = QPushButton('quit')
     central_layout = QVBoxLayout()
     button_layout = QHBoxLayout()
     central_layout.addWidget(self.label)
     central_layout.addWidget(self.input_field)
     # a separate layout to display buttons horizontal
     button_layout.addWidget(change_button)
     button_layout.addWidget(close_button)
     button_layout.addWidget(quit_button)
     central_layout.addLayout(button_layout)
     central_widget.setLayout(central_layout)
     self.setCentralWidget(central_widget)
     # create a system tray icon. Uncomment the second form, to have an
     # icon assigned, otherwise you will only be seeing an empty space in
     # system tray
     self.systemtrayicon = QSystemTrayIcon(self)
     self.systemtrayicon.show()
     # set a fancy icon
     self.systemtrayicon.setIcon(QIcon.fromTheme('help-browser'))
     change_button.clicked.connect(self.change_text)
     quit_button.clicked.connect(QApplication.instance().quit)
     close_button.clicked.connect(self.hide)
     # show main window, if the system tray icon was clicked
     self.systemtrayicon.activated.connect(self.icon_activated)
Esempio n. 31
0
 def tag_context_menu(self, pos):
     index = self.ui.tagsList.currentIndex()
     item = self.tagsModel.itemFromIndex(index)
     if hasattr(item, 'tag'):
         menu = QMenu(self.ui.tagsList)
         menu.addAction(QIcon.fromTheme('gtk-delete'), self.tr('Remove'),
                        self.remove_tag)
         menu.exec_(self.ui.tagsList.mapToGlobal(pos))
Esempio n. 32
0
 def is_server_up(self):
     '''Tests to see if the authentication server is up.'''
     global client
     from requests.exceptions import ConnectionError
     try:
         if client.ping():
             self.login_button.setEnabled(True)
             self.login_button.setText("Login!")
             self.status_icon = QIcon.fromTheme("user-online")
     except (ConnectionError):
         # We can only wait until the server comes back up.
         self.login_button.setEnabled(False)
         self.login_button.setText("Server is offline. :(")
         self.status_icon = QIcon.fromTheme("user-offline")
     self.setWindowIcon(self.status_icon)
     self.server_status.setPixmap(self.status_icon.pixmap(64))
     self.login_button.setIcon(self.status_icon)
Esempio n. 33
0
 def is_server_up(self):
     '''Tests to see if the authentication server is up.'''
     global client
     from requests.exceptions import ConnectionError
     try:
         if client.ping():
             self.login_button.setEnabled(True)
             self.login_button.setText("Login!")
             self.status_icon = QIcon.fromTheme("user-online")
     except(ConnectionError):
         # We can only wait until the server comes back up.
         self.login_button.setEnabled(False)
         self.login_button.setText("Server is offline. :(")
         self.status_icon = QIcon.fromTheme("user-offline")
     self.setWindowIcon(self.status_icon)
     self.server_status.setPixmap(self.status_icon.pixmap(64))
     self.login_button.setIcon(self.status_icon)
Esempio n. 34
0
 def _init_window(self):
     """Init window attributes"""
     self.setWindowTitle('Series list')
     if os.path.exists(const.ICON_PATH):
         icon = QIcon()
         icon.addFile(const.ICON_PATH)
     else:
         icon = QIcon.fromTheme('series_list_icon')
     self.setWindowIcon(icon)
Esempio n. 35
0
    def make_items(self):
        items = [QStandardItem(unicode(self.note.title)),
                 QStandardItem(unicode(datetime.datetime.fromtimestamp(
                     self.note.updated / 1000.0)))]
        for item in items:
            item.note = self.note
        items[0].setIcon(QIcon.fromTheme('x-office-document'))
        items[1].setEditable(False)

        return items
Esempio n. 36
0
 def init_toolbar(self):
     self.save_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('document-save'),
         self.tr('Save'),
         self.save,
     )
     self.close_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('window-close'),
         self.tr('Close without saving'),
         self.close,
     )
     self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-delete'),
         self.tr('Remove note'),
         self.delete,
     )
     self.print_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('document-print'),
         self.tr('Print note'),
         self.note_edit.print_,
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('mail-unread'),
         self.tr('Email note'),
         self.note_edit.email_note,
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('emblem-shared'),
         self.tr('Share note'),
         self.share_note,
     )
     self.ui.toolBar.addSeparator()
     for action in self.note_edit.get_format_actions():
         self.ui.toolBar.addAction(action)
     self.ui.toolBar.addSeparator()
     self.find_action = QAction(QIcon.fromTheme('edit-find'),
                                self.tr('Find'), self)
     self.find_action.setCheckable(True)
     self.find_action.triggered.connect(self.findbar.toggle_visible)
     self.ui.toolBar.addAction(self.find_action)
     self.ui.toolBar.addSeparator()
     self.pin = self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-pin', QIcon.fromTheme('everpad-pin')),
         self.tr('Pin note'),
         self.mark_touched,
     )
     self.pin.setCheckable(True)
     self.pin.setChecked(self.note.pinnded)
Esempio n. 37
0
def main():
    app = QApplication(sys.argv)
    window = QMainWindow()
    view = QListView(window)
    window.setCentralWidget(view)
    view.setViewMode(QListView.IconMode)
    view.setMovement(QListView.Static)
    view.setIconSize(QSize(64, 64))
    view.setModel(
        IconModel(
            [
                ("System", QIcon.fromTheme("preferences-system")),
                ("Desktop", QIcon.fromTheme("preferences-desktop-personal")),
            ],
            view,
        )
    )
    window.show()
    app.exec_()
Esempio n. 38
0
 def __init__(self, *args, **kwargs):
     QApplication.__init__(self, *args, **kwargs)
     self.settings = QSettings("everpad", "everpad-pad")
     self.translator = QTranslator()
     if not self.translator.load("../../i18n/%s" % QLocale.system().name()):
         self.translator.load("/usr/share/everpad/i18n/%s" % QLocale.system().name())
     self.installTranslator(self.translator)
     self.icon = QIcon.fromTheme("everpad-mono", QIcon("../../everpad-mono.png"))
     self.indicator = Indicator(self, self.icon)
     self.indicator.show()
Esempio n. 39
0
def get(name):
    if QFile('icons:{}.svg'.format(name)).exists():
        return QIcon('icons:{}.svg'.format(name))
    
    if QIcon.hasThemeIcon(name):
        return QIcon.fromTheme(name)
    
    if os.path.exists(name):
        return QIcon(name)
    
    return QIcon()
Esempio n. 40
0
 def init_toolbar(self):
     self.save_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('document-save'),
         self.tr('Save'), self.save,
     )
     self.close_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('window-close'),
         self.tr('Close without saving'),
         self.close,
     )
     self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-delete'),
         self.tr('Remove note'),
         self.delete,
     )
     self.print_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('document-print'),
         self.tr('Print note'),
         self.note_edit.print_,
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('mail-unread'),
         self.tr('Email note'),
         self.note_edit.email_note,
     )
     self.email_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('emblem-shared'),
         self.tr('Share note'),
         self.share_note,
     )
     self.ui.toolBar.addSeparator()
     for action in self.note_edit.get_format_actions():
         self.ui.toolBar.addAction(action)
     self.ui.toolBar.addSeparator()
     self.find_action = QAction(QIcon.fromTheme('edit-find'),
                                self.tr('Find'), self)
     self.find_action.setCheckable(True)
     self.find_action.triggered.connect(self.findbar.toggle_visible)
     self.ui.toolBar.addAction(self.find_action)
     self.ui.toolBar.addSeparator()
     self.pin = self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-pin', QIcon.fromTheme('everpad-pin')),
         self.tr('Pin note'), self.mark_touched,
     )
     self.pin.setCheckable(True)
     self.pin.setChecked(self.note.pinnded)
Esempio n. 41
0
def iconFromTheme(icon, fallback):
    """ Utility method for getting icons from default X11 icon theme.

    Returns a ``QIcon`` from the X11 system-icon theme if a match is
    found, else the `fallback` is used.

    :param icon: the name of the icon in the X11 icon-theme.
    :type icon: string
    :param fallback: the name of the fallback icon.
    :type icon: string
    """
    return QIcon.fromTheme(icon, QIcon(fallback))
Esempio n. 42
0
    def _action_with_icon(self, action_type, icon_names, is_action=False):
        if is_action:
            action = action_type
        else:
            action = self.page.action(action_type)
        for icon_name in icon_names:
            if QIcon.hasThemeIcon(icon_name):
                action.setIcon(QIcon.fromTheme(icon_name))
                break

        self.copy_available.connect(action.setEnabled)
        return action
Esempio n. 43
0
    def _action_with_icon(self, action_type, icon_names, is_action=False):
        if is_action:
            action = action_type
        else:
            action = self.page.action(action_type)
        for icon_name in icon_names:
            if QIcon.hasThemeIcon(icon_name):
                action.setIcon(QIcon.fromTheme(icon_name))
                break

        self.copy_available.connect(action.setEnabled)
        return action
Esempio n. 44
0
 def init_toolbar(self):
     self.save_btn = self.ui.toolBar.addAction(
         QIcon.fromTheme('document-save'), 
         self.tr('Save'), self.save,
     )
     self.ui.toolBar.addAction(
         QIcon.fromTheme('cancel'), 
         self.tr('Close without saving'), 
         self.close,
     )
     self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-delete'),
         self.tr('Remove note'), 
         self.delete,
     )
     self.ui.toolBar.addSeparator()
     for action in self.note_edit.get_format_actions():
         self.ui.toolBar.addAction(action)
     self.ui.toolBar.addSeparator()
     self.find_action = QAction(QIcon.fromTheme('edit-find'),
                                self.app.tr('Find'), self)
     self.find_action.setCheckable(True)
     self.find_action.triggered.connect(self.findbar.toggle_visible)
     self.ui.toolBar.addAction(self.find_action)
     self.ui.toolBar.addSeparator()
     self.pin = self.ui.toolBar.addAction(
         QIcon.fromTheme('edit-pin', QIcon.fromTheme('everpad-pin')),
         self.tr('Pin note'), self.mark_touched,
     )
     self.pin.setCheckable(True)
     self.pin.setChecked(self.note.pinnded)
Esempio n. 45
0
    def __init__(self, editor, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        self.editor = editor
        self.ui = Ui_FindBar()
        self.ui.setupUi(self)

        # pyside-uic doesn't translate icons from themes correctly, so we have
        # to re-set the icons manually here
        self.ui.btnPrevious.setIcon(QIcon.fromTheme('go-previous'))
        self.ui.btnNext.setIcon(QIcon.fromTheme('go-next'))
        self.ui.btnClose.setIcon(QIcon.fromTheme('window-close'))
        self.visible = False

        self.ui.btnClose.clicked.connect(self.hide)
        self.ui.edtFindText.returnPressed.connect(self.find_next)
        self.ui.edtFindText.textChanged.connect(self.find_text_updated)

        self.ui.btnNext.clicked.connect(self.find_next)
        self.ui.btnPrevious.clicked.connect(self.find_previous)

        self.ui.btnHighlight.clicked.connect(self.update_highlight)
        self.ui.chkMatchCase.clicked.connect(self.match_case_updated)
Esempio n. 46
0
    def __init__(self, editor, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        self.editor = editor
        self.ui = Ui_FindBar()
        self.ui.setupUi(self)

        # pyside-uic doesn't translate icons from themes correctly, so we have
        # to re-set the icons manually here
        self.ui.btnPrevious.setIcon(QIcon.fromTheme('go-previous'))
        self.ui.btnNext.setIcon(QIcon.fromTheme('go-next'))
        self.ui.btnClose.setIcon(QIcon.fromTheme('window-close'))
        self.visible = False

        self.ui.btnClose.clicked.connect(self.hide)
        self.ui.edtFindText.returnPressed.connect(self.find_next)
        self.ui.edtFindText.textChanged.connect(self.find_text_updated)

        self.ui.btnNext.clicked.connect(self.find_next)
        self.ui.btnPrevious.clicked.connect(self.find_previous)

        self.ui.btnHighlight.clicked.connect(self.update_highlight)
        self.ui.chkMatchCase.clicked.connect(self.match_case_updated)
Esempio n. 47
0
def by_name(name):
    """Locates and loads an icon for the user, finding by name"""
    filename = os.path.join(ICONROOT, "%s.png" % name)
    if os.path.isfile(filename):
        #pixmap = QPixmap(filename)
        #icon = QIcon(pixmap)
        icon = QIcon(filename)
        return icon

    if QIcon.hasThemeIcon(name):
        return QIcon.fromTheme(name)

    raise KeyError, "No such icon %s exists." % name
Esempio n. 48
0
def by_name(name):
    """Locates and loads an icon for the user, finding by name"""
    filename = os.path.join(ICONROOT, "%s.png" % name)
    if os.path.isfile(filename):
        #pixmap = QPixmap(filename)
        #icon = QIcon(pixmap)
        icon = QIcon(filename)
        return icon

    if QIcon.hasThemeIcon(name):
        return QIcon.fromTheme(name)

    raise KeyError, "No such icon %s exists." % name
Esempio n. 49
0
 def updateList(self, athletes):
     self.list.clear()
     self.athletesList = athletes
     
     for athlete in self.athletesList:
         iconW = QIcon.fromTheme("user-available")
         # doens't work on Mac and Windows
         # http://qt-project.org/doc/qt-4.8/qicon.html#fromTheme
        
         listW = QListWidgetItem(iconW, athlete._name)
         listW.setData(Qt.UserRole, athlete)
        
         self.list.addItem(listW)
Esempio n. 50
0
    def make_items(self):
        items = [
            QStandardItem(unicode(self.note.title)),
            QStandardItem(
                unicode(
                    datetime.datetime.fromtimestamp(self.note.updated /
                                                    1000.0)))
        ]
        for item in items:
            item.note = self.note
        items[0].setIcon(QIcon.fromTheme('x-office-document'))
        items[1].setEditable(False)

        return items
Esempio n. 51
0
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)

        self.image_viewer = ImageView(parent=self)
        self.setCentralWidget(self.image_viewer)

        exit = QAction(QIcon.fromTheme('application-exit'), 'Exit', self)
        open_image = QAction(QIcon.fromTheme('document-open'),
                             'Open image ...', self)
        scaling = QAction(QIcon.fromTheme('transform-scale'),
                          'Scale pixmap', self)
        scaling.setCheckable(True)

        actions = self.addToolBar('Actions')
        actions.addAction(exit)
        actions.addSeparator()
        actions.addAction(open_image)

        image_viewer_actions = self.addToolBar('Image viewer')
        image_viewer_actions.addAction(scaling)

        exit.triggered.connect(QApplication.instance().quit)
        open_image.triggered.connect(self._open_image)
        scaling.triggered[bool].connect(self._update_scaling)
Esempio n. 52
0
def setStdEditMenuIcons(menu):
    """Add system theme icons to QLineEdit and QTextEdit context-menu.
    :param menu: QMenu generated by createStandardContextMenu
    """
    acts = menu.actions()
    if len(acts) < 9: return
    (undo, redo, __, cut, copy, paste, delete, __, sel, *__) = acts
    undo.setIcon(QIcon.fromTheme('edit-undo'))
    redo.setIcon(QIcon.fromTheme('edit-redo'))
    cut.setIcon(QIcon.fromTheme('edit-cut'))
    copy.setIcon(QIcon.fromTheme('edit-copy'))
    paste.setIcon(QIcon.fromTheme('edit-paste'))
    delete.setIcon(QIcon.fromTheme('edit-delete'))
    sel.setIcon(QIcon.fromTheme('edit-select-all'))
Esempio n. 53
0
    def icon(self,
             name,
             extension='png',
             use_inheritance=True,
             allow_theme=True):
        """
        Find an icon with the given ``name`` and return a
        :class:`~PySide.QtGui.QIcon` of that icon. If ``use_inheritance`` is
        True and this style doesn't have an icon with the given name, the
        icon will be searched for in the style this style inherits.
        
        If ``allow_theme`` is True and the icon can't be located in a style, it
        will be retrieved with :func:`PySide.QtGui.QIcon.fromTheme` as a last
        resort as long as the style allows the use of system icons.
        """
        icon = None

        fn = '%s.%s' % (name, extension)
        path = profile.join('images', fn)

        if self.path_source != profile.SOURCE_PKG_RESOURCES:
            file = self.get_path(path, use_inheritance)
            if file and os.path.exists(file):
                icon = QIcon(file)
        else:
            if self.has_file(path, use_inheritance):
                f = self.get_file(path, use_inheritance=use_inheritance)
                if f:
                    pixmap = QPixmap()
                    pixmap.loadFromData(f.read())
                    icon = QIcon(pixmap)
                    del pixmap
                    f.close()

        if not icon and use_inheritance and self.inherits:
            icon = loaded_styles[self.inherits].icon(name, extension,
                                                     use_inheritance,
                                                     allow_theme)

        if not icon and allow_theme:
            if QIcon.hasThemeIcon(name):
                icon = QIcon.fromTheme(name)

        if not icon:
            icon = QIcon()

        return icon
Esempio n. 54
0
    def _reload_notebooks_list(self, select_notebook_id=None):
        self.notebooksModel.clear()
        root = QStandardItem(QIcon.fromTheme('user-home'),
                             self.tr('All Notes'))
        self.notebooksModel.appendRow(root)

        selected_item = root
        for notebook_struct in self.app.provider.list_notebooks():
            notebook = Notebook.from_tuple(notebook_struct)
            count = self.app.provider.get_notebook_notes_count(notebook.id)
            item = QNotebookItem(notebook, count)
            root.appendRow(item)

            if select_notebook_id and notebook.id == select_notebook_id:
                selected_item = item

        self.ui.notebooksList.expandAll()
        if selected_item:
            index = self.notebooksModel.indexFromItem(selected_item)
            self.ui.notebooksList.setCurrentIndex(index)
            self.notebook_selected(index)
Esempio n. 55
0
    def _reload_tags_list(self, select_tag_id=None):
        # TODO nested tags
        self.tagsModel.clear()
        tagRoot = QStandardItem(QIcon.fromTheme('user-home'),
                                self.tr('All Tags'))
        self.tagsModel.appendRow(tagRoot)
        selected_item = tagRoot

        for tag_struct in self.app.provider.list_tags():
            tag = Tag.from_tuple(tag_struct)
            count = self.app.provider.get_tag_notes_count(tag.id)
            item = QTagItem(tag, count)
            tagRoot.appendRow(item)

            if select_tag_id and tag.id == select_tag_id:
                selected_item = item

        self.ui.tagsList.expandAll()
        if selected_item and not select_tag_id == SELECT_NONE:
            index = self.tagsModel.indexFromItem(selected_item)
            self.ui.tagsList.setCurrentIndex(index)
            self.tag_selected(index)
Esempio n. 56
0
    def _initGUI(self):
        topHLayout = QHBoxLayout()
        hLayout = QHBoxLayout()
        vLayout = QVBoxLayout()
        
        # Label
        greeterText = QLabel("Welcome to <b>Pushup app</b>." + \
                             "<br><br> Select a profile:")
        vLayout.addWidget(greeterText)        
            
        # List 
        self.list = QListWidget()
        self.list.setMinimumWidth(150)
        self.list.setSelectionMode(QAbstractItemView.SingleSelection)
        # SingleSelection is the default value, but I prefer to be sure
        self.list.itemSelectionChanged.connect(self._activateButtons) 
        
        for athlete in self.athletesList:
            iconW = QIcon.fromTheme("user-available")
            # doens't work on Mac and Windows
            # http://qt-project.org/doc/qt-4.8/qicon.html#fromTheme
            
            listW = QListWidgetItem(iconW, athlete._name)
            listW.setData(Qt.UserRole, athlete)
            
            self.list.addItem(listW)
        
        topHLayout.addWidget(self.list)
        self.profileWidget = ProfileFormWidget()
        self.profileWidget.hide()
        
        topHLayout.addWidget(self.profileWidget)    
       
        vLayout.addLayout(topHLayout)        
        vLayout.addLayout(hLayout)
        
        # Buttons
        self.okBtn = QPushButton("Ok")
        self.okBtn.setDisabled(True)
        self.okBtn.setDefault(True)
        self.okBtn.clicked.connect(self._okButtonSlot)
        self.list.itemDoubleClicked.connect(self._okButtonSlot)
                
        cancelBtn = QPushButton("Cancel")      
        cancelBtn.clicked.connect(self._cancelButtonSlot)
        
        self.editBtn = QPushButton("Edit")
        self.editBtn.setDisabled(True)
        self.editBtn.setCheckable(True)
        self.editBtn.clicked.connect(self._toggleProfileEdit)
        
        self.saveBtn = QPushButton("Save changes") # Saves the changes made on the profile 
        self.saveBtn.hide()
        self.saveBtn.clicked.connect(self._saveButtonSlot)
    
        self.removeProfileBtn = QPushButton("Remove Profile")
        self.removeProfileBtn.setDisabled(True)
        self.removeProfileBtn.clicked.connect(self._removeProfile_Dialog)
        
        hLayout.addWidget(self.editBtn)
        hLayout.addWidget(self.removeProfileBtn)
        hLayout.addWidget(cancelBtn)
        hLayout.addWidget(self.okBtn)
        hLayout.addWidget(self.saveBtn)

        self.setLayout(vLayout)
Esempio n. 57
0
def get_icon():
    return QIcon.fromTheme('everpad', QIcon('../../everpad.png'))