Exemplo n.º 1
0
 def _init_icon(self):
     """Return an icon pixbuf for this Stuff."""
     pixbuf = None
     # first, if it's an image, try to get a thumbnail.
     if self.generic_type == "image":
         thumbnail_path = \
             self._gfile_info.get_attribute_as_string('thumbnail::path')
         if thumbnail_path:
             thumbnail_path = thumbnail_path.replace('/normal/', '/large/')
             if gio.File(thumbnail_path).query_exists():
                 thumbnail = gtk.Image()
                 thumbnail.set_from_file(thumbnail_path)
                 pixbuf = thumbnail.get_pixbuf()
     if not pixbuf:
         # thumbnail FAIL
         icon_theme = gtk.icon_theme_get_for_screen(gtk.gdk.Screen())
         names = self._gfile_info.get_icon().props.names
         for stock_name in names:
             try:
                 pixbuf = icon_theme.load_icon(stock_name, 48,
                                               gtk.ICON_LOOKUP_USE_BUILTIN)
                 break
             except glib.GError:
                 pass
         if not pixbuf:
             # just do what's guaranteed to work
             pixbuf = icon_theme.load_icon('text-x-generic', 48,
                                           gtk.ICON_LOOKUP_USE_BUILTIN)
     return pixbuf
Exemplo n.º 2
0
    def build_dnd(self):
        tv = self.tree_view

        # Set it as a drag source for exporting snippets
        tv.drag_source_set(gdk.BUTTON1_MASK, self.dnd_target_list,
                           gdk.ACTION_DEFAULT | gdk.ACTION_COPY)

        # Set it as a drag destination for importing snippets
        tv.drag_dest_set(gtk.DEST_DEFAULT_HIGHLIGHT | gtk.DEST_DEFAULT_DROP,
                         self.dnd_target_list,
                         gdk.ACTION_DEFAULT | gdk.ACTION_COPY)

        tv.connect('drag_data_get', self.on_tree_view_drag_data_get)
        tv.connect('drag_begin', self.on_tree_view_drag_begin)
        tv.connect('drag_end', self.on_tree_view_drag_end)
        tv.connect('drag_data_received', self.on_tree_view_drag_data_received)
        tv.connect('drag_motion', self.on_tree_view_drag_motion)

        theme = gtk.icon_theme_get_for_screen(tv.get_screen())

        self.dnd_name = None
        for name in self.drag_icons:
            icon = theme.lookup_icon(name, gtk.ICON_SIZE_DND, 0)

            if icon:
                self.dnd_name = name
                break
    def __init__ (self, treeview, lockdownbutton):
        self.notify_id = None
        self.key = "/apps/panel/global/disabled_applets"
        self.disabled_applets = None

        self.liststore = gtk.ListStore (str, str, str, gtk.gdk.Pixbuf, bool)
        self.liststore.set_sort_column_id (self.COLUMN_NAME, gtk.SORT_ASCENDING)

        self.treeview = treeview
        self.treeview.get_selection ().set_mode (gtk.SELECTION_SINGLE)
        self.treeview.set_model (self.liststore)
        self.treeview.connect ("screen-changed", self.__on_screen_changed)
        self.treeview.connect ("destroy", self.__on_destroyed)

        self.lockdownbutton = lockdownbutton
        self.lockdownbutton.connect ("toggled",
                                     self.__on_lockdownbutton_toggled)

        screen = self.treeview.get_screen ()
        self.icon_theme = gtk.icon_theme_get_for_screen (screen)

        self.icon_theme.connect ("changed", self.__on_icontheme_changed)

        self.__fill_liststore ()
        self.__create_columns ()

        (list, mandatory) = globalvar.applier.get_list (self.key,
                                                        gconf.VALUE_STRING)
        self.disabled_applets = set (list)
        self.__update_toggles ()
        self.lockdownbutton.set (mandatory)
        self.notify_id = globalvar.applier.notify_add (self.key,
                                                       self.__on_notified)
Exemplo n.º 4
0
    def tab_get_icon(self, tab):
        theme = gtk.icon_theme_get_for_screen(tab.get_screen())
        icon_size_width, icon_size_height = gtk.icon_size_lookup_for_settings(
            tab.get_settings(), gtk.ICON_SIZE_MENU)
        state = tab.get_state()

        if state in self.TAB_STATE_TO_ICON:
            try:
                pixbuf = self.get_stock_icon(theme,
                                             self.TAB_STATE_TO_ICON[state],
                                             icon_size_height)
            except glib.GError:
                pixbuf = None
        else:
            pixbuf = None

        if not pixbuf:
            uri = tab.get_document().get_uri()
            if uri:
                location = gio.File(uri)
            else:
                location = None
            pixbuf = self.get_icon(theme, location, icon_size_height)

        return pixbuf
Exemplo n.º 5
0
        def build_dnd(self):
                tv = self.tree_view
                
                # Set it as a drag source for exporting snippets
                tv.drag_source_set(gdk.BUTTON1_MASK, self.dnd_target_list, gdk.ACTION_DEFAULT | gdk.ACTION_COPY)
                
                # Set it as a drag destination for importing snippets
                tv.drag_dest_set(gtk.DEST_DEFAULT_HIGHLIGHT | gtk.DEST_DEFAULT_DROP, 
                                 self.dnd_target_list, gdk.ACTION_DEFAULT | gdk.ACTION_COPY)
                
                tv.connect('drag_data_get', self.on_tree_view_drag_data_get)
                tv.connect('drag_begin', self.on_tree_view_drag_begin)
                tv.connect('drag_end', self.on_tree_view_drag_end)
                tv.connect('drag_data_received', self.on_tree_view_drag_data_received)
                tv.connect('drag_motion', self.on_tree_view_drag_motion)

                theme = gtk.icon_theme_get_for_screen(tv.get_screen())
                
                self.dnd_name = None
                for name in self.drag_icons:
                        icon = theme.lookup_icon(name, gtk.ICON_SIZE_DND, 0)
                        
                        if icon:
                                self.dnd_name = name
                                break
Exemplo n.º 6
0
Arquivo: tab.py Projeto: jhasse/taluka
	def _get_icon(self):
		screen = self.get_screen()

		theme = gtk.icon_theme_get_for_screen(screen)
		if theme == None:
			return None

		icon_size = gtk.icon_size_lookup_for_settings(self.get_settings(), gtk.ICON_SIZE_MENU)[1]

		if self._state == TAB_STATE_LOADING:
			pixbuf = get_stock_icon(theme, gtk.STOCK_OPEN, icon_size)
		elif self._state == TAB_STATE_REVERTING:
			pixbuf = get_stock_icon (theme, gtk.STOCK_REVERT_TO_SAVED, icon_size)
		elif self._state == TAB_STATE_SAVING:
			pixbuf = get_stock_icon(theme, gtk.STOCK_SAVE, icon_size)
		elif self._state == TAB_STATE_PRINTING:
			pixbuf = get_stock_icon(theme, gtk.STOCK_PRINT, icon_size)
		elif self._state == TAB_STATE_PRINT_PREVIEWING or self._state == TAB_STATE_SHOWING_PRINT_PREVIEW:
			pixbuf = get_stock_icon (theme, gtk.STOCK_PRINT_PREVIEW, icon_size)
		elif self._state == TAB_STATE_LOADING_ERROR or \
		     self._state == TAB_STATE_REVERTING_ERROR or \
		     self._state == TAB_STATE_SAVING_ERROR or \
		     self._state == TAB_STATE_GENERIC_ERROR:
			pixbuf = get_stock_icon (theme, gtk.STOCK_DIALOG_ERROR, icon_size)
		elif self._state == TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION:
			pixbuf = get_stock_icon(theme, GTK_STOCK_DIALOG_WARNING, icon_size)
		else:
			doc = self.get_document()

			raw_uri = doc.get_uri()
			mime_type = doc.get_mime_type()

			pixbuf = get_icon(theme, raw_uri, mime_type, icon_size)

		return pixbuf
Exemplo n.º 7
0
 def __get_pixbuf_from_icon_name(self, name, size=16):
     screen = self.get_screen()
     icon_theme = gtk.icon_theme_get_for_screen(screen)
     icon_info = icon_theme.lookup_icon(name, size, 0)
     if not icon_info:
         return None
     filename = icon_info.get_filename()
     if not filename or not os.path.exists(filename):
         return None
     pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
     if icon_info.get_base_size() != size:
         pixbuf = pixbuf.scale_simple(size, size, gtk.gdk.INTERP_TILES)
     return pixbuf
Exemplo n.º 8
0
def get_icon(name, size=32, flags=0):
    """gets icon from gtk.IconTheme return Pixbuf

    Arguments:
    - `name`: icon name
    - `size`: icon size
    - `flags`: the flags modifying the behavior of the icon lookup
    """
    it = gtk.icon_theme_get_for_screen(gtk.gdk.Screen())
    try:
        return it.load_icon(name, size, flags)
    except gobject.GError, e:
        open_error_dialog(unicode(e))
 def __get_pixbuf_from_icon_name(self, name, size=16):
     screen = self.get_screen()
     icon_theme = gtk.icon_theme_get_for_screen(screen)
     icon_info = icon_theme.lookup_icon(name, size, 0)
     if not icon_info:
         return None
     filename = icon_info.get_filename()
     if not filename or not os.path.exists(filename):
         return None
     pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
     if icon_info.get_base_size() != size:
         pixbuf = pixbuf.scale_simple(size, size, gtk.gdk.INTERP_TILES)
     return pixbuf
Exemplo n.º 10
0
    def make_pixbuf(self):
        pixbuf = None

        if self.icon:
            pixbuf = self.icon
        elif self.iconName:
            # Determine icon theme for the current screen
            screen = self.get_screen()
            theme = gtk.icon_theme_get_for_screen(screen)

            # Load pixbuf
            pixbuf = theme.load_icon(self.iconName, self.ICON_SIZE,
                    gtk.ICON_LOOKUP_USE_BUILTIN)

        return pixbuf
	def tab_get_icon(self, tab):
		theme = gtk.icon_theme_get_for_screen(tab.get_screen())
		icon_size_width, icon_size_height = gtk.icon_size_lookup_for_settings(tab.get_settings(), gtk.ICON_SIZE_MENU)
		state = tab.get_state()

		if state in self.TAB_STATE_TO_ICON:
			try:
				pixbuf = self.get_stock_icon(theme, self.TAB_STATE_TO_ICON[state], icon_size_height)
			except glib.GError:
				pixbuf = None
		else:
			pixbuf = None

		if not pixbuf:
			uri = tab.get_document().get_uri()
			if uri:
				location = gio.File(uri)
			else:
				location = None
			pixbuf = self.get_icon(theme, location, icon_size_height)

		return pixbuf
Exemplo n.º 12
0
    def _get_icon(self):
        screen = self.get_screen()

        theme = gtk.icon_theme_get_for_screen(screen)
        if theme == None:
            return None

        icon_size = gtk.icon_size_lookup_for_settings(self.get_settings(),
                                                      gtk.ICON_SIZE_MENU)[1]

        if self._state == TAB_STATE_LOADING:
            pixbuf = get_stock_icon(theme, gtk.STOCK_OPEN, icon_size)
        elif self._state == TAB_STATE_REVERTING:
            pixbuf = get_stock_icon(theme, gtk.STOCK_REVERT_TO_SAVED,
                                    icon_size)
        elif self._state == TAB_STATE_SAVING:
            pixbuf = get_stock_icon(theme, gtk.STOCK_SAVE, icon_size)
        elif self._state == TAB_STATE_PRINTING:
            pixbuf = get_stock_icon(theme, gtk.STOCK_PRINT, icon_size)
        elif self._state == TAB_STATE_PRINT_PREVIEWING or self._state == TAB_STATE_SHOWING_PRINT_PREVIEW:
            pixbuf = get_stock_icon(theme, gtk.STOCK_PRINT_PREVIEW, icon_size)
        elif self._state == TAB_STATE_LOADING_ERROR or \
             self._state == TAB_STATE_REVERTING_ERROR or \
             self._state == TAB_STATE_SAVING_ERROR or \
             self._state == TAB_STATE_GENERIC_ERROR:
            pixbuf = get_stock_icon(theme, gtk.STOCK_DIALOG_ERROR, icon_size)
        elif self._state == TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION:
            pixbuf = get_stock_icon(theme, GTK_STOCK_DIALOG_WARNING, icon_size)
        else:
            doc = self.get_document()

            raw_uri = doc.get_uri()
            mime_type = doc.get_mime_type()

            pixbuf = get_icon(theme, raw_uri, mime_type, icon_size)

        return pixbuf
Exemplo n.º 13
0
 def screen_changed(self, widget, old_screen):
     if old_screen:
         self.icon_theme.disconnect(self.tc_id)
     self.icon_theme = gtk.icon_theme_get_for_screen(self.get_screen())
     self.tc_id = self.icon_theme.connect('changed', self.theme_changed)
     self.theme_changed(self.icon_theme)
Exemplo n.º 14
0
def get_icon_theme(widget):

    if gtk.widget_has_screen(widget):
        return gtk.icon_theme_get_for_screen(gtk.widget_get_screen(widget))
    return gtk.icon_theme_get_default()
Exemplo n.º 15
0
import abc
import datetime
import os

import gio
import glib
import gtk

from xml.sax import saxutils

from fluidity import defs
from fluidity import utils


ICON_THEME = gtk.icon_theme_get_for_screen(gtk.gdk.Screen())
ALERT_ICON_PIXBUF = ICON_THEME.load_icon('gtk-dialog-warning', 16,
                                         gtk.ICON_LOOKUP_USE_BUILTIN)
FAKE_ICON_PIXBUF = gtk.gdk.pixbuf_new_from_file(
                           os.path.join(defs.APP_DATA_PATH, '16x16_trans.png'))
NOTE_ICON_PIXBUF = ICON_THEME.load_icon('text-x-generic', 16,
                                        gtk.ICON_LOOKUP_USE_BUILTIN)
URL_ICON_PIXBUF = ICON_THEME.load_icon('emblem-web', 16,
                                        gtk.ICON_LOOKUP_USE_BUILTIN)

ENERGY_LABELS_TO_VALUES = {"High": 2, "Normal": 1, "Low": 0}
ENERGY_VALUES_TO_LABELS = utils.invert_dict(ENERGY_LABELS_TO_VALUES)
PRIORITY_LABELS_TO_VALUES = {"High": 1, "Normal": 2, "Low": 3}
PRIORITY_VALUES_TO_LABELS = utils.invert_dict(PRIORITY_LABELS_TO_VALUES)

Exemplo n.º 16
0
def pixbufNewFromIcon(stockId, size):
    '''Create pixbuf from given id and size.'''
    iconTheme = gtk.icon_theme_get_for_screen(gtk.gdk.screen_get_default())
    return iconTheme.load_icon(stockId, size, gtk.ICON_LOOKUP_USE_BUILTIN)
Exemplo n.º 17
0
    def __init__(self):
        threads_enter()
        gobject.type_register(VideoWidget)
        gobject.type_register(ShowBox)
        gobject.type_register(Configer)
        gobject.type_register(DescriptionWindow)
        gobject.type_register(SearchBar)
        
        locale.setlocale(locale.LC_ALL,locale.getdefaultlocale())
        
        factory=gtk.IconFactory()
        try:
            f=self.get_resource('pixmaps/bookmark.png')
            loader=gtk.gdk.PixbufLoader()
            loader.write(f.read())
            f.close()
            factory.add(self.STOCK_BOOKMARK,gtk.IconSet(loader.get_pixbuf()))
            loader.close()
        except:
            raise
        factory.add_default()
        gtk.stock_add(((self.STOCK_BOOKMARK, "_Bookmarks", gtk.gdk.CONTROL_MASK, gtk.gdk.keyval_from_name('B'), "youtube-show",),))
        
        self.userDir=UserDir()
        self.config=Config(self.userDir.get_conf_file())
        self.config.load()
        self.bookmarks=Bookmarks.Bookmarks(self.userDir.get_file('bookmarks'))
        self.bookmarks.load()
        self.caches=YoutubeConnector.CacheSaver(self.userDir.get_file('caches.txt'))

        self.cookies=CookieJar()
        self.downloader=urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookies))
        self.ytsearcher = YoutubeConnector.YTSearcher(self.downloader)
        self.ytconnector = YoutubeConnector.YTConnector(self.downloader, self.caches)
        
        self.searching = threading.Event()
        self.is_fullscreen=False
        self.history=History()
        
        self.viewer = Viewer.Viewer()
        self.win = gtk.Window(gtk.WINDOW_TOPLEVEL)
        if not self.win:
            raise RuntimeError()
        self.win.connect('delete_event', self.cleanup)
        self.win.connect('destroy', self.destroy)
        self.win.connect('key_press_event', self.on_key_press)
        self.win.connect_object('window-state-event', self.on_window_state_change,self)

        self.build_menu_bar()
        
        self.build_tool_bar()
        self.showbox = ShowBox()
        self.showbox.connect('scroll-end-event', self.do_next_search)
        self.showbox.show()
        self.statusbar = gtk.Statusbar()
        self.statusbar.show()
        self.progressbar = gtk.ProgressBar()
        self.statusbar.add(self.progressbar)
        
        self.align = gtk.VBox()
        self.align.pack_start(self.menubar, expand=False, fill=True)
        self.align.pack_start(self.toolbar, expand=False, fill=True)
        self.align.pack_start(self.showbox, expand=True, fill=True)
        self.align.pack_start(self.statusbar, expand=False, fill=True)

        self.statusbar.push(1, 'Ready')
        self.apply_config()
        self.align.show()
        self.win.add(self.align)
        self.win.set_title("youtube-show")
    
        theme=gtk.icon_theme_get_for_screen(gtk.gdk.screen_get_default())
        try:
            icon=theme.load_icon('youtube_show',48,0)
            self.win.set_icon(icon)
        except:
            try:
                with self.get_resource('pixmaps/youtube-show.png') as iconfile:
                    loader=gdk.PixbufLoader()
                    loader.write(iconfile.read())
                    self.win.set_icon(loader.get_pixbuf())
                    loader.close()
            except:
                pass
        
        w,h=self.config['size']
        if w>-1 and h>-1:
            self.win.resize(w,h)
        else:
            self.win.resize(500, 600)
        self.win.show()
        threads_leave()
Exemplo n.º 18
0
def pixbufNewFromIcon(stockId, size):
    '''Create pixbuf from given id and size.'''
    iconTheme = gtk.icon_theme_get_for_screen(gtk.gdk.screen_get_default())
    return iconTheme.load_icon(stockId, size, gtk.ICON_LOOKUP_USE_BUILTIN)
Exemplo n.º 19
0
 def __on_screen_changed (self, widget, screen):
     self.icon_theme = gtk.icon_theme_get_for_screen (screen)
     self.__on_icontheme_changed (self.icon_theme)
Exemplo n.º 20
0
    def __init__(self):
        threads_enter()
        gobject.type_register(VideoWidget)
        gobject.type_register(ShowBox)
        gobject.type_register(Configer)
        gobject.type_register(DescriptionWindow)
        gobject.type_register(SearchBar)

        locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())

        factory = gtk.IconFactory()
        try:
            f = self.get_resource('pixmaps/bookmark.png')
            loader = gtk.gdk.PixbufLoader()
            loader.write(f.read())
            f.close()
            factory.add(self.STOCK_BOOKMARK, gtk.IconSet(loader.get_pixbuf()))
            loader.close()
        except:
            raise
        factory.add_default()
        gtk.stock_add(((
            self.STOCK_BOOKMARK,
            "_Bookmarks",
            gtk.gdk.CONTROL_MASK,
            gtk.gdk.keyval_from_name('B'),
            "youtube-show",
        ), ))

        self.userDir = UserDir()
        self.config = Config(self.userDir.get_conf_file())
        self.config.load()
        self.bookmarks = Bookmarks.Bookmarks(
            self.userDir.get_file('bookmarks'))
        self.bookmarks.load()
        self.caches = YoutubeConnector.CacheSaver(
            self.userDir.get_file('caches.txt'))

        self.cookies = CookieJar()
        self.downloader = urllib2.build_opener(
            urllib2.HTTPCookieProcessor(self.cookies))
        self.ytsearcher = YoutubeConnector.YTSearcher(self.downloader)
        self.ytconnector = YoutubeConnector.YTConnector(
            self.downloader, self.caches)

        self.searching = threading.Event()
        self.is_fullscreen = False
        self.history = History()

        self.viewer = Viewer.Viewer()
        self.win = gtk.Window(gtk.WINDOW_TOPLEVEL)
        if not self.win:
            raise RuntimeError()
        self.win.connect('delete_event', self.cleanup)
        self.win.connect('destroy', self.destroy)
        self.win.connect('key_press_event', self.on_key_press)
        self.win.connect_object('window-state-event',
                                self.on_window_state_change, self)

        self.build_menu_bar()

        self.build_tool_bar()
        self.showbox = ShowBox()
        self.showbox.connect('scroll-end-event', self.do_next_search)
        self.showbox.show()
        self.statusbar = gtk.Statusbar()
        self.statusbar.show()
        self.progressbar = gtk.ProgressBar()
        self.statusbar.add(self.progressbar)

        self.align = gtk.VBox()
        self.align.pack_start(self.menubar, expand=False, fill=True)
        self.align.pack_start(self.toolbar, expand=False, fill=True)
        self.align.pack_start(self.showbox, expand=True, fill=True)
        self.align.pack_start(self.statusbar, expand=False, fill=True)

        self.statusbar.push(1, 'Ready')
        self.apply_config()
        self.align.show()
        self.win.add(self.align)
        self.win.set_title("youtube-show")

        theme = gtk.icon_theme_get_for_screen(gtk.gdk.screen_get_default())
        try:
            icon = theme.load_icon('youtube_show', 48, 0)
            self.win.set_icon(icon)
        except:
            try:
                with self.get_resource('pixmaps/youtube-show.png') as iconfile:
                    loader = gdk.PixbufLoader()
                    loader.write(iconfile.read())
                    self.win.set_icon(loader.get_pixbuf())
                    loader.close()
            except:
                pass

        w, h = self.config['size']
        if w > -1 and h > -1:
            self.win.resize(w, h)
        else:
            self.win.resize(500, 600)
        self.win.show()
        threads_leave()
Exemplo n.º 21
0
	def screen_changed (self, widget, old_screen):
		if old_screen:
			self.icon_theme.disconnect (self.tc_id)
		self.icon_theme = gtk.icon_theme_get_for_screen (self.get_screen ())
		self.tc_id = self.icon_theme.connect ('changed', self.theme_changed)
		self.theme_changed (self.icon_theme)
Exemplo n.º 22
0
__author__ = 'Jens Knutson'

import abc
import datetime
import os

import gio
import glib
import gtk

from xml.sax import saxutils

from fluidity import defs
from fluidity import utils

ICON_THEME = gtk.icon_theme_get_for_screen(gtk.gdk.Screen())
ALERT_ICON_PIXBUF = ICON_THEME.load_icon('gtk-dialog-warning', 16,
                                         gtk.ICON_LOOKUP_USE_BUILTIN)
FAKE_ICON_PIXBUF = gtk.gdk.pixbuf_new_from_file(
    os.path.join(defs.APP_DATA_PATH, '16x16_trans.png'))
NOTE_ICON_PIXBUF = ICON_THEME.load_icon('text-x-generic', 16,
                                        gtk.ICON_LOOKUP_USE_BUILTIN)
URL_ICON_PIXBUF = ICON_THEME.load_icon('emblem-web', 16,
                                       gtk.ICON_LOOKUP_USE_BUILTIN)

ENERGY_LABELS_TO_VALUES = {"High": 2, "Normal": 1, "Low": 0}
ENERGY_VALUES_TO_LABELS = utils.invert_dict(ENERGY_LABELS_TO_VALUES)
PRIORITY_LABELS_TO_VALUES = {"High": 1, "Normal": 2, "Low": 3}
PRIORITY_VALUES_TO_LABELS = utils.invert_dict(PRIORITY_LABELS_TO_VALUES)

Exemplo n.º 23
0
def get_icon_theme (widget):

    if gtk.widget_has_screen (widget):
	return gtk.icon_theme_get_for_screen (gtk.widget_get_screen (widget))
    return gtk.icon_theme_get_default ();