Beispiel #1
0
    def __init__(self, shell):
        self.shell = shell
        self.ind = appindicator.Indicator.new(
            "EAvatar-indicator",
            resource_path(os.path.join(base.AVARES_PATH, "icon.png")),
            appindicator.IndicatorCategory.APPLICATION_STATUS)
        self.ind.set_icon_theme_path(resource_path(base.AVARES_PATH))

        self.ind.set_status(appindicator.IndicatorStatus.ACTIVE)
        self.ind.set_attention_icon("icon.png")

        self.notices_menu = None
        self.status_menu = None
        self.old_status_item = None
        self.menu_setup()
        self.ind.set_menu(self.menu)
        self.notification = None
        Notify.init("EAvatar")
Beispiel #2
0
 def notify(self, msg, title="Ava Message"):
     if self.notification is None:
         self.notification = Notify.Notification.new(
             title, msg, resource_path("res/icon.png"))
         self.notification.set_app_name("EAvatar")
     else:
         self.notification.update(title, msg)
     self.notification.set_timeout(3)
     self.notification.show()
Beispiel #3
0
    def applicationDidFinishLaunching_(self, sender):
        logger.debug("Application did finish launching.")

        statusbar = NSStatusBar.systemStatusBar()
        self.statusicon = statusbar.statusItemWithLength_(
            NSVariableStatusItemLength)
        self.icon = NSImage.alloc().initByReferencingFile_(
            resource_path(base.AVARES_PATH + '/icon.png'))
        self.icon.setScalesWhenResized_(True)
        self.icon.setSize_((20, 20))
        self.statusicon.setImage_(self.icon)
        self.statusicon.setHighlightMode_(True)
        self.statusicon.setEnabled_(True)

        # make the menu
        self.menubarMenu = NSMenu.alloc().init()

        self.openItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_OPEN_WEBFRONT, 'openWebfront:', '')
        self.menubarMenu.addItem_(self.openItem)

        self.openItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_OPEN_FOLDER, 'openFolder:', '')
        self.menubarMenu.addItem_(self.openItem)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        mi = self.menubarMenu.addItemWithTitle_action_keyEquivalent_(
            base.STR_STATUS_MENU, None, "")
        self.create_status_menu()
        self.menubarMenu.setSubmenu_forItem_(self.status_menu, mi)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        mi = self.menubarMenu.addItemWithTitle_action_keyEquivalent_(
            base.STR_NOTICES_MENU, None, "")

        self.notices_menu = self.create_notices_menu()
        self.menubarMenu.setSubmenu_forItem_(self.notices_menu, mi)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        self.quit = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_EXIT, 'quitApp:', '')
        self.menubarMenu.addItem_(self.quit)

        # add menu to statusitem
        self.statusicon.setMenu_(self.menubarMenu)
        self.statusicon.setToolTip_(base.STR_STATUS)
Beispiel #4
0
    def applicationDidFinishLaunching_(self, sender):
        logger.debug("Application did finish launching.")

        statusbar = NSStatusBar.systemStatusBar()
        self.statusicon = statusbar.statusItemWithLength_(
            NSVariableStatusItemLength)
        self.icon = NSImage.alloc().initByReferencingFile_(
            resource_path(base.AVARES_PATH + '/icon.png'))
        self.icon.setScalesWhenResized_(True)
        self.icon.setSize_((20, 20))
        self.statusicon.setImage_(self.icon)
        self.statusicon.setHighlightMode_(True)
        self.statusicon.setEnabled_(True)

        # make the menu
        self.menubarMenu = NSMenu.alloc().init()

        self.openItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_OPEN_WEBFRONT, 'openWebfront:', '')
        self.menubarMenu.addItem_(self.openItem)

        self.openItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_OPEN_FOLDER, 'openFolder:', '')
        self.menubarMenu.addItem_(self.openItem)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        mi = self.menubarMenu.addItemWithTitle_action_keyEquivalent_(
            base.STR_STATUS_MENU, None, "")
        self.create_status_menu()
        self.menubarMenu.setSubmenu_forItem_(self.status_menu, mi)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        mi = self.menubarMenu.addItemWithTitle_action_keyEquivalent_(
            base.STR_NOTICES_MENU, None, "")

        self.notices_menu = self.create_notices_menu()
        self.menubarMenu.setSubmenu_forItem_(self.notices_menu, mi)

        self.menubarMenu.addItem_(NSMenuItem.separatorItem())

        self.quit = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
            base.STR_EXIT, 'quitApp:', '')
        self.menubarMenu.addItem_(self.quit)

        # add menu to statusitem
        self.statusicon.setMenu_(self.menubarMenu)
        self.statusicon.setToolTip_(base.STR_STATUS)
Beispiel #5
0
    def __init__(self, s):
        self.shell = s

        self.icons = itertools.cycle(glob.glob(
            resource_path(base.AVARES_PATH + '/*.ico')))
        self.hover_text = base.STR_STATUS

        self.icon = self.icons.next()

        self.default_menu_index = 0

        self.notify_id = None
        self.hicon = None
        self.refresh_icon()
        self.notices_menu = win32gui.CreateMenu()
        self.status_menu = self._create_status_menu()
        self.notice_index = -1
Beispiel #6
0
 def test_resource_path(self):
     rv = resource_path("path1")
     print(rv)
     self.assertTrue(rv.endswith("path1"))
Beispiel #7
0
# -*- coding: utf-8 -*-
from __future__ import print_function, division, absolute_import

import logging
import hashlib
try:
    from urllib2 import parse_http_list as _parse_list_header
except ImportError:  # pragma: no cover
    from urllib.request import parse_http_list as _parse_list_header
from ava.util import resource_path

static_folder = resource_path('static')

logger = logging.getLogger(__name__)

_ext_to_media_type = {
    '.jpg': 'image/jpeg',
    '.png': 'image/png',
    '.ico': 'image/vnd.microsoft.icon',
    '.svg': 'image/svg+xml',
    '.txt': 'text/plain',
    '.html': 'text/html; charset=utf-8',
    '.css': 'text/css',
    '.js': 'application/javascript',
    '.json': 'application/json',
}

_default_media_type = 'application/octet-stream'


def calc_etag(content):
Beispiel #8
0
 def test_resource_path(self):
     rv = resource_path("path1")
     print(rv)
     self.assertTrue(rv.endswith("path1"))
Beispiel #9
0
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals

"""
Imports utility functions from Bottle for exposing web resource.
"""
import os
from ava.util import resource_path

from bottle import route, get, post, delete, put, request, response
from bottle import static_file as _static_file
from ava.core.webfront import dispatcher

static_folder = os.path.join(resource_path('home'), 'static')


def static_file(filepath, root=static_folder, mimetype='auto', download=False, charset='utf-8'):
    return _static_file(filepath, root=root, mimetype=mimetype, download=download, charset=charset)


__all__ = [route, get, post, delete, put, request, response,
           static_file, static_folder, dispatcher, ]

Beispiel #10
0
# -*- coding: utf-8 -*-
from __future__ import print_function, division, absolute_import

import os
import logging
import hashlib
try:
    from urllib2 import parse_http_list as _parse_list_header
except ImportError: # pragma: no cover
    from urllib.request import parse_http_list as _parse_list_header
from ava.util import resource_path


static_folder = resource_path('static')

logger = logging.getLogger(__name__)

_ext_to_media_type = {
    '.jpg': 'image/jpeg',
    '.png': 'image/png',
    '.ico': 'image/vnd.microsoft.icon',
    '.svg': 'image/svg+xml',
    '.txt': 'text/plain',
    '.html': 'text/html; charset=utf-8',
    '.css': 'text/css',
    '.js': 'application/javascript',
    '.json': 'application/json',
}

_default_media_type = 'application/octet-stream'